X-Git-Url: http://git.maemo.org/git/?p=modest;a=blobdiff_plain;f=src%2Fhildon2%2Fmodest-folder-window.c;h=54cc733479a42cf5b55bff237aa91ef1521e5669;hp=6e0b65614b36f4969c37d3bbdf90c580c256613a;hb=e374da56f67092cecb1572dd4bee2ca34e0bc04c;hpb=336f8f44a99ab3bd588ecc9d0116c5baa3edbdfe diff --git a/src/hildon2/modest-folder-window.c b/src/hildon2/modest-folder-window.c index 6e0b656..54cc733 100644 --- a/src/hildon2/modest-folder-window.c +++ b/src/hildon2/modest-folder-window.c @@ -42,9 +42,11 @@ #include #include #include +#include #include #include #include +#include /* 'private'/'protected' functions */ static void modest_folder_window_class_init (ModestFolderWindowClass *klass); @@ -55,6 +57,9 @@ static void connect_signals (ModestFolderWindow *self); static void modest_folder_window_disconnect_signals (ModestWindow *self); static gboolean on_zoom_minus_plus_not_implemented (ModestWindow *window); +static void on_folder_activated (ModestFolderView *folder_view, + TnyFolder *folder, + gpointer userdata); static void add_to_menu (ModestFolderWindow *self, HildonAppMenu *menu, gchar *label, @@ -171,6 +176,9 @@ connect_signals (ModestFolderWindow *self) priv = MODEST_FOLDER_WINDOW_GET_PRIVATE(self); /* folder view */ + priv->sighandlers = modest_signal_mgr_connect (priv->sighandlers, + G_OBJECT (priv->folder_view), "folder-activated", + G_CALLBACK (on_folder_activated), self); /* TODO: connect folder view activate */ @@ -371,3 +379,32 @@ static void setup_menu (ModestFolderWindow *self) hildon_stackable_window_set_main_menu (HILDON_STACKABLE_WINDOW (self), HILDON_APP_MENU (app_menu)); } + +static void +on_folder_activated (ModestFolderView *folder_view, + TnyFolder *folder, + gpointer userdata) +{ + ModestFolderWindowPrivate *priv = NULL; + ModestWindow *headerwin; + ModestFolderWindow *self = (ModestFolderWindow *) userdata; + + g_return_if_fail (MODEST_IS_FOLDER_WINDOW(self)); + + priv = MODEST_FOLDER_WINDOW_GET_PRIVATE (self); + + if (!folder) + return; + + if (!TNY_IS_FOLDER (folder)) + return; + + headerwin = modest_header_window_new (folder); + modest_window_mgr_register_window (modest_runtime_get_window_mgr (), + MODEST_WINDOW (headerwin), + MODEST_WINDOW (self)); + + modest_window_set_active_account (MODEST_WINDOW (headerwin), + modest_window_get_active_account (MODEST_WINDOW (self))); + gtk_widget_show (GTK_WIDGET (headerwin)); +}