Changeset 52

Show
Ignore:
Timestamp:
11/08/07 19:10:13
Author:
pvanhoof
Message:
        • Implemented copying a message (not just moving)
Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/ChangeLog

    r50 r52  
    22 
    33        * Detecting the Tinymail platform library 
     4        * Implemented copying a message (not just moving) 
    45 
    562007-11-06  Philip Van Hoof  <pvanhoof@gnome.org> 
  • trunk/src/tmut-folder-selector.c

    r34 r52  
    167167} 
    168168 
     169 
    169170static void 
    170171tmut_folder_selector_finalize (GObject *object) 
    171172{ 
    172         TMutFolderSelectorPriv *priv = TMUT_FOLDER_SELECTOR_GET_PRIVATE (object); 
    173173 
    174174        (*parent_class->finalize) (object); 
  • trunk/src/tmut-folder-view.c

    r47 r52  
    144144} 
    145145 
    146 void 
    147 tmut_folder_view_on_message_move_activated (GObject *sender, TMutFolderView *self) 
     146 
     147static void  
     148message_movecopy_helper (TMutFolderView *self, gboolean move) 
    148149{ 
    149150        TMutFolderViewPriv *priv = TMUT_FOLDER_VIEW_GET_PRIVATE (self); 
     
    173174                        tny_list_prepend (info->items, G_OBJECT (header)); 
    174175 
    175                         /* TODO: make this choosable */ 
    176                         info->delete_originals = TRUE; 
     176                        info->delete_originals = move; 
    177177 
    178178                        view = tmut_folder_selector_new (); 
     
    198198} 
    199199 
     200void 
     201tmut_folder_view_on_message_move_activated (GObject *sender, TMutFolderView *self) 
     202{ 
     203        message_movecopy_helper (self, TRUE); 
     204        return; 
     205} 
     206 
     207 
     208 
     209void 
     210tmut_folder_view_on_message_copy_activated (GObject *sender, TMutFolderView *self) 
     211{ 
     212        message_movecopy_helper (self, FALSE); 
     213        return; 
     214} 
    200215 
    201216 
     
    254269{ 
    255270        GtkMenu *menu; 
    256         GtkWidget *mdel_menuitem, *mmove_menuitem
     271        GtkWidget *mdel_menuitem, *mmove_menuitem, *mcopy_menuitem
    257272        GtkButton *menu_button; 
    258273 
     
    263278        mdel_menuitem = gtk_menu_item_new_with_label (_("Delete a message")); 
    264279        mmove_menuitem = gtk_menu_item_new_with_label (_("Move a message")); 
     280        mcopy_menuitem = gtk_menu_item_new_with_label (_("Copy a message")); 
    265281 
    266282        gtk_widget_show (mdel_menuitem); 
    267283        gtk_widget_show (mmove_menuitem); 
     284        gtk_widget_show (mcopy_menuitem); 
    268285        gtk_widget_show (GTK_WIDGET (menu)); 
    269286 
     
    272289        gtk_menu_prepend (menu, mdel_menuitem); 
    273290        gtk_menu_prepend (menu, mmove_menuitem); 
     291        gtk_menu_prepend (menu, mcopy_menuitem); 
    274292 
    275293        gtk_menu_attach_to_widget (menu, GTK_WIDGET (menu_button), NULL); 
     
    282300        g_signal_connect (G_OBJECT (mmove_menuitem), "activate", 
    283301                G_CALLBACK (tmut_folder_view_on_message_move_activated), self); 
     302        g_signal_connect (G_OBJECT (mcopy_menuitem), "activate", 
     303                G_CALLBACK (tmut_folder_view_on_message_copy_activated), self); 
    284304 
    285305        gtk_box_pack_start (GTK_BOX (self), GTK_WIDGET (menu_button), FALSE, TRUE, 0); 
  • trunk/src/tmut-folder-view.h

    r28 r52  
    6565void tmut_folder_view_on_message_delete_activated (GObject *sender, TMutFolderView *self); 
    6666void tmut_folder_view_on_message_move_activated (GObject *sender, TMutFolderView *self); 
     67void tmut_folder_view_on_message_copy_activated (GObject *sender, TMutFolderView *self); 
    6768 
    6869G_END_DECLS 
  • trunk/src/tmut-menu-view.c

    r48 r52  
    493493} 
    494494 
    495 static void  
    496 stop_folders_treeview (TMutMenuView *self) 
    497 { 
    498         TMutMenuViewPriv *priv = TMUT_MENU_VIEW_GET_PRIVATE (self); 
    499         GtkTreeModel *old_model = gtk_tree_view_get_model (priv->folders_treeview); 
    500         if (old_model) 
    501                 tny_gtk_folder_store_tree_model_stop_observing (TNY_GTK_FOLDER_STORE_TREE_MODEL (old_model)); 
    502         return; 
    503 } 
    504495 
    505496void  
     
    516507        tny_gtk_folder_store_tree_model_append (TNY_GTK_FOLDER_STORE_TREE_MODEL (model), 
    517508                TNY_FOLDER_STORE (account), tny_account_get_name (account)); 
    518  
    519         stop_folders_treeview (self); 
    520509 
    521510        gtk_tree_view_set_model (priv->folders_treeview, model); 
     
    635624        gtk_widget_show (sw); 
    636625        priv->folders_treeview = GTK_TREE_VIEW (gtk_tree_view_new ()); 
    637         g_object_ref (priv->folders_treeview); 
    638626        gtk_tree_view_set_headers_visible (priv->folders_treeview, FALSE); 
    639627        gtk_tree_view_set_rules_hint (priv->folders_treeview, TRUE); 
     
    666654        TMutMenuViewPriv *priv = TMUT_MENU_VIEW_GET_PRIVATE (object); 
    667655 
    668         if (priv->folders_treeview) { 
    669                 stop_folders_treeview ((TMutMenuView *) object); 
    670                 g_object_unref (priv->folders_treeview); 
    671         } 
    672  
    673656        if (priv->account_store) 
    674657                g_object_unref (priv->account_store);