Changeset 5

Show
Ignore:
Timestamp:
10/28/07 02:34:09
Author:
pvanhoof
Message:

Small improvements

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/src/tmut-menu-view.c

    r4 r5  
    2121#include "tmut-folder-view.h" 
    2222 
    23  
    2423#include <tny-gtk-folder-store-tree-model.h> 
    2524#include <tny-gtk-account-list-model.h> 
     
    3534        GtkProgress *progress; 
    3635        GtkComboBox *accounts_combo; 
     36        TMutFolderView *folder_view; 
    3737}; 
    3838 
     
    103103} 
    104104 
     105static void  
     106on_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 
    105113static void 
    106114on_folder_changed  (GtkTreeView *treeview, GtkTreePath *path, GtkTreeViewColumn *column, gpointer user_data) 
    107115{ 
    108         TMutMenuViewPriv *priv = TMUT_MENU_VIEW_GET_PRIVATE (user_data); 
     116        TMutMenuView *self = TMUT_MENU_VIEW (user_data); 
     117        TMutMenuViewPriv *priv = TMUT_MENU_VIEW_GET_PRIVATE (self); 
    109118        GtkTreeSelection *selection = gtk_tree_view_get_selection (treeview); 
    110119 
     
    123132                { 
    124133                        TnyFolder *folder; 
    125                         TMutFolderView *folder_view; 
    126134 
    127135                        gtk_tree_model_get (model, &iter,  
     
    129137                                &folder, -1); 
    130138 
    131                         folder_view = tmut_folder_view_new (priv->progress); 
    132                         tmut_folder_view_set_active_folder (folder_view, folder); 
    133                         gtk_widget_show (GTK_WIDGET (folder_view)); 
     139                        if (!priv->folder_view) { 
     140                                priv->folder_view = tmut_folder_view_new (priv->progress); 
     141                                g_signal_connect (G_OBJECT (priv->folder_view), "destroy",  
     142                                        G_CALLBACK (on_folder_view_destroy), self); 
     143                        } 
     144 
     145                        tmut_folder_view_set_active_folder (priv->folder_view, folder); 
     146                        gtk_widget_show (GTK_WIDGET (priv->folder_view)); 
    134147 
    135148                        g_object_unref (folder); 
     
    163176 
    164177        priv->progress = NULL; 
     178        priv->folder_view = NULL; 
    165179 
    166180        priv->accounts_combo = GTK_COMBO_BOX (gtk_combo_box_new ()); 
     
    218232{ 
    219233        TMutMenuViewPriv *priv = TMUT_MENU_VIEW_GET_PRIVATE (object); 
     234 
     235        if (priv->folder_view) 
     236                gtk_widget_destroy (GTK_WIDGET (priv->folder_view)); 
    220237 
    221238        if (priv->progress)