
2002-08-28 Peter Williams <peterw@ximian.com> * folder-browser-ui.c (default_ui_nodes): Add some new flags for sensitizing nodes based on the flags of the currently selected messages. (folder_browser_ui_add_message): Reset the sensitivity cache when we re-add UI items. (folder_browser_ui_add_list): Same. (folder_browser_ui_add_global): Same. (fbui_sensitise_item): Only cache the sensitivity in the hash table if we actually change it. (folder_browser_ui_scan_selection): New function, getting the bulk of the contents of folder_browser_ui_set_selection_state. Now with code to iterate over the currently selected messages and check their flags so we can sensitize based on them. (folder_browser_ui_set_selection_state): Now just set the selection state if necessary and pass off to _scan_selection. Don't skip of we're trying to go from SELSTATE_SINGLE to SELSTATE_SINGLE, eg, as the flags of the selected messages may have changed. * folder-browser-ui.h: Prototype folder_browser_ui_scan_selection. * folder-browser.c (main_folder_changed): Call folder_browser_ui_scan_selection as the flags on a selected message may have just changed. svn path=/trunk/; revision=17893
37 lines
1.2 KiB
C
37 lines
1.2 KiB
C
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
|
|
/*
|
|
* folder-browser-ui.c: Sets up the Bonobo UI for FolderBrowsers
|
|
*
|
|
* Author:
|
|
* Peter Williams <peterw@ximian.com>
|
|
*
|
|
* (C) 2001 Ximian, Inc.
|
|
*/
|
|
|
|
#ifndef _FOLDER_BROWSER_UI_H
|
|
#define _FOLDER_BROWSER_UI_H
|
|
|
|
#include "folder-browser.h"
|
|
|
|
void folder_browser_ui_add_message (FolderBrowser *fb);
|
|
void folder_browser_ui_add_list (FolderBrowser *fb);
|
|
void folder_browser_ui_add_global (FolderBrowser *fb);
|
|
|
|
void folder_browser_ui_rm_list (FolderBrowser *fb);
|
|
void folder_browser_ui_rm_all (FolderBrowser *fb);
|
|
|
|
/* these affect the sensitivity of UI elements */
|
|
void folder_browser_ui_scan_selection (FolderBrowser *fb);
|
|
void folder_browser_ui_set_selection_state (FolderBrowser *fb, FolderBrowserSelectionState state);
|
|
void folder_browser_ui_message_loaded (FolderBrowser *fb);
|
|
|
|
void folder_browser_ui_discard_view_menus (FolderBrowser *fb);
|
|
void folder_browser_ui_setup_view_menus (FolderBrowser *fb);
|
|
/* Set the sensitivity of a single item */
|
|
void fbui_sensitise_item(FolderBrowser *fb, const char *item, int state);
|
|
|
|
void folder_browser_ui_message_list_focus (FolderBrowser *fb);
|
|
void folder_browser_ui_message_list_unfocus (FolderBrowser *fb);
|
|
|
|
#endif /* _FOLDER_BROWSER_UI_H */
|