Changeset 2042
- Timestamp:
- 05/23/07 15:23:30
- Files:
-
- trunk/ChangeLog (modified) (1 diff)
- trunk/libtinymailui-gtk/tny-gtk-folder-store-tree-model.c (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/ChangeLog
r2039 r2042 1 2007-05-23 Murray Cumming <murrayc@murrayc.com> 2 3 * libtinymailui-gtk/tny-gtk-folder-store-tree-model.c: 4 (recurse_folders_sync): Do not assume that the row instance is a 5 TnyFolderStore, because not all TnyFolders are TnyFolderStores. 6 This allows us to use this tree model with TnyMergeFolder. 7 1 8 2007-05-22 Murray Cumming <murrayc@murrayc.com> 2 9 trunk/libtinymailui-gtk/tny-gtk-folder-store-tree-model.c
r1994 r2042 133 133 { 134 134 GtkTreeStore *model = GTK_TREE_STORE (self); 135 TnyFolderStore *folder = (TnyFolderStore*) tny_iterator_get_current (iter);135 GObject *instance = G_OBJECT (tny_iterator_get_current (iter)); 136 136 GtkTreeIter tree_iter; 137 137 138 138 gtk_tree_store_append (model, &tree_iter, parent_tree_iter); 139 139 140 if (TNY_IS_FOLDER (folder)) 140 TnyFolder *folder = NULL; 141 TnyFolderStore *folder_store = NULL; 142 143 if (TNY_IS_FOLDER (instance)) 144 folder = TNY_FOLDER (instance); 145 146 if (TNY_IS_FOLDER_STORE (folder)) 147 folder_store = TNY_FOLDER_STORE (instance); 148 149 if (folder) 141 150 { 142 tny_folder_add_observer ( TNY_FOLDER (folder), TNY_FOLDER_OBSERVER (self));151 tny_folder_add_observer (folder, TNY_FOLDER_OBSERVER (self)); 143 152 me->folder_observables = g_list_prepend (me->folder_observables, folder); 144 153 } 145 154 146 if ( TNY_IS_FOLDER_STORE (folder))155 if (folder_store) 147 156 { 148 tny_folder_store_add_observer ( TNY_FOLDER_STORE (folder), TNY_FOLDER_STORE_OBSERVER (self));157 tny_folder_store_add_observer (folder_store, TNY_FOLDER_STORE_OBSERVER (self)); 149 158 me->store_observables = g_list_prepend (me->store_observables, folder); 150 159 } … … 154 163 reference count is decreased automatically by the gtktreestore infra- 155 164 structure. */ 156 157 gtk_tree_store_set (model, &tree_iter, 158 TNY_GTK_FOLDER_STORE_TREE_MODEL_NAME_COLUMN, 159 tny_folder_get_name (TNY_FOLDER (folder)), 160 TNY_GTK_FOLDER_STORE_TREE_MODEL_UNREAD_COLUMN, 161 tny_folder_get_unread_count (TNY_FOLDER (folder)), 162 TNY_GTK_FOLDER_STORE_TREE_MODEL_ALL_COLUMN, 163 tny_folder_get_all_count (TNY_FOLDER (folder)), 164 TNY_GTK_FOLDER_STORE_TREE_MODEL_TYPE_COLUMN, 165 tny_folder_get_folder_type (TNY_FOLDER (folder)), 166 TNY_GTK_FOLDER_STORE_TREE_MODEL_INSTANCE_COLUMN, 167 folder, -1); 168 169 recurse_folders_sync (self, folder, &tree_iter); 165 if (folder) 166 { 167 TnyFolder *folder = TNY_FOLDER (instance); 168 169 gtk_tree_store_set (model, &tree_iter, 170 TNY_GTK_FOLDER_STORE_TREE_MODEL_NAME_COLUMN, 171 tny_folder_get_name (TNY_FOLDER (folder)), 172 TNY_GTK_FOLDER_STORE_TREE_MODEL_UNREAD_COLUMN, 173 tny_folder_get_unread_count (TNY_FOLDER (folder)), 174 TNY_GTK_FOLDER_STORE_TREE_MODEL_ALL_COLUMN, 175 tny_folder_get_all_count (TNY_FOLDER (folder)), 176 TNY_GTK_FOLDER_STORE_TREE_MODEL_TYPE_COLUMN, 177 tny_folder_get_folder_type (TNY_FOLDER (folder)), 178 TNY_GTK_FOLDER_STORE_TREE_MODEL_INSTANCE_COLUMN, 179 folder, -1); 180 } 181 182 if (folder_store) 183 recurse_folders_sync (self, folder_store, &tree_iter); 170 184 171 185 … … 173 187 *Also look at tny-camel-folder:c:2818... for more information */ 174 188 175 tny_folder_poke_status (TNY_FOLDER (folder)); 176 177 g_object_unref (G_OBJECT (folder)); 189 if (folder) 190 tny_folder_poke_status (TNY_FOLDER (folder)); 191 192 g_object_unref (G_OBJECT (instance)); 178 193 179 194 tny_iterator_next (iter);
