[anjuta] document-manager: Add search_box to document manager box directly.
- From: Sebastien Granjoux <sgranjoux src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [anjuta] document-manager: Add search_box to document manager box directly.
- Date: Sun, 18 Nov 2012 09:20:48 +0000 (UTC)
commit 6196012d38a46ef01a8ba8b07c7ebee16da8a4b9
Author: Carl-Anton Ingmarsson <ca ingmarsson gmail com>
Date: Fri Nov 16 13:13:44 2012 +0100
document-manager: Add search_box to document manager box directly.
This is now possible since the shell doesn't call gtk_widget_show_all on plugin widgets
anymore.
https://bugzilla.gnome.org/show_bug.cgi?id=688460
plugins/document-manager/action-callbacks.c | 43 ++++-----------------------
plugins/document-manager/plugin.c | 10 +++---
plugins/document-manager/search-box.c | 5 ++-
3 files changed, 14 insertions(+), 44 deletions(-)
---
diff --git a/plugins/document-manager/action-callbacks.c b/plugins/document-manager/action-callbacks.c
index e2fc51f..ce00180 100644
--- a/plugins/document-manager/action-callbacks.c
+++ b/plugins/document-manager/action-callbacks.c
@@ -705,11 +705,6 @@ on_goto_line_no1_activate (GtkAction *action, gpointer user_data)
plugin = ANJUTA_PLUGIN_DOCMAN (user_data);
- if (!gtk_widget_get_parent (plugin->search_box))
- {
- gtk_box_pack_end (GTK_BOX (plugin->vbox), plugin->search_box, FALSE, FALSE, 0);
- }
-
gtk_widget_show (plugin->search_box);
search_box_grab_line_focus (SEARCH_BOX (plugin->search_box));
}
@@ -779,8 +774,6 @@ on_show_search (GtkAction *action, gpointer user_data)
plugin = ANJUTA_PLUGIN_DOCMAN (user_data);
search_box = plugin->search_box;
- if (!gtk_widget_get_parent (search_box))
- gtk_box_pack_end (GTK_BOX (plugin->vbox), search_box, FALSE, FALSE, 0);
search_box_fill_search_focus (SEARCH_BOX (search_box), FALSE);
gtk_widget_show (search_box);
@@ -795,11 +788,8 @@ on_repeat_quicksearch (GtkAction *action, gpointer user_data)
plugin = ANJUTA_PLUGIN_DOCMAN (user_data);
search_box = plugin->search_box;
- if (!gtk_widget_get_parent (search_box))
- gtk_box_pack_end (GTK_BOX (plugin->vbox), search_box, FALSE, FALSE, 0);
- if (!gtk_widget_get_visible (search_box))
- gtk_widget_show (search_box);
+ gtk_widget_show (search_box);
search_box_incremental_search (SEARCH_BOX (search_box), TRUE, TRUE);
}
@@ -812,11 +802,8 @@ on_search_previous (GtkAction *action, gpointer user_data)
plugin = ANJUTA_PLUGIN_DOCMAN (user_data);
search_box = plugin->search_box;
- if (!gtk_widget_get_parent (search_box))
- gtk_box_pack_end (GTK_BOX (plugin->vbox), search_box, FALSE, FALSE, 0);
- if (!gtk_widget_get_visible (search_box))
- gtk_widget_show (search_box);
+ gtk_widget_show (search_box);
search_box_incremental_search (SEARCH_BOX (search_box), FALSE, TRUE);
}
@@ -829,8 +816,6 @@ on_search_and_replace (GtkAction *action, gpointer user_data)
plugin = ANJUTA_PLUGIN_DOCMAN (user_data);
search_box = plugin->search_box;
- if (!gtk_widget_get_parent (search_box))
- gtk_box_pack_end (GTK_BOX (plugin->vbox), search_box, FALSE, FALSE, 0);
search_box_fill_search_focus (SEARCH_BOX (search_box), TRUE);
gtk_widget_show (search_box);
@@ -847,12 +832,8 @@ on_search_popup_case_sensitive_toggle (GtkAction *action, gpointer user_data)
plugin = ANJUTA_PLUGIN_DOCMAN (user_data);
search_box = plugin->search_box;
- if (!gtk_widget_get_parent (search_box))
- gtk_box_pack_end (GTK_BOX (plugin->vbox), search_box, FALSE, FALSE, 0);
-
- if (!gtk_widget_get_visible (search_box))
- gtk_widget_show (search_box);
+ gtk_widget_show (search_box);
search_box_toggle_case_sensitive (SEARCH_BOX (search_box), case_sensitive_status);
}
@@ -866,12 +847,8 @@ on_search_popup_highlight_toggle (GtkAction *action, gpointer user_data)
plugin = ANJUTA_PLUGIN_DOCMAN (user_data);
search_box = plugin->search_box;
- if (!gtk_widget_get_parent (search_box))
- gtk_box_pack_end (GTK_BOX (plugin->vbox), search_box, FALSE, FALSE, 0);
-
- if (!gtk_widget_get_visible (search_box))
- gtk_widget_show (search_box);
+ gtk_widget_show (search_box);
search_box_toggle_highlight (SEARCH_BOX (search_box), highlight_status);
}
@@ -884,12 +861,8 @@ on_search_popup_clear_highlight (GtkAction *action, gpointer user_data)
plugin = ANJUTA_PLUGIN_DOCMAN (user_data);
search_box = plugin->search_box;
- if (!gtk_widget_get_parent (search_box))
- gtk_box_pack_end (GTK_BOX (plugin->vbox), search_box, FALSE, FALSE, 0);
-
- if (!gtk_widget_get_visible (search_box))
- gtk_widget_show (search_box);
+ gtk_widget_show (search_box);
search_box_clear_highlight (SEARCH_BOX (search_box));
}
@@ -903,12 +876,8 @@ on_search_popup_regex_search (GtkAction *action, gpointer user_data)
plugin = ANJUTA_PLUGIN_DOCMAN (user_data);
search_box = plugin->search_box;
- if (!gtk_widget_get_parent (search_box))
- gtk_box_pack_end (GTK_BOX (plugin->vbox), search_box, FALSE, FALSE, 0);
-
- if (!gtk_widget_get_visible (search_box))
- gtk_widget_show (search_box);
+ gtk_widget_show (search_box);
search_box_toggle_regex (SEARCH_BOX (search_box), regex_active);
}
diff --git a/plugins/document-manager/plugin.c b/plugins/document-manager/plugin.c
index 7bd4bd7..e6f61d9 100644
--- a/plugins/document-manager/plugin.c
+++ b/plugins/document-manager/plugin.c
@@ -1661,6 +1661,11 @@ activate_plugin (AnjutaPlugin *plugin)
dplugin->vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0);
gtk_widget_show (dplugin->vbox);
gtk_box_pack_start (GTK_BOX(dplugin->vbox), docman, TRUE, TRUE, 0);
+
+ /* Create the default searchbox instance. */
+ dplugin->search_box = search_box_new (ANJUTA_DOCMAN (docman));
+ gtk_box_pack_end (GTK_BOX (dplugin->vbox), dplugin->search_box, FALSE, FALSE, 0);
+
anjuta_shell_add_widget_full (plugin->shell, dplugin->vbox,
"AnjutaDocumentManager", _("Documents"),
"editor-plugin-icon",
@@ -1670,10 +1675,6 @@ activate_plugin (AnjutaPlugin *plugin)
ui_give_shorter_names (plugin);
update_document_ui (plugin, NULL);
-
- /* Create the default searchbox instance, but don't yet put it into
- dplugin->vbox, to prevent the box being displayed at session start */
- dplugin->search_box = search_box_new (ANJUTA_DOCMAN (docman));
/* Setup popup menu */
popup_menu = gtk_ui_manager_get_widget (GTK_UI_MANAGER (ui),
@@ -1738,7 +1739,6 @@ deactivate_plugin (AnjutaPlugin *plugin)
/* Widget is removed from the container when destroyed */
gtk_widget_destroy (eplugin->docman);
- gtk_widget_destroy (eplugin->search_box); /* the default searchbox instance may still be unparented */
g_object_unref (eplugin->bookmarks);
anjuta_ui_unmerge (ui, eplugin->uiid);
node = eplugin->action_groups;
diff --git a/plugins/document-manager/search-box.c b/plugins/document-manager/search-box.c
index 9359b77..c2ada5c 100644
--- a/plugins/document-manager/search-box.c
+++ b/plugins/document-manager/search-box.c
@@ -1055,9 +1055,10 @@ search_box_init (SearchBox *search_box)
gtk_container_set_focus_chain (GTK_CONTAINER (search_box->priv->grid),
focus_chain);
g_list_free (focus_chain);
-
+
+ /* Show all children but keep the top box hidden. */
gtk_widget_show_all (GTK_WIDGET (search_box));
-
+ gtk_widget_hide (GTK_WIDGET (search_box));
}
static void
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]