[nautilus] query-editor: cleanup code and remove unused methods



commit 9ed2b3b206bec8aea0614e698e3348a2b4f4cb63
Author: Cosimo Cecchi <cosimoc gnome org>
Date:   Sat Jul 14 17:16:42 2012 -0400

    query-editor: cleanup code and remove unused methods
    
    - streamline the code to use GtkWidget methods for visibility and focus
    - remove an unused method
    - merge nautilus_query_editor_clear_query() with
      nautilus_query_editor_set_query()

 src/nautilus-query-editor.c |   81 ++++++++++++++----------------------------
 src/nautilus-query-editor.h |    5 ---
 src/nautilus-window-slot.c  |   11 ++----
 3 files changed, 31 insertions(+), 66 deletions(-)
---
diff --git a/src/nautilus-query-editor.c b/src/nautilus-query-editor.c
index 6f67fb9..40c866a 100644
--- a/src/nautilus-query-editor.c
+++ b/src/nautilus-query-editor.c
@@ -263,6 +263,16 @@ nautilus_query_editor_draw (GtkWidget *widget,
 }
 
 static void
+nautilus_query_editor_grab_focus (GtkWidget *widget)
+{
+	NautilusQueryEditor *editor = NAUTILUS_QUERY_EDITOR (widget);
+
+	if (gtk_widget_get_visible (widget)) {
+		entry_focus_hack (editor->details->entry, gtk_get_current_event_device ());
+	}
+}
+
+static void
 nautilus_query_editor_class_init (NautilusQueryEditorClass *class)
 {
 	GObjectClass *gobject_class;
@@ -274,6 +284,7 @@ nautilus_query_editor_class_init (NautilusQueryEditorClass *class)
 
 	widget_class = GTK_WIDGET_CLASS (class);
 	widget_class->draw = nautilus_query_editor_draw;
+	widget_class->grab_focus = nautilus_query_editor_grab_focus;
 
 	signals[CHANGED] =
 		g_signal_new ("changed",
@@ -966,7 +977,6 @@ nautilus_query_editor_init (NautilusQueryEditor *editor)
 {
 	editor->details = G_TYPE_INSTANCE_GET_PRIVATE (editor, NAUTILUS_TYPE_QUERY_EDITOR,
 						       NautilusQueryEditorDetails);
-	editor->details->is_visible = FALSE;
 
 	gtk_style_context_add_class (gtk_widget_get_style_context (GTK_WIDGET (editor)),
 				     GTK_STYLE_CLASS_TOOLBAR);
@@ -976,16 +986,10 @@ nautilus_query_editor_init (NautilusQueryEditor *editor)
 	gtk_orientable_set_orientation (GTK_ORIENTABLE (editor), GTK_ORIENTATION_VERTICAL);
 
 	editor->details->vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 6);
-	gtk_widget_set_no_show_all (editor->details->vbox, TRUE);
 	gtk_container_set_border_width (GTK_CONTAINER (editor->details->vbox), 6);
 	gtk_box_pack_start (GTK_BOX (editor), editor->details->vbox,
 			    FALSE, FALSE, 0);
-}
-
-void
-nautilus_query_editor_set_default_query (NautilusQueryEditor *editor)
-{
-	nautilus_query_editor_changed (editor);
+	gtk_widget_show (editor->details->vbox);
 }
 
 static void
@@ -1060,18 +1064,6 @@ setup_widgets (NautilusQueryEditor *editor)
 	finish_first_line (editor, hbox, TRUE);
 }
 
-void
-nautilus_query_editor_set_visible (NautilusQueryEditor *editor,
-				   gboolean visible)
-{
-	editor->details->is_visible = visible;
-	if (visible) {
-		gtk_widget_show (editor->details->vbox);
-	} else {
-		gtk_widget_hide (editor->details->vbox);
-	}
-}
-
 static void
 nautilus_query_editor_changed_force (NautilusQueryEditor *editor, gboolean force_reload)
 {
@@ -1093,14 +1085,6 @@ nautilus_query_editor_changed (NautilusQueryEditor *editor)
 	nautilus_query_editor_changed_force (editor, TRUE);
 }
 
-void
-nautilus_query_editor_grab_focus (NautilusQueryEditor *editor)
-{
-	if (editor->details->is_visible) {
-		entry_focus_hack (editor->details->entry, gtk_get_current_event_device ());
-	}
-}
-
 static void
 add_location_to_query (NautilusQueryEditor *editor,
 		       NautilusQuery       *query)
@@ -1145,18 +1129,6 @@ nautilus_query_editor_get_query (NautilusQueryEditor *editor)
 	return query;
 }
 
