Changeset 23
- Timestamp:
- 11/01/07 02:26:02
- Files:
-
- trunk/src/tmut-menu-view.c (modified) (23 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/src/tmut-menu-view.c
r22 r23 63 63 if (canceled) 64 64 msg = "User canceled the operation"; 65 66 65 if (err || canceled) 67 66 { … … 75 74 g_error_free (err); 76 75 } 77 78 76 g_object_unref (user_data); 77 79 78 return; 80 79 } … … 139 138 if (type != TNY_FOLDER_TYPE_ROOT) 140 139 { 141 TnyFolderStore * folderstore;140 TnyFolderStore *store; 142 141 GtkWidget *dialog, *entry; 143 142 gint result; 144 145 143 gtk_tree_model_get (model, &iter, 146 144 TNY_GTK_FOLDER_STORE_TREE_MODEL_INSTANCE_COLUMN, 147 &folderstore, -1); 148 145 &store, -1); 149 146 dialog = gtk_dialog_new_with_buttons ("Create a folder", 150 147 GTK_WINDOW (gtk_widget_get_parent (GTK_WIDGET (self))), … … 158 155 gtk_container_add (GTK_CONTAINER (GTK_DIALOG(dialog)->vbox), entry); 159 156 gtk_widget_show (entry); 160 161 157 if (gtk_dialog_run (GTK_DIALOG (dialog)) == GTK_RESPONSE_ACCEPT) 162 158 { 163 159 GError *err = NULL; 164 160 const gchar *newname = gtk_entry_get_text (GTK_ENTRY (entry)); 165 TnyFolder *created = tny_folder_store_create_folder ( folderstore, newname, &err);161 TnyFolder *created = tny_folder_store_create_folder (store, newname, &err); 166 162 if (created) /* Can be NULL on failure */ 167 163 g_object_unref (created); … … 184 180 if (dialog) 185 181 gtk_widget_destroy (dialog); 186 g_object_unref ( G_OBJECT (folderstore));182 g_object_unref (store); 187 183 } 188 184 … … 203 199 { 204 200 gint type; 205 206 201 gtk_tree_model_get (model, &iter, 207 202 TNY_GTK_FOLDER_STORE_TREE_MODEL_TYPE_COLUMN, 208 203 &type, -1); 209 210 204 if (type != TNY_FOLDER_TYPE_ROOT) 211 205 { 212 TnyFolder *folder; 213 TMutFolderView *view; 214 206 TnyFolder *folder = NULL; 215 207 gtk_tree_model_get (model, &iter, 216 208 TNY_GTK_FOLDER_STORE_TREE_MODEL_INSTANCE_COLUMN, 217 209 &folder, -1); 218 219 210 if (folder) 220 211 { … … 227 218 NULL); 228 219 GtkWidget *label = gtk_label_new ("Are you sure you want to delete this folder?"); 229 230 220 gtk_container_add (GTK_CONTAINER (GTK_DIALOG(dialog)->vbox), label); 231 221 gtk_widget_show (label); 232 233 222 if (gtk_dialog_run (GTK_DIALOG (dialog)) == GTK_RESPONSE_ACCEPT) 234 223 { … … 276 265 { 277 266 GtkMenu *menu = (GtkMenu *) user_data; 278 279 267 gtk_menu_popup (GTK_MENU (menu), NULL, NULL, NULL, NULL, 280 268 0, gtk_get_current_event_time ()); 281 282 269 return; 283 270 } … … 292 279 293 280 menu_button = GTK_BUTTON (gtk_button_new_with_label ("Actions")); 294 295 281 menu = GTK_MENU (gtk_menu_new ()); 296 297 282 fcreate_menuitem = gtk_menu_item_new_with_label ("Create new folder"); 298 283 fmove_menuitem = gtk_menu_item_new_with_label ("Copy or move a folder"); 299 284 fdel_menuitem = gtk_menu_item_new_with_label ("Delete a folder"); 300 285 nmsg_menuitem = gtk_menu_item_new_with_label ("New message"); 301 302 286 gtk_widget_show (nmsg_menuitem); 303 287 gtk_widget_show (fcreate_menuitem); … … 305 289 gtk_widget_show (fdel_menuitem); 306 290 gtk_widget_show (GTK_WIDGET (menu)); 307 308 291 gtk_widget_show (GTK_WIDGET (menu_button)); 309 310 292 gtk_menu_prepend (menu, nmsg_menuitem); 311 293 gtk_menu_prepend (menu, fcreate_menuitem); 312 294 gtk_menu_prepend (menu, fmove_menuitem); 313 295 gtk_menu_prepend (menu, fdel_menuitem); 314 315 296 gtk_menu_attach_to_widget (menu, GTK_WIDGET (menu_button), NULL); 297 gtk_box_pack_start (GTK_BOX (self), GTK_WIDGET (menu_button), FALSE, TRUE, 0); 316 298 317 299 g_signal_connect (G_OBJECT (menu_button), "clicked", 318 300 G_CALLBACK (popup_the_actions_menu), menu); 319 320 301 g_signal_connect (G_OBJECT (nmsg_menuitem), "activate", 321 302 G_CALLBACK (tmut_menu_view_on_new_msg_activated), self); 322 323 303 g_signal_connect (G_OBJECT (fcreate_menuitem), "activate", 324 304 G_CALLBACK (tmut_menu_view_on_folder_create_activated), self); … … 328 308 G_CALLBACK (tmut_menu_view_on_folder_delete_activated), self); 329 309 330 gtk_box_pack_start (GTK_BOX (self), GTK_WIDGET (menu_button), FALSE, TRUE, 0);331 332 310 return; 333 311 } … … 344 322 tny_folder_store_query_add_item (query, NULL, 345 323 TNY_FOLDER_STORE_QUERY_OPTION_SUBSCRIBED); 346 347 324 model = tny_gtk_folder_store_tree_model_new (query); 348 325 tny_gtk_folder_store_tree_model_append (TNY_GTK_FOLDER_STORE_TREE_MODEL (model), 349 326 TNY_FOLDER_STORE (account), tny_account_get_name (account)); 350 351 327 gtk_tree_view_set_model (priv->folders_treeview, model); 352 328 … … 369 345 TNY_GTK_ACCOUNT_LIST_MODEL_INSTANCE_COLUMN, 370 346 &account, -1); 371 372 347 if (account) { 373 348 tmut_menu_view_set_active_account (TMUT_MENU_VIEW (user_data), account); … … 389 364 TNY_ACCOUNT_STORE_STORE_ACCOUNTS); 390 365 gtk_combo_box_set_model (priv->accounts_combo, GTK_TREE_MODEL (accounts)); 391 392 366 gtk_combo_box_set_active (priv->accounts_combo, 0); 393 367 … … 408 382 { 409 383 gint type; 410 411 384 gtk_tree_model_get (model, &iter, 412 385 TNY_GTK_FOLDER_STORE_TREE_MODEL_TYPE_COLUMN, 413 386 &type, -1); 414 415 387 if (type != TNY_FOLDER_TYPE_ROOT) 416 388 { … … 421 393 TNY_GTK_FOLDER_STORE_TREE_MODEL_INSTANCE_COLUMN, 422 394 &folder, -1); 423 424 395 if (!folder) 425 396 return; 426 427 397 view = tmut_folder_view_new (); 428 398 tmut_folder_view_set_active_folder (view, folder); 429 399 gtk_widget_show (GTK_WIDGET (view)); 430 431 400 tmut_shell_window_set_child ( 432 401 tmut_shell_child_get_window (TMUT_SHELL_CHILD (self)), 433 402 TMUT_SHELL_CHILD (view), "Select E-mail to view"); 434 435 403 g_object_unref (folder); 436 404 } … … 460 428 gtk_box_pack_start (GTK_BOX (vbox), GTK_WIDGET (priv->accounts_combo), 461 429 FALSE, TRUE, 0); 462 463 430 sw = gtk_scrolled_window_new (NULL, NULL); 464 431 gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (sw), … … 468 435 gtk_box_pack_start (GTK_BOX (vbox), sw, TRUE, TRUE, 0); 469 436 gtk_widget_show (sw); 470 471 472 437 priv->folders_treeview = GTK_TREE_VIEW (gtk_tree_view_new ()); 473 438 gtk_tree_view_set_headers_visible (priv->folders_treeview, FALSE); … … 476 441 gtk_widget_show (GTK_WIDGET (priv->folders_treeview)); 477 442 gtk_container_add (GTK_CONTAINER (sw), GTK_WIDGET (priv->folders_treeview)); 478 479 443 renderer = gtk_cell_renderer_text_new (); 480 444 column = gtk_tree_view_column_new_with_attributes ("Folder", renderer, … … 484 448 gtk_tree_view_column_set_sizing (column, GTK_TREE_VIEW_COLUMN_FIXED); 485 449 gtk_tree_view_append_column (GTK_TREE_VIEW(priv->folders_treeview), column); 486 487 450 select = gtk_tree_view_get_selection (GTK_TREE_VIEW (priv->folders_treeview)); 488 451 gtk_tree_selection_set_mode (select, GTK_SELECTION_SINGLE); … … 493 456 G_CALLBACK (on_folder_changed), self); 494 457 495 496 458 TMUT_MENU_VIEW_GET_CLASS (self)->create_menu_func (self); 497 459 … … 521 483 TMutMenuViewPriv *priv = TMUT_MENU_VIEW_GET_PRIVATE (self); 522 484 priv->shell = window; 485 return; 523 486 } 524 487 … … 619 582 &tmut_shell_child_info); 620 583 621 622 584 } 623 585
