Changeset 32

Show
Ignore:
Timestamp:
11/02/07 18:21:59
Author:
pvanhoof
Message:
        • Implemented deleting a message
Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/ChangeLog

    r29 r32  
    22 
    33        * Bugfix with error handling in the callback handlers 
     4        * Implemented deleting a message 
    45 
    562007-11-01  Philip Van Hoof  <pvanhoof@gnome.org> 
  • trunk/src/tmut-folder-view.c

    r30 r32  
    180180                                TMUT_SHELL_CHILD (view), "Select destination"); 
    181181 
    182                         g_object_unref (folder); 
     182                        g_object_unref (header); 
    183183                } 
    184184        } 
     
    193193{ 
    194194        TMutFolderViewPriv *priv = TMUT_FOLDER_VIEW_GET_PRIVATE (self); 
    195  
    196 g_print ("delete message\n"); 
     195        GtkTreeSelection *selection = gtk_tree_view_get_selection (priv->headers_treeview); 
     196        GtkTreeModel *model; 
     197        GtkTreeIter iter; 
     198 
     199        if (gtk_tree_selection_get_selected (selection, &model, &iter))  
     200        { 
     201                TnyHeader *header = NULL; 
     202 
     203                gtk_tree_model_get (model, &iter,  
     204                        TNY_GTK_HEADER_LIST_MODEL_INSTANCE_COLUMN,  
     205                        &header, -1); 
     206 
     207                if (header)  
     208                { 
     209                        GtkWidget *dialog = gtk_message_dialog_new (GTK_WINDOW (priv->shell),  
     210                                GTK_DIALOG_MODAL, GTK_MESSAGE_WARNING, GTK_BUTTONS_YES_NO,  
     211                                "This will remove the message with subject \"%s\"", 
     212                                tny_header_get_subject (header)); 
     213                        if (gtk_dialog_run (GTK_DIALOG (dialog)) == GTK_RESPONSE_YES) { 
     214                                TnyFolder *folder = tny_header_get_folder (header); 
     215                                tny_folder_remove_msg (folder, header, NULL); 
     216                                tny_folder_sync (folder, TRUE, NULL); 
     217                                g_object_unref (folder); 
     218                        } 
     219                        gtk_widget_destroy (dialog); 
     220 
     221                        g_object_unref (header); 
     222                } 
     223        } 
     224 
    197225 
    198226        return;