Commit Graph

7 Commits

Author SHA1 Message Date
46cea1ca0b Add some new flags for sensitizing nodes based on the flags of the
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
2002-08-28 18:14:38 +00:00
c5f85f4f33 Connect to the focus-in/out events on the message-list so that we can
2002-03-04  Jeffrey Stedfast  <fejj@ximian.com>

	* folder-browser.c (my_folder_browser_init): Connect to the
	focus-in/out events on the message-list so that we can disable the
	EditInvertSelection and EditSelectThread menu items when the
	message-list is not in focus.

	* folder-browser-ui.c (folder_browser_ui_message_list_unfocus):
	New function to de-sensitize some items if the message-list is not
	in focus.
	(folder_browser_ui_message_list_focus): New function to sensitize
	some items if the message-list is not in focus.

	* mail-callbacks.c (invert_selection): Only invert the selection
	of the message-list if it is the widget in focus.

	* message-list.c (message_list_select): Do not explicitly grab the
	focus here.

svn path=/trunk/; revision=15909
2002-03-04 22:01:12 +00:00
b7ac37f6b1 Bumped the required version of gal.
2002-02-07  Christopher James Lahey  <clahey@ximian.com>

	* configure.in: Bumped the required version of gal.

From addressbook/ChangeLog:

2002-02-07  Christopher James Lahey  <clahey@ximian.com>

	* gui/widgets/e-addressbook-view.c
	(e_addressbook_view_setup_menus): Changed this function to use the
	new GalViewMenus which takes a GalViewInstance, instead of a
	GalViewCollection.

From calendar/ChangeLog:

2002-02-07  Christopher James Lahey  <clahey@ximian.com>

	* gui/e-tasks.c (e_tasks_setup_view_menus), gui/gnome-cal.c
	(gnome_calendar_setup_view_menus): Made these use the new
	GalViewMenus stuff.

From mail/ChangeLog:

2002-02-07  Christopher James Lahey  <clahey@ximian.com>

	* folder-browser.c, folder-browser.h, folder-browser-ui.c,
	folder-browser-ui.h
	(folder_browser_ui_setup_view_menus,
	folder_browser_ui_discard_view_menus): Changed this to use the new
	GalViewMenus stuff.  Made these exported functions.

	* mail-callbacks.c, message-browser.c: Changed these to not pass
	the now removed row parameter to message_list_select.

	* mail-config.c, mail-config.h (mail_config_folder_to_safe_url):
	Refactored this out of mail_config_folder_to_cachename.

	* message-list.c, message-list.h (message_list_select): Removed
	the row argument.  Changed this to use the new function in ETree
	for finding the next cursor row that matches a test.
	(message_list_construct): Handle a failed construction of the
	ETree here.
	(message_list_setup_etree, save_tree_state): Don't load or save
	the header state.  folder-browser-ui.c deals with this now.

From views/ChangeLog:

2002-02-07  Christopher James Lahey  <clahey@ximian.com>

	* addressbook/galview.xml, calendar/galview.xml, mail/galview.xml,
	tasks/galview.xml: Added default-view parameters.

	* mail/As_Sent_Folder.galview: New galview.

	* mail/Makefile.am, mail/galview.xml: Added As_Sent_Folder
	galview.

From widgets/ChangeLog:

2002-02-07  Christopher James Lahey  <clahey@ximian.com>

	* menus/gal-view-menus.c, menus/gal-view-menus.h
	(gal_view_menus_new): Made this take a GalViewInstance instead of
	a GalViewCollection.  Reworked most of this to utilize the
	interfaces provided by GalViewInstance.

svn path=/trunk/; revision=15592
2002-02-07 11:24:08 +00:00
4
e4fa983be5 all this crap just to make the print icon desensitive at the right time.
fix for #10346

2001-10-24    <NotZed@Ximian.com>

        * message-browser.c (message_browser_message_loaded): Call
        ui_message_loaded when we are.

        * folder-browser-factory.c (control_activate): Freeze/thaw around
        all updates.
        (control_deactivate): Freeze/thaw around all updates.

        * folder-browser.c (folder_browser_init): Setup a hashtable to
        keep track of *our* sensitise state, so we can optimise pushes to
        bonobo.
        (folder_browser_finalise): Free hash here.
        (folder_browser_set_message_preview): Call a ui_message_loaded,
        even though it isn't, so it updates sensitivities right.
        (done_message_selected): Call ui_message_loaded when it really is,
        rather than the very fucked up idea of reversing the loaded_uid
        check.

        * folder-browser-ui.c (folder_browser_ui_set_selection_state):
        Dont enable the message-enabled options if the message display is
        hidden, e.g. print, view headers, etc.
        (folder_browser_ui_rm_all): Forget sensitise state.
        (fbui_sensitise_item): Sensitise items via a current-state table,
        so we dont have to do bonobo calls every time.
        (folder_browser_setup_property_menu): Call sensitise_item.
        (folder_browser_ui_add_message):
        (folder_browser_ui_add_global): Leave current set_prop "sensitive"
        for the stop button, so it doesn't get lost by the stuff in
        mail-mt.c
        (fbui_real_sensitize_items): Removed.
        (fbui_sensitize_timeout): Cleaned up, use sensitise_item to do
        work.
        (folder_browser_ui_message_loaded): Setup sensitive based on
        preview_shown too.
        (folder_browser_ui_set_selection_state): And here too.

