[gtranslator] Connect search button with search revealer
- From: Daniel Garcia Moreno <danigm src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtranslator] Connect search button with search revealer
- Date: Wed, 11 May 2022 19:30:47 +0000 (UTC)
commit b80c95f3588829a10d82cb456997e97269ef1065
Author: Daniel GarcĂa Moreno <dani danigm net>
Date: Wed May 11 21:29:08 2022 +0200
Connect search button with search revealer
Fix https://gitlab.gnome.org/GNOME/gtranslator/-/issues/156
src/gtr-tab.c | 22 ++++++++++++++++++++++
src/gtr-tab.h | 1 +
src/gtr-window.c | 9 +++++++++
3 files changed, 32 insertions(+)
---
diff --git a/src/gtr-tab.c b/src/gtr-tab.c
index e317c464..d0179b6e 100644
--- a/src/gtr-tab.c
+++ b/src/gtr-tab.c
@@ -137,6 +137,7 @@ enum
MESSAGE_CHANGED,
MESSAGE_EDITION_FINISHED,
SELECTION_CHANGED,
+ SEARCHBAR_TOGGLED,
LAST_SIGNAL
};
@@ -626,6 +627,15 @@ emit_selection_changed (GtkTextBuffer * buf, GParamSpec * spec, GtrTab * tab)
g_signal_emit (G_OBJECT (tab), signals[SELECTION_CHANGED], 0);
}
+static void
+emit_searchbar_toggled (GtkRevealer *revealer,
+ GParamSpec *pspec,
+ GtrTab *tab)
+{
+ gboolean revealed = gtk_revealer_get_child_revealed (revealer);
+ g_signal_emit (G_OBJECT (tab), signals[SEARCHBAR_TOGGLED], 0, revealed);
+}
+
static void
update_status (GtrTab * tab, GtrMsg * msg, gpointer useless)
{
@@ -805,6 +815,9 @@ gtr_tab_init (GtrTab * tab)
g_signal_connect (priv->progress_eventbox, "button-press-event",
G_CALLBACK (show_hide_revealer), tab);
+
+ g_signal_connect (priv->search_revealer, "notify::child-revealed",
+ G_CALLBACK (emit_searchbar_toggled), tab);
}
static void
@@ -961,6 +974,15 @@ gtr_tab_class_init (GtrTabClass * klass)
g_cclosure_marshal_VOID__VOID,
G_TYPE_NONE, 0);
+ signals[SEARCHBAR_TOGGLED] =
+ g_signal_new ("searchbar-toggled",
+ G_OBJECT_CLASS_TYPE (klass),
+ G_SIGNAL_RUN_LAST,
+ G_STRUCT_OFFSET (GtrTabClass, searchbar_toggled),
+ NULL, NULL,
+ g_cclosure_marshal_VOID__BOOLEAN,
+ G_TYPE_NONE, 1, G_TYPE_BOOLEAN);
+
/* Properties */
g_object_class_install_property (object_class,
PROP_NAME,
diff --git a/src/gtr-tab.h b/src/gtr-tab.h
index 3f71c49a..22371636 100644
--- a/src/gtr-tab.h
+++ b/src/gtr-tab.h
@@ -68,6 +68,7 @@ struct _GtrTabClass
void (*message_changed) (GtrTab * tab, GtrMsg * msg);
void (*message_edition_finished) (GtrTab * tab, GtrMsg * msg);
void (*selection_changed) (GtrTab * tab);
+ void (*searchbar_toggled) (GtrTab * tab, gboolean revealed);
};
typedef enum
diff --git a/src/gtr-window.c b/src/gtr-window.c
index 954955d2..c24a737e 100644
--- a/src/gtr-window.c
+++ b/src/gtr-window.c
@@ -510,6 +510,13 @@ gtr_window_class_init (GtrWindowClass *klass)
gtk_widget_class_bind_template_child_private (GTK_WIDGET_CLASS (klass), GtrWindow, header_stack);
}
+static void
+searchbar_toggled (GtrTab * tab, gboolean revealed, GtrWindow *window)
+{
+ GtrWindowPrivate *priv = gtr_window_get_instance_private (window);
+ gtr_notebook_enable_find_button (GTR_NOTEBOOK (priv->notebook), revealed);
+}
+
/***************************** Public funcs ***********************************/
/**
@@ -549,6 +556,8 @@ gtr_window_create_tab (GtrWindow * window, GtrPo * po)
G_CALLBACK
(update_saved_state),
window);
+
+ g_signal_connect (tab, "searchbar-toggled", G_CALLBACK (searchbar_toggled), window);
return tab;
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]