summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCosimo Cecchi <cosimoc@gnome.org>2012-07-14 17:16:42 -0400
committerCosimo Cecchi <cosimoc@gnome.org>2012-07-14 17:16:42 -0400
commit9ed2b3b206bec8aea0614e698e3348a2b4f4cb63 (patch)
treefef7219d2e33ba18821fa151e2dd8406b93544e2
parentb6d0261485934dd9ecbf8d72e4d1232d4199d7cb (diff)
downloadnautilus-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.c81
-rw-r--r--src/nautilus-query-editor.h5
-rw-r--r--src/nautilus-window-slot.c11
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);
}
}