-void
-nautilus_query_editor_clear_query (NautilusQueryEditor *editor)
-{
-	editor->details->change_frozen = TRUE;
-	gtk_entry_set_text (GTK_ENTRY (editor->details->entry), "");
-
-	g_free (editor->details->last_set_query_text);
-	editor->details->last_set_query_text = g_strdup ("");
-
-	editor->details->change_frozen = FALSE;
-}
-
 GtkWidget *
 nautilus_query_editor_new (void)
 {
@@ -1203,37 +1175,38 @@ nautilus_query_editor_set_location (NautilusQueryEditor *editor,
 }
 
 void
-nautilus_query_editor_set_query (NautilusQueryEditor *editor, NautilusQuery *query)
+nautilus_query_editor_set_query (NautilusQueryEditor	*editor,
+				 NautilusQuery		*query)
 {
 	NautilusQueryEditorRowType type;
-	char *text;
+	char *text = NULL;
 
-	if (!query) {
-		nautilus_query_editor_clear_query (editor);
-		return;
+	if (query != NULL) {
+		text = nautilus_query_get_text (query);
 	}
 
-	text = nautilus_query_get_text (query);
-
 	if (!text) {
 		text = g_strdup ("");
 	}
 
 	editor->details->change_frozen = TRUE;
-
 	gtk_entry_set_text (GTK_ENTRY (editor->details->entry), text);
 
 	g_free (editor->details->current_uri);
-	editor->details->current_uri = nautilus_query_get_location (query);
+	editor->details->current_uri = NULL;
 
-	update_location (editor);
+	if (query != NULL) {
+		editor->details->current_uri = nautilus_query_get_location (query);
+		update_location (editor);
 
-	for (type = 0; type < NAUTILUS_QUERY_EDITOR_ROW_LAST; type++) {
-		row_type[type].add_rows_from_query (editor, query);
+
+		for (type = 0; type < NAUTILUS_QUERY_EDITOR_ROW_LAST; type++) {
+			row_type[type].add_rows_from_query (editor, query);
+		}
 	}
-	
-	editor->details->change_frozen = FALSE;
 
 	g_free (editor->details->last_set_query_text);
 	editor->details->last_set_query_text = text;
+
+	editor->details->change_frozen = FALSE;
 }
diff --git a/src/nautilus-query-editor.h b/src/nautilus-query-editor.h
index cc3bf1f..d2e30f3 100644
--- a/src/nautilus-query-editor.h
+++ b/src/nautilus-query-editor.h
@@ -60,10 +60,7 @@ typedef struct {
 
 GType      nautilus_query_editor_get_type     	   (void);
 GtkWidget* nautilus_query_editor_new          	   (void);
-void       nautilus_query_editor_set_default_query (NautilusQueryEditor *editor);
 
-void	   nautilus_query_editor_grab_focus (NautilusQueryEditor *editor);
-void       nautilus_query_editor_clear_query (NautilusQueryEditor *editor);
 gboolean       nautilus_query_editor_handle_event (NautilusQueryEditor *editor,
 						   GdkEventKey         *event);
 
@@ -73,7 +70,5 @@ void           nautilus_query_editor_set_query   (NautilusQueryEditor *editor,
 GFile *        nautilus_query_editor_get_location (NautilusQueryEditor *editor);
 void           nautilus_query_editor_set_location (NautilusQueryEditor *editor,
 						   GFile               *location);
-void           nautilus_query_editor_set_visible (NautilusQueryEditor *editor,
-						  gboolean             visible);
 
 #endif /* NAUTILUS_QUERY_EDITOR_H */
diff --git a/src/nautilus-window-slot.c b/src/nautilus-window-slot.c
index 0fbfb9d..033fb2f 100644
--- a/src/nautilus-window-slot.c
+++ b/src/nautilus-window-slot.c
@@ -174,10 +174,10 @@ ensure_query_editor (NautilusWindowSlot *slot)
 {
 	g_assert (slot->query_editor != NULL);
 
-	gtk_widget_show (GTK_WIDGET (slot->query_editor));
-	nautilus_query_editor_grab_focus (slot->query_editor);
-
 	update_query_editor (slot);
+
+	gtk_widget_show (GTK_WIDGET (slot->query_editor));
+	gtk_widget_grab_focus (GTK_WIDGET (slot->query_editor));
 }
 
 void
@@ -186,9 +186,6 @@ nautilus_window_slot_set_query_editor_visible (NautilusWindowSlot *slot,
 {
 	if (visible) {
 		ensure_query_editor (slot);
-		gtk_widget_show (GTK_WIDGET (slot->query_editor));
-		nautilus_query_editor_set_visible (slot->query_editor, TRUE);
-		nautilus_query_editor_grab_focus (slot->query_editor);
 
 		if (slot->qe_changed_id == 0)
 			slot->qe_changed_id = g_signal_connect (slot->query_editor, "changed",
@@ -203,7 +200,7 @@ nautilus_window_slot_set_query_editor_visible (NautilusWindowSlot *slot,
 		slot->qe_changed_id = 0;
 		g_signal_handler_disconnect (slot->query_editor, slot->qe_cancel_id);
 		slot->qe_cancel_id = 0;
-		nautilus_query_editor_clear_query (slot->query_editor);
+		nautilus_query_editor_set_query (slot->query_editor, NULL);
 	}
 }
 



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]