diff options
author | Emilio Pozuelo Monfort <emilio.pozuelo@collabora.co.uk> | 2011-06-09 03:05:54 +0800 |
---|---|---|
committer | Emilio Pozuelo Monfort <emilio.pozuelo@collabora.co.uk> | 2011-06-09 17:20:09 +0800 |
commit | 523e8030211e4a0c84e3c5bec0c705818ca3c669 (patch) | |
tree | acd4ff3d52acf183b6bc2d5bd1ca141593bba25f /src/ev-sidebar.c | |
parent | d78ac0b3ee0d22b0b670216373e8b0db0b0479b0 (diff) | |
download | gsoc2013-empathy-523e8030211e4a0c84e3c5bec0c705818ca3c669.tar gsoc2013-empathy-523e8030211e4a0c84e3c5bec0c705818ca3c669.tar.gz gsoc2013-empathy-523e8030211e4a0c84e3c5bec0c705818ca3c669.tar.bz2 gsoc2013-empathy-523e8030211e4a0c84e3c5bec0c705818ca3c669.tar.lz gsoc2013-empathy-523e8030211e4a0c84e3c5bec0c705818ca3c669.tar.xz gsoc2013-empathy-523e8030211e4a0c84e3c5bec0c705818ca3c669.tar.zst gsoc2013-empathy-523e8030211e4a0c84e3c5bec0c705818ca3c669.zip |
EvSidebar: add a changed signal
Diffstat (limited to 'src/ev-sidebar.c')
-rw-r--r-- | src/ev-sidebar.c | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/src/ev-sidebar.c b/src/ev-sidebar.c index 9c805372d..56e5cf982 100644 --- a/src/ev-sidebar.c +++ b/src/ev-sidebar.c @@ -50,6 +50,7 @@ struct _EvSidebarPrivate { enum { CLOSED, + CHANGED, LAST_SIGNAL }; @@ -78,6 +79,15 @@ ev_sidebar_class_init (EvSidebarClass *ev_sidebar_class) g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0); + ev_sidebar_table_signals[CHANGED] = + g_signal_new ("changed", + G_TYPE_FROM_CLASS (g_object_class), + G_SIGNAL_RUN_LAST, + G_STRUCT_OFFSET (EvSidebarClass, closed), + NULL, NULL, + g_cclosure_marshal_VOID__STRING, + G_TYPE_NONE, 1, G_TYPE_STRING); + } static void @@ -109,11 +119,17 @@ ev_sidebar_combobox_changed_cb (GtkComboBox *combo_box, indices = gtk_tree_path_get_indices (path); if (indices != NULL) { + gchar *page; + gtk_notebook_set_current_page (GTK_NOTEBOOK (ev_sidebar->priv->notebook), indices[0]); + gtk_tree_model_get (model, &iter, PAGE_COLUMN_ID, &page, -1); + g_signal_emit (G_OBJECT (ev_sidebar), ev_sidebar_table_signals[CHANGED], 0, page); + g_free (page); } gtk_tree_path_free (path); } + } static void |