Changeset 12
- Timestamp:
- 10/29/07 23:13:29
- Files:
-
- trunk/ChangeLog (modified) (1 diff)
- trunk/src (modified) (1 prop)
- trunk/src/.svnignore (added)
- trunk/src/Makefile.am (modified) (2 diffs)
- trunk/src/tmut-folder-view.c (modified) (10 diffs)
- trunk/src/tmut-folder-view.h (modified) (1 diff)
- trunk/src/tmut-main.c (moved) (moved from trunk/src/main.c) (3 diffs)
- trunk/src/tmut-menu-view.c (modified) (10 diffs)
- trunk/src/tmut-msg-view.c (modified) (5 diffs)
- trunk/src/tmut-msg-view.h (modified) (3 diffs)
- trunk/src/tmut-shared.h (added)
- trunk/src/tmut-shell-child.c (added)
- trunk/src/tmut-shell-child.h (added)
- trunk/src/tmut-shell-window.c (added)
- trunk/src/tmut-shell-window.h (added)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/ChangeLog
r10 r12 1 2007-10-29 Philip Van Hoof <pvanhoof@gnome.org> 2 3 * Restructured how the UI works (shell, child) 4 * Introduced TMutShellWindow, TMutShellChild 5 * Refactored all types to GtkWidgets in stead of GtkWindows 6 1 7 2007-10-28 Philip Van Hoof <pvanhoof@gnome.org> 2 8 trunk/src
- Property svn:ignore changed from Makefile.in tmut .libs .deps Makefile to core .libs .deps tmut Makefile Makefile.in
trunk/src/Makefile.am
r10 r12 3 3 bin_PROGRAMS = tmut 4 4 5 tmut_SOURCES = main.c \5 tmut_SOURCES = tmut-shared.h tmut-main.c \ 6 6 tmut-platform-factory.c \ 7 7 tmut-platform-factory.h \ … … 13 13 tmut-msg-view.h \ 14 14 tmut-ringtone-player.c \ 15 tmut-ringtone-player.h 15 tmut-ringtone-player.h \ 16 tmut-shell-window.c \ 17 tmut-shell-window.h \ 18 tmut-shell-child.c \ 19 tmut-shell-child.h 16 20 17 21 trunk/src/tmut-folder-view.c
r10 r12 21 21 #include "tmut-msg-view.h" 22 22 #include "tmut-ringtone-player.h" 23 #include "tmut-shell-window.h" 24 #include "tmut-shell-child.h" 23 25 24 26 #include <tny-folder-monitor.h> … … 36 38 TnyFolder *folder; 37 39 TnyFolderObserver *ringtone_player; 40 TMutShellWindow *shell; 38 41 }; 39 42 … … 58 61 on_active_folder_got_set (TnyFolder *folder, gboolean cancelled, GError *err, gpointer user_data) 59 62 { 63 g_object_unref (user_data); 64 60 65 return; 61 66 } … … 103 108 104 109 tny_folder_refresh_async (folder, on_active_folder_got_set, 105 status_update, self);110 status_update, g_object_ref (self)); 106 111 107 112 gtk_tree_view_set_model (priv->headers_treeview, model); … … 113 118 tmut_folder_view_on_got_msg (TnyFolder *folder, gboolean canceled, TnyMsg *msg, GError *err, gpointer user_data) 114 119 { 120 TMutFolderView *self = TMUT_FOLDER_VIEW (user_data); 121 115 122 if (!canceled && !err) { 116 123 TnyMsgView *view = tmut_msg_view_new (); 117 124 tny_msg_view_set_msg (view, msg); 118 125 gtk_widget_show (GTK_WIDGET (view)); 119 } 126 127 tmut_shell_window_set_child ( 128 tmut_shell_child_get_window (TMUT_SHELL_CHILD (self)), 129 TMUT_SHELL_CHILD (view)); 130 131 } 132 133 g_object_unref (user_data); 120 134 121 135 return; … … 144 158 if (folder) { 145 159 tny_folder_get_msg_async (folder, header, 146 tmut_folder_view_on_got_msg, status_update, self); 160 tmut_folder_view_on_got_msg, status_update, 161 g_object_ref (self)); 162 147 163 g_object_unref (folder); 148 164 } … … 161 177 TMutFolderView *self = (TMutFolderView *) instance; 162 178 TMutFolderViewPriv *priv = TMUT_FOLDER_VIEW_GET_PRIVATE (self); 163 GtkWindow *window = GTK_WINDOW (self);164 179 GtkCellRenderer *renderer; 165 180 GtkTreeViewColumn *column; … … 176 191 gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (sw), 177 192 GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); 178 gtk_container_add (GTK_CONTAINER (window), sw); 193 194 gtk_box_pack_start (GTK_BOX (self), GTK_WIDGET (sw), 195 FALSE, TRUE, 0); 196 179 197 gtk_widget_show (sw); 180 198 … … 250 268 return TMUT_FOLDER_VIEW (self); 251 269 } 270 271 272 TMutShellWindow* 273 tmut_folder_view_get_window (TMutShellChild *self) 274 { 275 TMutFolderViewPriv *priv = TMUT_FOLDER_VIEW_GET_PRIVATE (self); 276 return priv->shell; 277 } 278 279 void 280 tmut_folder_view_set_window (TMutShellChild *self, TMutShellWindow *window) 281 { 282 TMutFolderViewPriv *priv = TMUT_FOLDER_VIEW_GET_PRIVATE (self); 283 priv->shell = window; 284 } 285 286 static void 287 tmut_shell_child_init (gpointer g, gpointer iface_data) 288 { 289 TMutShellChildIface *klass = (TMutShellChildIface *)g; 290 291 klass->get_window_func = tmut_folder_view_get_window; 292 klass->set_window_func = tmut_folder_view_set_window; 293 294 return; 295 } 296 252 297 253 298 GType … … 271 316 }; 272 317 273 type = g_type_register_static (GTK_TYPE_WINDOW, 318 static const GInterfaceInfo tmut_shell_child_info = 319 { 320 (GInterfaceInitFunc) tmut_shell_child_init, /* interface_init */ 321 NULL, /* interface_finalize */ 322 NULL /* interface_data */ 323 }; 324 325 type = g_type_register_static (GTK_TYPE_VBOX, 274 326 "TMutFolderView", 275 327 &info, 0); 328 329 g_type_add_interface_static (type, TMUT_TYPE_SHELL_CHILD, 330 &tmut_shell_child_info); 331 276 332 } 277 333 trunk/src/tmut-folder-view.h
r4 r12 40 40 struct _TMutFolderView 41 41 { 42 Gtk Windowparent;42 GtkVBox parent; 43 43 }; 44 44 45 45 struct _TMutFolderViewClass 46 46 { 47 Gtk WindowClass parent_class;47 GtkVBoxClass parent_class; 48 48 }; 49 49 trunk/src/tmut-main.c
r11 r12 25 25 #include "tmut-platform-factory.h" 26 26 #include "tmut-menu-view.h" 27 #include "tmut-shell-window.h" 27 28 28 29 int … … 34 35 TnyAccountStoreView *view; 35 36 GtkProgressBar *progressbar; 36 GtkWidget *box;37 37 38 38 if (!g_thread_supported ()) … … 44 44 gtk_init (&argc, &argv); 45 45 46 window = gtk_window_new (GTK_WINDOW_TOPLEVEL);47 gtk_window_set_title (GTK_WINDOW (window), "TMut");48 49 box = gtk_vbox_new (FALSE, 0);50 gtk_widget_show (GTK_WIDGET (box));51 46 progressbar = GTK_PROGRESS_BAR (gtk_progress_bar_new ()); 52 47 gtk_widget_show (GTK_WIDGET (progressbar)); 53 gtk_box_pack_start (GTK_BOX (box), GTK_WIDGET (progressbar), FALSE, TRUE, 0); 48 49 window = GTK_WIDGET (tmut_shell_window_new (progressbar)); 50 gtk_window_set_title (GTK_WINDOW (window), "TMut"); 54 51 55 52 platfact = tmut_platform_factory_get_instance (); 56 53 account_store = tny_platform_factory_new_account_store (platfact); 57 54 58 view = TNY_ACCOUNT_STORE_VIEW (tmut_menu_view_new (GTK_PROGRESS (progressbar))); 55 view = TNY_ACCOUNT_STORE_VIEW ( 56 tmut_menu_view_new (GTK_PROGRESS (progressbar))); 59 57 gtk_widget_show (GTK_WIDGET (view)); 60 gtk_box_pack_start (GTK_BOX (box), GTK_WIDGET (view), TRUE, TRUE, 0); 58 59 tmut_shell_window_set_child (TMUT_SHELL_WINDOW (window), 60 TMUT_SHELL_CHILD (view)); 61 61 62 tny_account_store_view_set_account_store (view, account_store); 62 63 63 gtk_container_add (GTK_CONTAINER (window), box);64 64 g_signal_connect (window, "destroy", G_CALLBACK (gtk_main_quit), 0); 65 65 trunk/src/tmut-menu-view.c
r6 r12 20 20 #include "tmut-menu-view.h" 21 21 #include "tmut-folder-view.h" 22 #include "tmut-shell-window.h" 23 #include "tmut-shell-child.h" 22 24 23 25 #include <tny-gtk-folder-store-tree-model.h> … … 34 36 GtkProgress *progress; 35 37 GtkComboBox *accounts_combo; 36 TMut FolderView *folder_view;38 TMutShellWindow *shell; 37 39 }; 38 40 … … 103 105 } 104 106 105 static void106 on_folder_view_destroy (GtkWidget *widget, gpointer user_data)107 {108 TMutMenuViewPriv *priv = TMUT_MENU_VIEW_GET_PRIVATE (user_data);109 priv->folder_view = NULL;110 return;111 }112 107 113 108 static void … … 131 126 { 132 127 TnyFolder *folder; 128 TMutFolderView *view; 133 129 134 130 gtk_tree_model_get (model, &iter, … … 136 132 &folder, -1); 137 133 138 if (!priv->folder_view) { 139 priv->folder_view = tmut_folder_view_new (priv->progress); 140 g_signal_connect (G_OBJECT (priv->folder_view), "destroy", 141 G_CALLBACK (on_folder_view_destroy), self); 142 } 143 144 tmut_folder_view_set_active_folder (priv->folder_view, folder); 145 gtk_widget_show (GTK_WIDGET (priv->folder_view)); 134 view = tmut_folder_view_new (priv->progress); 135 tmut_folder_view_set_active_folder (view, folder); 136 gtk_widget_show (GTK_WIDGET (view)); 137 138 tmut_shell_window_set_child ( 139 tmut_shell_child_get_window (TMUT_SHELL_CHILD (self)), 140 TMUT_SHELL_CHILD (view)); 146 141 147 142 g_object_unref (folder); … … 175 170 176 171 priv->progress = NULL; 177 priv->folder_view = NULL;178 172 179 173 priv->accounts_combo = GTK_COMBO_BOX (gtk_combo_box_new ()); … … 232 226 TMutMenuViewPriv *priv = TMUT_MENU_VIEW_GET_PRIVATE (object); 233 227 234 if (priv->folder_view)235 gtk_widget_destroy (GTK_WIDGET (priv->folder_view));236 237 228 if (priv->progress) 238 229 g_object_unref (priv->progress); 239 230 240 231 (*parent_class->finalize) (object); 232 return; 233 } 234 235 TMutShellWindow* 236 tmut_menu_view_get_window (TMutShellChild *self) 237 { 238 TMutMenuViewPriv *priv = TMUT_MENU_VIEW_GET_PRIVATE (self); 239 return priv->shell; 240 } 241 242 void 243 tmut_menu_view_set_window (TMutShellChild *self, TMutShellWindow *window) 244 { 245 TMutMenuViewPriv *priv = TMUT_MENU_VIEW_GET_PRIVATE (self); 246 priv->shell = window; 247 } 248 249 static void 250 tmut_shell_child_init (gpointer g, gpointer iface_data) 251 { 252 TMutShellChildIface *klass = (TMutShellChildIface *)g; 253 254 klass->get_window_func = tmut_menu_view_get_window; 255 klass->set_window_func = tmut_menu_view_set_window; 256 241 257 return; 242 258 } … … 304 320 }; 305 321 306 307 322 static const GInterfaceInfo tny_account_store_view_info = 308 323 { … … 312 327 }; 313 328 329 static const GInterfaceInfo tmut_shell_child_info = 330 { 331 (GInterfaceInitFunc) tmut_shell_child_init, /* interface_init */ 332 NULL, /* interface_finalize */ 333 NULL /* interface_data */ 334 }; 335 314 336 type = g_type_register_static (GTK_TYPE_VBOX, 315 337 "TMutMenuView", … … 319 341 &tny_account_store_view_info); 320 342 343 g_type_add_interface_static (type, TMUT_TYPE_SHELL_CHILD, 344 &tmut_shell_child_info); 345 346 321 347 } 322 348 trunk/src/tmut-msg-view.c
r3 r12 22 22 23 23 #include "tmut-msg-view.h" 24 #include "tmut-shell-window.h" 25 #include "tmut-shell-child.h" 24 26 25 27 #include <tny-gtk-msg-view.h> … … 29 31 typedef struct _TMutMsgViewPriv TMutMsgViewPriv; 30 32 31 struct _TMutMsgViewPriv 32 { 33 struct _TMutMsgViewPriv { 34 TMutShellWindow *shell; 33 35 }; 34 36 … … 57 59 tmut_msg_view_instance_init (GTypeInstance *instance, gpointer g_class) 58 60 { 59 tny_gtk_msg_window_set_view (TNY_GTK_MSG_WINDOW (instance),60 tny_gtk_msg_view_new ());61 61 return; 62 62 } … … 70 70 } 71 71 72 73 TMutShellWindow* 74 tmut_msg_view_get_window (TMutShellChild *self) 75 { 76 TMutMsgViewPriv *priv = TMUT_MSG_VIEW_GET_PRIVATE (self); 77 return priv->shell; 78 } 79 80 void 81 tmut_msg_view_set_window (TMutShellChild *self, TMutShellWindow *window) 82 { 83 TMutMsgViewPriv *priv = TMUT_MSG_VIEW_GET_PRIVATE (self); 84 priv->shell = window; 85 } 86 87 static void 88 tmut_shell_child_init (gpointer g, gpointer iface_data) 89 { 90 TMutShellChildIface *klass = (TMutShellChildIface *)g; 91 92 klass->get_window_func = tmut_msg_view_get_window; 93 klass->set_window_func = tmut_msg_view_set_window; 94 95 return; 96 } 72 97 73 98 static void … … 106 131 NULL 107 132 }; 108 type = g_type_register_static (TNY_TYPE_GTK_MSG_WINDOW, 133 134 static const GInterfaceInfo tmut_shell_child_info = 135 { 136 (GInterfaceInitFunc) tmut_shell_child_init, /* interface_init */ 137 NULL, /* interface_finalize */ 138 NULL /* interface_data */ 139 }; 140 141 type = g_type_register_static (TNY_TYPE_GTK_MSG_VIEW, 109 142 "TMutMsgView", 110 143 &info, 0); 144 145 g_type_add_interface_static (type, TMUT_TYPE_SHELL_CHILD, 146 &tmut_shell_child_info); 147 111 148 } 112 149 trunk/src/tmut-msg-view.h
r3 r12 1 #ifndef T NY_TMUT_VIEW_H2 #define T NY_TMUT_VIEW_H1 #ifndef TMUT_MSG_VIEW_H 2 #define TMUT_MSG_VIEW_H 3 3 4 4 /* TMut … … 25 25 #include <tny-shared.h> 26 26 27 #include <tny-gtk-msg- window.h>27 #include <tny-gtk-msg-view.h> 28 28 29 29 G_BEGIN_DECLS … … 41 41 struct _TMutMsgView 42 42 { 43 TnyGtkMsg Window parent;43 TnyGtkMsgView parent; 44 44 }; 45 45 46 46 struct _TMutMsgViewClass 47 47 { 48 TnyGtkMsg WindowClass parent_class;48 TnyGtkMsgViewClass parent_class; 49 49 }; 50 50
