Changeset 16
- Timestamp:
- 10/31/07 22:41:50
- Files:
-
- trunk/ChangeLog (modified) (1 diff)
- trunk/src/tmut-folder-view.c (modified) (9 diffs)
- trunk/src/tmut-folder-view.h (modified) (1 diff)
- trunk/src/tmut-main.c (modified) (3 diffs)
- trunk/src/tmut-menu-view.c (modified) (7 diffs)
- trunk/src/tmut-menu-view.h (modified) (1 diff)
- trunk/src/tmut-shell-window.c (modified) (6 diffs)
- trunk/src/tmut-shell-window.h (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/ChangeLog
r13 r16 1 2007-10-31 Philip Van Hoof <pvanhoof@gnome.org> 2 3 * Deviced a method to pass around things to the screens, like an 4 instruction string to display to the user 5 1 6 2007-10-29 Philip Van Hoof <pvanhoof@gnome.org> 2 7 trunk/src/tmut-folder-view.c
r13 r16 33 33 struct _TMutFolderViewPriv 34 34 { 35 GtkProgress *progress;36 35 GtkTreeView *headers_treeview; 37 36 TnyFolderMonitor *monitor; … … 50 49 TMutFolderViewPriv *priv = TMUT_FOLDER_VIEW_GET_PRIVATE (user_data); 51 50 52 if (priv->progress) { 53 gtk_progress_set_percentage (priv->progress, 54 tny_status_get_fraction (status)); 55 } 56 57 return; 58 } 59 60 static void 61 on_active_folder_got_set (TnyFolder *folder, gboolean cancelled, GError *err, gpointer user_data) 62 { 63 g_object_unref (user_data); 64 65 return; 66 } 51 if (priv->shell) 52 gtk_progress_set_percentage (tmut_shell_window_get_progress (priv->shell), 53 tny_status_get_fraction (status)); 54 55 return; 56 } 57 67 58 68 59 static void … … 82 73 } 83 74 75 static void 76 on_active_folder_got_set (TnyFolder *folder, gboolean cancelled, GError *err, gpointer user_data) 77 { 78 g_object_unref (user_data); 79 80 return; 81 } 82 84 83 void 85 84 tmut_folder_view_set_active_folder (TMutFolderView *self, TnyFolder *folder) … … 100 99 tny_gtk_header_list_model_set_folder (TNY_GTK_HEADER_LIST_MODEL (model), 101 100 folder, FALSE, NULL, status_update, self); 102 103 101 104 102 /* The folder monitor makes Push E-mail work */ … … 119 117 { 120 118 TMutFolderView *self = TMUT_FOLDER_VIEW (user_data); 119 TMutFolderViewPriv *priv = TMUT_FOLDER_VIEW_GET_PRIVATE (self); 121 120 122 121 if (!canceled && !err) { … … 127 126 tmut_shell_window_set_child ( 128 127 tmut_shell_child_get_window (TMUT_SHELL_CHILD (self)), 129 TMUT_SHELL_CHILD (view) );128 TMUT_SHELL_CHILD (view), "Go back"); 130 129 131 130 } … … 182 181 GtkWidget *widget, *sw; 183 182 184 priv->progress = NULL;185 183 priv->monitor = NULL; 186 184 priv->ringtone_player = NULL; … … 229 227 g_object_unref (priv->ringtone_player); 230 228 231 if (priv->progress)232 g_object_unref (priv->progress);233 234 229 (*parent_class->finalize) (object); 230 235 231 return; 236 232 } … … 259 255 **/ 260 256 TMutFolderView* 261 tmut_folder_view_new ( GtkProgress *progress)257 tmut_folder_view_new (void) 262 258 { 263 259 TMutFolderView *self = g_object_new (TMUT_TYPE_FOLDER_VIEW, NULL); 264 TMutFolderViewPriv *priv = TMUT_FOLDER_VIEW_GET_PRIVATE (self);265 266 priv->progress = GTK_PROGRESS (g_object_ref (progress));267 260 268 261 return TMUT_FOLDER_VIEW (self); trunk/src/tmut-folder-view.h
r12 r16 49 49 50 50 GType tmut_folder_view_get_type (void); 51 TMutFolderView* tmut_folder_view_new ( GtkProgress *process);51 TMutFolderView* tmut_folder_view_new (void); 52 52 53 53 void tmut_folder_view_set_active_folder (TMutFolderView *self, TnyFolder *folder); trunk/src/tmut-main.c
r12 r16 34 34 TnyAccountStore *account_store; 35 35 TnyAccountStoreView *view; 36 GtkProgressBar *progressbar;37 36 38 37 if (!g_thread_supported ()) … … 44 43 gtk_init (&argc, &argv); 45 44 46 progressbar = GTK_PROGRESS_BAR (gtk_progress_bar_new ()); 47 gtk_widget_show (GTK_WIDGET (progressbar)); 48 49 window = GTK_WIDGET (tmut_shell_window_new (progressbar)); 45 window = GTK_WIDGET (tmut_shell_window_new ()); 50 46 gtk_window_set_title (GTK_WINDOW (window), "TMut"); 51 47 … … 53 49 account_store = tny_platform_factory_new_account_store (platfact); 54 50 55 view = TNY_ACCOUNT_STORE_VIEW ( 56 tmut_menu_view_new (GTK_PROGRESS (progressbar))); 51 view = TNY_ACCOUNT_STORE_VIEW (tmut_menu_view_new ()); 57 52 gtk_widget_show (GTK_WIDGET (view)); 58 53 59 54 tmut_shell_window_set_child (TMUT_SHELL_WINDOW (window), 60 TMUT_SHELL_CHILD (view) );55 TMUT_SHELL_CHILD (view), "Select account or folder"); 61 56 62 57 tny_account_store_view_set_account_store (view, account_store); trunk/src/tmut-menu-view.c
r12 r16 34 34 GtkTreeView *folders_treeview; 35 35 GtkButton *newmsg_button; 36 GtkProgress *progress;37 36 GtkComboBox *accounts_combo; 38 37 TMutShellWindow *shell; … … 41 40 #define TMUT_MENU_VIEW_GET_PRIVATE(o) \ 42 41 (G_TYPE_INSTANCE_GET_PRIVATE ((o), TMUT_TYPE_MENU_VIEW, TMutMenuViewPriv)) 43 44 42 45 43 … … 132 130 &folder, -1); 133 131 134 view = tmut_folder_view_new ( priv->progress);132 view = tmut_folder_view_new (); 135 133 tmut_folder_view_set_active_folder (view, folder); 136 134 gtk_widget_show (GTK_WIDGET (view)); … … 138 136 tmut_shell_window_set_child ( 139 137 tmut_shell_child_get_window (TMUT_SHELL_CHILD (self)), 140 TMUT_SHELL_CHILD (view) );138 TMUT_SHELL_CHILD (view), "Select E-mail to view"); 141 139 142 140 g_object_unref (folder); … … 168 166 GtkTreeSelection *select; 169 167 GtkWidget *widget, *sw; 170 171 priv->progress = NULL;172 168 173 169 priv->accounts_combo = GTK_COMBO_BOX (gtk_combo_box_new ()); … … 226 222 TMutMenuViewPriv *priv = TMUT_MENU_VIEW_GET_PRIVATE (object); 227 223 228 if (priv->progress)229 g_object_unref (priv->progress);230 231 224 (*parent_class->finalize) (object); 225 232 226 return; 233 227 } … … 290 284 **/ 291 285 TMutMenuView* 292 tmut_menu_view_new ( GtkProgress *progress)286 tmut_menu_view_new (void) 293 287 { 294 288 TMutMenuView *self = g_object_new (TMUT_TYPE_MENU_VIEW, NULL); 295 TMutMenuViewPriv *priv = TMUT_MENU_VIEW_GET_PRIVATE (self);296 297 priv->progress = GTK_PROGRESS (g_object_ref (progress));298 289 299 290 return TMUT_MENU_VIEW (self); trunk/src/tmut-menu-view.h
r3 r16 52 52 53 53 GType tmut_menu_view_get_type (void); 54 TMutMenuView* tmut_menu_view_new ( GtkProgress *process);54 TMutMenuView* tmut_menu_view_new (void); 55 55 56 56 void tmut_menu_view_set_active_account (TMutMenuView *self, TnyAccount *account); trunk/src/tmut-shell-window.c
r14 r16 27 27 typedef struct _TMutShellWindowPriv TMutShellWindowPriv; 28 28 29 typedef struct { 30 TMutShellChild *child; 31 const gchar *instruction; 32 } ChildSet; 33 29 34 struct _TMutShellWindowPriv { 30 GtkWidget *vbox, *hbox, *back_button; 35 GtkWidget *vbox; 36 GtkLabel *instruction_label; 31 37 GtkProgressBar *progress_bar; 32 38 GList *childs; 33 TMutShellChild*current;39 ChildSet *current; 34 40 }; 35 41 … … 39 45 40 46 void 41 tmut_shell_window_set_child (TMutShellWindow *self, TMutShellChild *child )47 tmut_shell_window_set_child (TMutShellWindow *self, TMutShellChild *child, const gchar *instruction) 42 48 { 43 49 TMutShellWindowPriv *priv = TMUT_SHELL_WINDOW_GET_PRIVATE (self); 44 45 if (priv->current) 46 gtk_container_remove (GTK_CONTAINER (priv->vbox), GTK_WIDGET (priv->current)); 47 48 priv->childs = g_list_prepend (priv->childs, g_object_ref (child)); /* A */ 49 priv->current = child; 50 gtk_box_pack_start (GTK_BOX (priv->vbox), GTK_WIDGET (priv->current), 50 ChildSet *set = g_slice_new0 (ChildSet); 51 52 if (priv->current && priv->current->child) 53 gtk_container_remove (GTK_CONTAINER (priv->vbox), GTK_WIDGET (priv->current->child)); 54 55 set->child = g_object_ref (child); 56 set->instruction = instruction; 57 58 priv->childs = g_list_prepend (priv->childs, set); /* A */ 59 priv->current = set; 60 61 gtk_box_pack_start (GTK_BOX (priv->vbox), GTK_WIDGET (set->child), 51 62 TRUE, TRUE, 0); 52 53 tmut_shell_child_set_window (child, self); 63 gtk_label_set_text (priv->instruction_label, set->instruction); 64 65 tmut_shell_child_set_window (set->child, self); 54 66 55 67 return; … … 65 77 if (cnt > 1) 66 78 { 67 gtk_container_remove (GTK_CONTAINER (priv->vbox), GTK_WIDGET (priv->current)); 79 if (priv->current && priv->current->child) 80 gtk_container_remove (GTK_CONTAINER (priv->vbox), GTK_WIDGET (priv->current->child)); 68 81 priv->childs = g_list_remove (priv->childs, priv->current); 69 82 70 83 first = g_list_first (priv->childs); 71 g_object_unref (priv->current); /* A */ 84 g_object_unref (priv->current->child); /* A */ 85 g_slice_free (ChildSet, priv->current); 72 86 priv->current = first->data; 73 gtk_box_pack_start (GTK_BOX (priv->vbox), GTK_WIDGET (priv->current ),87 gtk_box_pack_start (GTK_BOX (priv->vbox), GTK_WIDGET (priv->current->child), 74 88 TRUE, TRUE, 0); 89 gtk_label_set_text (priv->instruction_label, priv->current->instruction); 90 75 91 } 76 92 … … 86 102 **/ 87 103 TMutShellWindow * 88 tmut_shell_window_new ( GtkProgressBar *progress_bar)104 tmut_shell_window_new (void) 89 105 { 90 106 TMutShellWindow *self = g_object_new (TMUT_TYPE_SHELL_WINDOW, NULL); 107 108 return TMUT_SHELL_WINDOW (self); 109 } 110 111 GtkProgress* 112 tmut_shell_window_get_progress (TMutShellWindow *self) 113 { 91 114 TMutShellWindowPriv *priv = TMUT_SHELL_WINDOW_GET_PRIVATE (self); 92 115 93 priv->progress_bar = GTK_PROGRESS_BAR (g_object_ref (progress_bar)); 94 95 gtk_box_pack_start (GTK_BOX (priv->hbox), GTK_WIDGET (priv->progress_bar), 96 FALSE, TRUE, 0); 97 gtk_box_pack_start (GTK_BOX (priv->hbox), GTK_WIDGET (priv->back_button), 98 FALSE, TRUE, 0); 99 100 return TMUT_SHELL_WINDOW (self); 116 return GTK_PROGRESS (priv->progress_bar); 101 117 } 102 118 … … 106 122 { 107 123 TMutShellWindowPriv *priv = TMUT_SHELL_WINDOW_GET_PRIVATE (instance); 108 109 priv->progress_bar = NULL; 124 GtkWidget *hbox, *vvbox, *back_button; 125 110 126 priv->vbox = gtk_vbox_new (FALSE, 0); 111 priv->hbox = gtk_hbox_new (FALSE, 0); 112 priv->back_button = gtk_button_new_with_label ("<"); 113 114 gtk_widget_show (priv->back_button); 127 hbox = gtk_hbox_new (FALSE, 0); 128 vvbox = gtk_vbox_new (FALSE, 0); 129 back_button = gtk_button_new_with_label ("<"); 130 priv->progress_bar = GTK_PROGRESS_BAR (gtk_progress_bar_new ()); 131 priv->instruction_label = GTK_LABEL (gtk_label_new ("")); 132 133 gtk_widget_show (GTK_WIDGET (priv->progress_bar)); 134 gtk_widget_show (back_button); 135 gtk_widget_show (GTK_WIDGET (priv->instruction_label)); 115 136 gtk_widget_show (priv->vbox); 116 gtk_widget_show (priv->hbox); 117 118 gtk_box_pack_start (GTK_BOX (priv->vbox), GTK_WIDGET (priv->hbox), 119 FALSE, TRUE, 0); 120 121 /* At construction 122 gtk_box_pack_start (GTK_BOX (priv->hbox), GTK_WIDGET (priv->progress_bar), 123 FALSE, TRUE, 0); 124 gtk_box_pack_start (GTK_BOX (priv->hbox), GTK_WIDGET (priv->back_button), 125 FALSE, TRUE, 0); 126 */ 137 gtk_widget_show (hbox); 138 gtk_widget_show (vvbox); 139 140 gtk_misc_set_alignment (GTK_MISC (priv->instruction_label), 0, 0); 141 142 gtk_box_pack_start (GTK_BOX (priv->vbox), GTK_WIDGET (hbox), 143 FALSE, TRUE, 0); 144 gtk_box_pack_start (GTK_BOX (hbox), GTK_WIDGET (vvbox), 145 FALSE, TRUE, 0); 146 147 gtk_box_pack_start (GTK_BOX (vvbox), GTK_WIDGET (priv->progress_bar), 148 FALSE, TRUE, 0); 149 gtk_box_pack_start (GTK_BOX (vvbox), GTK_WIDGET (priv->instruction_label), 150 FALSE, TRUE, 0); 151 152 gtk_box_pack_start (GTK_BOX (hbox), GTK_WIDGET (back_button), 153 FALSE, TRUE, 0); 127 154 128 155 gtk_container_add (GTK_CONTAINER (instance), GTK_WIDGET (priv->vbox)); 129 156 130 g_signal_connect (G_OBJECT ( priv->back_button), "clicked",157 g_signal_connect (G_OBJECT (back_button), "clicked", 131 158 G_CALLBACK (on_back_clicked), instance); 132 159 160 return; 161 } 162 163 static void 164 foreach_childset (gpointer data, gpointer user_data) 165 { 166 ChildSet *set = (ChildSet *) data; 167 g_object_unref (set->child); 168 g_slice_free (ChildSet, set); 133 169 return; 134 170 } … … 139 175 TMutShellWindowPriv *priv = TMUT_SHELL_WINDOW_GET_PRIVATE (object); 140 176 141 if (priv->progress_bar) 142 g_object_unref (priv->progress_bar); 143 priv->progress_bar = NULL; 177 if (priv->childs) { 178 g_list_foreach (priv->childs, foreach_childset, NULL); 179 g_list_free (priv->childs); 180 priv->childs = NULL; 181 } 144 182 145 183 (*parent_class->finalize) (object); trunk/src/tmut-shell-window.h
r12 r16 53 53 54 54 GType tmut_shell_window_get_type (void); 55 TMutShellWindow* tmut_shell_window_new ( GtkProgressBar *progress_bar);55 TMutShellWindow* tmut_shell_window_new (void); 56 56 57 void tmut_shell_window_set_child (TMutShellWindow *self, TMutShellChild *child); 57 void tmut_shell_window_set_child (TMutShellWindow *self, TMutShellChild *child, const gchar *instruction); 58 GtkProgress* tmut_shell_window_get_progress (TMutShellWindow *self); 58 59 59 60 G_END_DECLS
