[gnome-photos] embed, main-toolbar: Do not hide the searchbar if it has the focus
- From: Debarshi Ray <debarshir src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-photos] embed, main-toolbar: Do not hide the searchbar if it has the focus
- Date: Wed, 29 Jan 2014 13:42:38 +0000 (UTC)
commit 770366286115c2c8155ae9cb71a2033fc6f0cd05
Author: Debarshi Ray <debarshir gnome org>
Date: Wed Jan 29 14:11:24 2014 +0100
embed, main-toolbar: Do not hide the searchbar if it has the focus
src/photos-embed.c | 7 +++++--
src/photos-main-toolbar.c | 28 +++++++++++++++++++++++-----
2 files changed, 28 insertions(+), 7 deletions(-)
---
diff --git a/src/photos-embed.c b/src/photos-embed.c
index 2e7230c..c386bdd 100644
--- a/src/photos-embed.c
+++ b/src/photos-embed.c
@@ -342,8 +342,11 @@ photos_embed_notify_visible_child (PhotosEmbed *self)
if (mode == PHOTOS_WINDOW_MODE_NONE)
return;
- state = g_variant_new ("b", FALSE);
- g_action_change_state (priv->search_action, state);
+ if (!photos_main_toolbar_is_focus (PHOTOS_MAIN_TOOLBAR (priv->toolbar)))
+ {
+ state = g_variant_new ("b", FALSE);
+ g_action_change_state (priv->search_action, state);
+ }
photos_mode_controller_set_window_mode (priv->mode_cntrlr, mode);
}
diff --git a/src/photos-main-toolbar.c b/src/photos-main-toolbar.c
index 981a53d..92e178c 100644
--- a/src/photos-main-toolbar.c
+++ b/src/photos-main-toolbar.c
@@ -46,6 +46,7 @@
struct _PhotosMainToolbarPrivate
{
+ GAction *search;
GSimpleAction *gear_menu;
GtkWidget *coll_back_button;
GtkWidget *overlay;
@@ -336,7 +337,15 @@ photos_main_toolbar_clear_state_data (PhotosMainToolbar *self)
}
if (priv->searchbar != NULL && gtk_widget_get_parent (priv->searchbar) == GTK_WIDGET (self))
- gtk_container_remove (GTK_CONTAINER (self), priv->searchbar);
+ {
+ GVariant *state;
+
+ state = g_action_get_state (priv->search);
+ if (!g_variant_get_boolean (state))
+ gtk_container_remove (GTK_CONTAINER (self), priv->searchbar);
+
+ g_variant_unref (state);
+ }
if (priv->col_mngr != NULL)
g_signal_handlers_disconnect_by_func (priv->col_mngr, photos_main_toolbar_col_active_changed, self);
@@ -429,7 +438,9 @@ photos_main_toolbar_populate_for_collections (PhotosMainToolbar *self)
photos_header_bar_set_mode (PHOTOS_HEADER_BAR (priv->toolbar), PHOTOS_HEADER_BAR_MODE_NORMAL);
photos_main_toolbar_add_selection_button (self);
photos_main_toolbar_add_search_button (self);
- gtk_container_add (GTK_CONTAINER (self), priv->searchbar);
+
+ if (gtk_widget_get_parent (priv->searchbar) == NULL)
+ gtk_container_add (GTK_CONTAINER (self), priv->searchbar);
object = photos_base_manager_get_active_object (priv->col_mngr);
photos_main_toolbar_col_active_changed (priv->col_mngr, object, self);
@@ -464,7 +475,9 @@ photos_main_toolbar_populate_for_favorites (PhotosMainToolbar *self)
photos_header_bar_set_mode (PHOTOS_HEADER_BAR (priv->toolbar), PHOTOS_HEADER_BAR_MODE_NORMAL);
photos_main_toolbar_add_selection_button (self);
photos_main_toolbar_add_search_button (self);
- gtk_container_add (GTK_CONTAINER (self), priv->searchbar);
+
+ if (gtk_widget_get_parent (priv->searchbar) == NULL)
+ gtk_container_add (GTK_CONTAINER (self), priv->searchbar);
object = photos_base_manager_get_active_object (priv->col_mngr);
photos_main_toolbar_col_active_changed (priv->col_mngr, object, self);
@@ -481,7 +494,9 @@ photos_main_toolbar_populate_for_overview (PhotosMainToolbar *self)
photos_header_bar_set_mode (PHOTOS_HEADER_BAR (priv->toolbar), PHOTOS_HEADER_BAR_MODE_NORMAL);
photos_main_toolbar_add_selection_button (self);
photos_main_toolbar_add_search_button (self);
- gtk_container_add (GTK_CONTAINER (self), priv->searchbar);
+
+ if (gtk_widget_get_parent (priv->searchbar) == NULL)
+ gtk_container_add (GTK_CONTAINER (self), priv->searchbar);
object = photos_base_manager_get_active_object (priv->col_mngr);
photos_main_toolbar_col_active_changed (priv->col_mngr, object, self);
@@ -536,7 +551,9 @@ photos_main_toolbar_populate_for_search (PhotosMainToolbar *self)
photos_header_bar_set_mode (PHOTOS_HEADER_BAR (priv->toolbar), PHOTOS_HEADER_BAR_MODE_NORMAL);
photos_main_toolbar_add_selection_button (self);
photos_main_toolbar_add_search_button (self);
- gtk_container_add (GTK_CONTAINER (self), priv->searchbar);
+
+ if (gtk_widget_get_parent (priv->searchbar) == NULL)
+ gtk_container_add (GTK_CONTAINER (self), priv->searchbar);
object = photos_base_manager_get_active_object (priv->col_mngr);
photos_main_toolbar_col_active_changed (priv->col_mngr, object, self);
@@ -701,6 +718,7 @@ photos_main_toolbar_init (PhotosMainToolbar *self)
app = photos_application_new ();
priv->gear_menu = G_SIMPLE_ACTION (g_action_map_lookup_action (G_ACTION_MAP (app), "gear-menu"));
+ priv->search = g_action_map_lookup_action (G_ACTION_MAP (app), "search");
g_object_unref (app);
builder = gtk_builder_new ();
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]