diff options
author | Cosimo Cecchi <cosimoc@gnome.org> | 2012-07-14 17:16:42 -0400 |
---|---|---|
committer | Cosimo Cecchi <cosimoc@gnome.org> | 2012-07-14 17:16:42 -0400 |
commit | 9ed2b3b206bec8aea0614e698e3348a2b4f4cb63 (patch) | |
tree | fef7219d2e33ba18821fa151e2dd8406b93544e2 | |
parent | b6d0261485934dd9ecbf8d72e4d1232d4199d7cb (diff) | |
download | nautilus-9ed2b3b206bec8aea0614e698e3348a2b4f4cb63.tar.gz |
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()
-rw-r--r-- | src/nautilus-query-editor.c | 81 | ||||
-rw-r--r-- | src/nautilus-query-editor.h | 5 | ||||
-rw-r--r-- | 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 6f67fb975..40c866a81 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 cc3bf1f15..d2e30f363 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 0fbfb9d3d..033fb2f8e 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); } } |