svn path=/trunk/; revision=13972
2001-10-24 02:56:06 +00:00
866a960fd9 Fix bug #215... desensitize menu items based on the number of selected
2001-08-09  Peter Williams  <peterw@ximian.com>

	Fix bug #215... desensitize menu items based on the number of
	selected messages (and whether there's a message in the pane)

	* folder-browser-ui.c (folder_browser_ui_add_message): Sensitize
	the menu items appropriately based on the old state.
	(fbui_sensitize_items): New function. Set the sensitivity of a
	list of commands.
	(folder_browser_ui_set_selection_state): New function. Move the FB
	to a new state of selected-ness, and sensitize menu items
	appropriately.
	(folder_browser_ui_message_loaded): New function. When notified
	that a message has been loaded, sensitize some menu items.

	* folder-browser-ui.h: Prototype new functions.

	* folder-browser.h: New enumeration,
	FolderBrowserSelectionState, that records the previous state
	of the selection (_NONE, _SINGLE, _MULTIPLE).

	* folder-browser.c (got_folder): If the component is set,
	set our selection state to _NONE, because that's the default
	state of the ETree.
	(on_selection_changed): When the number of selected messages
	is updated, notify the FBUI code of our new state.
	(folder_browser_gui_init): Hook up to the selection_changed
	signal and default to the _NONE selection state.
	(done_message_selected): Notify when a message is loaded.

2001-08-08  Peter Williams  <peterw@ximian.com>

	* mail-folder-cache.c: Display how many messages are selected,
	too.
	(make_folder_status): If multiple messages are selected, add that
	to the string (the 0 and 1 cases are boring)
	(selection_changed): New function, update the selected count.
	(mail_folder_cache_note_fb): Connect to the selection_changed
	signal.

svn path=/trunk/; revision=12012
2001-08-14 15:26:00 +00:00
24ab648dbb Change to use more reality-based API below. Include folder-browser-ui.h
2001-06-27  Peter Williams  <peterw@ximian.com>

        * folder-browser-factory.c (control_deactivate): Change to use
        more reality-based API below.
        Include folder-browser-ui.h too.
        (control_activate): Remove now-unused 'int state'.

        * folder-browser-ui.h: Changed prototypes to match changes below.

        * folder-browser-ui.c (folder_browser_ui_rm_message): Commented out
        to reflect reality of how this stuff works (you can't actually remove
        the pieces).
        (folder_browser_ui_rm_global): Same.
        (folder_browser_ui_rm_list): Left because here we add the view menus.
        (folder_browser_ui_add_list): ... which were moved here.
        (folder_browser_ui_rm_all): New function, does the job of old ui_rm()

svn path=/trunk/; revision=10531
2001-06-27 16:32:01 +00:00
e5e79cb370 Mail:
001-06-26  Peter Williams  <peterw@ximian.com>

	* folder-browser-ui.c: New file derived from folder-browser-factory.c.
	Contains the Bonobo UI code, split into three groups as described in
	ui/ChangeLog. Also contains the GalView stuff and the hookups into
	the Bonobo UI stuff.

	* folder-browser-factory.c: Move most of the UI stuff to folder-browser-ui.c.
	(control_activate): Add all three kinds of UI element to this folderbrowser.
	(control_deactivate): Remove all three kinds.

	* folder-browser-ui.h: New file. Prototypes functions to add UI elements
	to a FolderBrowser.

	* Makefile.am: Add folder-browser-ui.{c,h}

	* message-browser.c (PARENT_TYPE): Change to BONOBO_TYPE_WINDOW
	(message_browser_destroy): Chain to parent destroy function.
	(set_bonobo_ui): New function. Add the 'message' functions from the folder
	browser to our UI.
	(message_browser_close): BonoboVerbify this.

	* message-browser.h: Convert to BonoboWindow.

UI:

6-26  Peter Williams  <peterw@ximian.com>

	* evolution-mail-global.xml:
	* evolution-mail-list.xml:
	* evolution-mail-message.xml: New files. These are the result
	of splitting evolution-mail.xml into three pieces: one for the
	global mailer operations, one for the operations on a messagelist,
	and one for the operations on one or more messages.

	* evolution-mail-messagedisplay: New file. UI for the standalone
	message browser that you get when you double-click. Very skeleton.

	* evolution-mail.xml: Removed.

	* Makefile.am: Updated to install new files.

svn path=/trunk/; revision=10514
2001-06-26 22:37:13 +00:00