Commit Graph

94 Commits

Author SHA1 Message Date
1cd5fb6de3 Don't update the message list when right-clicking on a folder.
After the folder's context menu closes the folder tree selection jumps
back to the folder whose contents are showing in the message list.
Suggested by Philippe LeCavalier on evolution-list.
2009-10-28 09:47:57 -04:00
7ec8fed125 Whitespace cleanup. 2009-09-04 21:21:50 -04:00
53268d5516 Introduce an EShellView::execute-search signal.
This addresses bug #593896 but is also a cleaner design than before.
It introduces an EShellView::execute-search signal and renames the
"search-execute" action to "search-quick" to clarify that it's only
meant for the "quick" search bar in the main window.

Shell view subclasses should implement the execute_search() method to
actually execute a search.

e_shell_view_execute_search() emits the new signal.
2009-09-02 15:26:49 -04:00
e002b69b1c Fix widget include paths in public header files. 2009-08-30 13:34:15 -04:00
624f48121f Fix up EShell API documentation. 2009-06-30 20:05:07 -04:00
be8ee53934 Use key files for tracking widget states.
Each EShellView now maintains a GKeyFile for recording disposable widget
state such as tree view path expansion, scroll bar positions, combo box
selections, etc.  The EShellView records changes to the key file to
~/.evolution/<shell-backend>/config/state, and automatically restores
the GKeyFile at startup.

Currently only the mailer uses the key file, but it's intended to serve
all shell views.  It replaces the use of Camel "cmeta" files, as well as
"et-expanded-*" and "folder-tree-expand-state.xml" files.

Also, the mailer's folder tree model now includes a column for tracking
which sidebar folders are expanded.  Folder tree widgets appearing in
dialog windows can copy the sidebar's expanded state using
em_folder_tree_clone_expanded().
2009-06-13 10:49:05 -04:00
14f8eee012 Whitespace cleanup. 2009-05-28 13:21:01 -04:00
cc3a98fc1a Merge branch 'master' into kill-bonobo
Conflicts:
	a11y/widgets/ea-combo-button.c
	a11y/widgets/ea-combo-button.h
	addressbook/gui/component/addressbook-component.c
	addressbook/gui/component/addressbook-component.h
	addressbook/gui/component/addressbook-view.c
	addressbook/gui/component/addressbook-view.h
	addressbook/gui/component/component-factory.c
	addressbook/gui/widgets/e-addressbook-view.c
	addressbook/gui/widgets/eab-contact-display.c
	addressbook/gui/widgets/eab-gui-util.h
	addressbook/gui/widgets/eab-menu.c
	addressbook/gui/widgets/eab-menu.h
	addressbook/gui/widgets/eab-popup-control.c
	addressbook/gui/widgets/eab-popup-control.h
	addressbook/gui/widgets/eab-popup.c
	addressbook/gui/widgets/eab-popup.h
	calendar/gui/cal-search-bar.c
	calendar/gui/calendar-commands.c
	calendar/gui/calendar-component.c
	calendar/gui/comp-editor-factory.c
	calendar/gui/comp-editor-factory.h
	calendar/gui/control-factory.c
	calendar/gui/dialogs/comp-editor.c
	calendar/gui/e-cal-component-memo-preview.c
	calendar/gui/e-cal-component-memo-preview.h
	calendar/gui/e-calendar-table.c
	calendar/gui/e-memo-table.c
	calendar/gui/e-memos.c
	calendar/gui/e-tasks.c
	calendar/gui/gnome-cal.c
	calendar/gui/gnome-cal.h
	calendar/gui/itip-bonobo-control.c
	calendar/gui/itip-bonobo-control.h
	calendar/gui/main.c
	calendar/gui/memos-component.c
	calendar/gui/memos-control.c
	calendar/gui/memos-control.h
	calendar/gui/migration.c
	calendar/gui/migration.h
	calendar/gui/tasks-component.c
	calendar/gui/tasks-control.c
	calendar/importers/main.c
	composer/Makefile.am
	composer/e-composer-header-table.c
	composer/e-composer-header.c
	composer/e-composer-header.h
	composer/e-composer-name-header.c
	composer/e-composer-private.c
	composer/e-composer-text-header.c
	composer/e-msg-composer.c
	composer/e-msg-composer.h
	e-util/e-corba-utils.h
	e-util/e-logger.c
	e-util/e-logger.h
	e-util/e-util-labels.c
	e-util/e-util-labels.h
	em-format/em-format.c
	mail/Makefile.am
	mail/e-mail-shell-migrate.c
	mail/em-account-editor.c
	mail/em-account-editor.h
	mail/em-composer-prefs.c
	mail/em-composer-utils.c
	mail/em-composer-utils.h
	mail/em-folder-browser.c
	mail/em-folder-tree-model.c
	mail/em-folder-tree.c
	mail/em-folder-tree.h
	mail/em-folder-utils.c
	mail/em-folder-utils.h
	mail/em-folder-view.c
	mail/em-format-html-display.c
	mail/em-format-html.c
	mail/em-mailer-prefs.c
	mail/em-mailer-prefs.h
	mail/em-message-browser.c
	mail/em-message-browser.h
	mail/em-network-prefs.h
	mail/em-popup.c
	mail/em-utils.c
	mail/importers/Makefile.am
	mail/mail-component-factory.c
	mail/mail-component.c
	mail/mail-config-factory.c
	mail/mail-config-factory.h
	mail/mail-config.c
	mail/mail-dialogs.glade
	mail/mail-types.h
	plugins/calendar-weather/calendar-weather.c
	plugins/mail-account-disable/mail-account-disable.c
	plugins/select-one-source/select-one-source.c
	po/POTFILES.in
	shell/e-component-registry.c
	shell/e-component-registry.h
	shell/e-component-view.c
	shell/e-component-view.h
	shell/e-corba-config-page.c
	shell/e-corba-config-page.h
	shell/e-shell-constants.h
	shell/e-shell-settings-dialog.c
	shell/e-shell-settings-dialog.h
	shell/e-shell-window-commands.c
	shell/e-shell-window.c
	shell/e-shell.h
	shell/e-sidebar.c
	shell/e-sidebar.h
	shell/e-user-creatable-items-handler.c
	shell/e-user-creatable-items-handler.h
	shell/es-menu.c
	shell/es-menu.h
	shell/evolution-component.h
	shell/evolution-config-control.c
	shell/evolution-config-control.h
	shell/evolution-listener.c
	shell/evolution-listener.h
	shell/evolution-shell-component-utils.c
	shell/evolution-shell-component-utils.h
	shell/importer/evolution-importer-client.c
	shell/importer/evolution-importer-client.h
	shell/importer/evolution-importer-listener.c
	shell/importer/evolution-importer-listener.h
	shell/importer/evolution-importer.c
	shell/importer/evolution-importer.h
	shell/importer/evolution-intelligent-importer.c
	shell/importer/evolution-intelligent-importer.h
	shell/importer/intelligent.c
	shell/main.c
	shell/test/evolution-test-component.c
	shell/test/evolution-test-component.h
	widgets/menus/gal-view-instance.c
	widgets/menus/gal-view-menus.c
	widgets/menus/gal-view-menus.h
	widgets/misc/Makefile.am
	widgets/misc/e-activity-handler.c
	widgets/misc/e-activity-handler.h
	widgets/misc/e-charset-picker.c
	widgets/misc/e-combo-button.c
	widgets/misc/e-combo-button.h
	widgets/misc/e-config-page.h
	widgets/misc/e-dropdown-button.c
	widgets/misc/e-dropdown-button.h
	widgets/misc/e-filter-bar.c
	widgets/misc/e-info-label.c
	widgets/misc/e-info-label.h
	widgets/misc/e-multi-config-dialog.c
	widgets/misc/e-multi-config-dialog.h
	widgets/misc/e-search-bar.c
	widgets/misc/e-search-bar.h
	widgets/misc/e-task-bar.c
	widgets/misc/e-task-bar.h
	widgets/misc/e-task-widget.c
	widgets/misc/e-task-widget.h
	widgets/misc/test-dropdown-button.c
	widgets/misc/test-error.c
	widgets/misc/test-info-label.c
	widgets/table/e-table-example-1.c
2009-05-27 08:37:17 -04:00
e4afd3f9fb Remove trailing whitespace, again. 2009-05-26 23:21:02 -04:00
92e942499b Fix bugs caused by EShellBackend changes. 2009-05-09 23:50:43 -04:00
caa8621351 Convert EShellModule to EShellBackend
Split the GTypeModule loader out of EShellModule as EModule, and rename
EShellModule to EShellBackend.  Backends (formerly modules) should now
subclass EShellBackend.

This commit converts EShell but breaks all the shell backends.
2009-05-07 07:21:57 -04:00
32ffc3ca1c Make the sidebar icon follow the folder icon.
Fix more runtime warnings.

svn path=/branches/kill-bonobo/; revision=37130
2009-01-25 03:28:18 +00:00
bd9f473a89 Redesign EPluginUI to accommodate merging and unmerging shell views.
Get the "mark-all-read" and "plugin-manager" plugins working.

svn path=/branches/kill-bonobo/; revision=37125
2009-01-23 21:41:01 +00:00
b06cdfab92 Progress update:
- Tighter integration of GalViewInstance and EShellView.

  - EBinding.  Stolen from ExoBinding.  Lets you bind GObject properties
    together to automatically keep their values in sync.  This is a godsend.
    Added to e-util, but might even deserve a place in libedataserver.

  - EShellSettings.  This is the concept I blogged about.  Already
    started ripping apart em-mailer-prefs.c.  Others to follow.  Any
    place where we're monitoring GConf keys is a target.

  - Incremental progress on the calender and mailer.  Got EMFolderView
    somewhat working, but I think I'll be killing off EMFolderBrowser.



svn path=/branches/kill-bonobo/; revision=36795
2008-11-19 01:39:19 +00:00
d6b8b58bb4 Get the calendar's memopad and taskpad working.
What's interesting here is we're actually sharing the ECalModel across views.
Instead of having the Calendar view listen to GConf for changes to the Task
and Memo models, the Calendar view fetches the models directly from the Task
and Memo views -- starting the views if it has to, although the shell really
takes care of that -- and loads the models into its own taskpad and memopad.

We couldn't do that sort of thing before with Bonobo in the way.
Big chunks of redundant code should begin falling out shortly.

svn path=/branches/kill-bonobo/; revision=36696
2008-10-29 20:11:07 +00:00
086a96050b Tasks progress. Merge EMemoPreview back into ECalComponentPreview.
svn path=/branches/kill-bonobo/; revision=36538
2008-10-03 04:43:40 +00:00
791c982c45 Update the headers on files I've created or completely rewritten to match
Sankar's LGPLv3 template.

svn path=/branches/kill-bonobo/; revision=36535
2008-10-01 21:51:10 +00:00
b2cda1d0c6 Merge revisions 36016:36533 from trunk.
svn path=/branches/kill-bonobo/; revision=36534
2008-10-01 20:56:04 +00:00
e52986f422 Add more EShell API documentation.
svn path=/branches/kill-bonobo/; revision=36533
2008-10-01 18:58:37 +00:00
c6795be3a8 Continue documenting the new shell API.
svn path=/branches/kill-bonobo/; revision=36511
2008-10-01 03:48:51 +00:00
098ea8aad8 Get Memos to come up. Doesn't really work yet, but the widgets are all there.
svn path=/branches/kill-bonobo/; revision=36491
2008-09-29 16:14:46 +00:00
9515b98403 Saving progress. Experimenting with directory layout.
Saving progress.
Experimenting with directory layout.

svn path=/branches/kill-bonobo/; revision=36446
2008-09-24 22:53:30 +00:00
73c370019c Search UI is kinda sorta working. Still some outstanding issues.
svn path=/branches/kill-bonobo/; revision=36427
2008-09-22 21:03:28 +00:00
3e3c13b439 Replace EActivityHandler with a new activity-tracking system that uses
EActivity objects instead of numeric handler IDs.  Create an EActivity,
configure it, and (optionally) connect to its "cancelled" and "completed"
signals.  Then hand it to the shell view via e_shell_view_add_activity().
When finished with the activity, call e_activity_finish() and unref it.

svn path=/branches/kill-bonobo/; revision=36391
2008-09-19 16:52:08 +00:00
bb7cb1d677 Massive address book refactoring. Things are mostly working again.
Also, begin documenting the new shell API, and provide a Gtk-Doc framework.

svn path=/branches/kill-bonobo/; revision=36359
2008-09-17 15:07:13 +00:00
7ee6ef65f1 Allow EShellContent, EShellSidebar, and EShellTaskbar to be subclassed,
and begin doing so for Calendars, Memos and Tasks.  Makes the code cleaner.

svn path=/branches/kill-bonobo/; revision=36317
2008-09-13 04:02:09 +00:00
c0a255eb90 Merge revisions 36016:36303 from trunk.
svn path=/branches/kill-bonobo/; revision=36307
2008-09-11 15:34:29 +00:00
6545899a29 Add menu and toolbar UI for calendars, memos and tasks.
svn path=/branches/kill-bonobo/; revision=36299
2008-09-11 04:42:53 +00:00
c701a5e026 Add stubs for calendar, task, and memo shell views.
svn path=/branches/kill-bonobo/; revision=36296
2008-09-10 18:36:36 +00:00
2e83206b30 Fix some bootstrapping issues.
svn path=/branches/kill-bonobo/; revision=36291
2008-09-09 17:29:09 +00:00
5350eebb5e Progress update:
- Merge ETaskBar into EShellTaskbar.
	- Remember the last view, and make --component work.


svn path=/branches/kill-bonobo/; revision=36278
2008-09-08 20:37:00 +00:00
52d683e48c Progress update:
- Contacts module mostly working now.
	- View and search UI not yet working.
	- Still refining shell design.


svn path=/branches/kill-bonobo/; revision=36268
2008-09-07 04:02:27 +00:00
eca687589d Saving progress. Lots of changes. Things are a bit broken at the moment.
svn path=/branches/kill-bonobo/; revision=36260
2008-09-05 15:47:38 +00:00
3843185df1 Preferences window awesomeness.
svn path=/branches/kill-bonobo/; revision=36215
2008-08-30 04:42:02 +00:00
e0c501b701 Progress update:
- Contacts module partially working!

	- Implement UI merging.  Also merge EInfoLabel into ESidebar.
	  The shell window now manages the icon and labels and keeps
	  them up-to-date via EShellView properties.


svn path=/branches/kill-bonobo/; revision=36214
2008-08-29 22:32:46 +00:00
1bad915150 License Changes
svn path=/trunk/; revision=36116
2008-08-27 10:33:22 +00:00
244ab98402 Progress update:
- Get the test module to demonstrate populating the shell window
    (particularly, the various notebooks) with some stupid widgets.


svn path=/branches/kill-bonobo/; revision=36094
2008-08-27 01:54:22 +00:00
cf3b010171 Progress update:
- Further refinements of the shell API.
  - Kill ESMenu and EUserCreatableItemsHandler.
  - Start ripping apart the addressbook component.


svn path=/branches/kill-bonobo/; revision=36093
2008-08-26 20:22:32 +00:00
035744f29b Committing the day's progress.
Realized the "New" menu construction algorithm needs to live independently of
shell view instances since we lazy load the shell views but have to display
all possible "New" items immediately.

Prototype the mechanisms for managing the various shell views and keeping
track of which one is current.

Various other tightening up and rethinking of APIs.

svn path=/branches/kill-bonobo/; revision=36022
2008-08-19 02:55:45 +00:00
28b28bf057 Write the algorithm for sorting items in the "New" menu. Not yet tested.
svn path=/branches/kill-bonobo/; revision=36004
2008-08-17 01:36:11 +00:00
cca29c3424 Demonstrate displaying the test shell view.
Also get the "Switcher Appearance" menu working... mostly.  Still need to
respond to GtkSettings notifications and make the preference persistent.

svn path=/branches/kill-bonobo/; revision=35985
2008-08-14 03:51:16 +00:00
03a3e6f846 Disable all components and plugins. Begin rewriting the shell.
svn path=/branches/kill-bonobo/; revision=35748
2008-07-16 19:37:02 +00:00
abda2bda85 updated novell copyright notices (left others alone)
svn path=/trunk/; revision=35665
2008-06-20 22:26:57 +00:00
e99e12428d ** Fixes bug #534360
2008-05-22  Matthew Barnes  <mbarnes@redhat.com>

	** Fixes bug #534360

	Migrate from deprecated GtkObject symbols to GObject equivalents.
	Touches over 150 files in all components; too many to list.


svn path=/trunk/; revision=35526
2008-05-22 17:27:48 +00:00
8e47917e8c Update FSF address in header comments (#469886). Patch from Tobias
2007-09-02  Matthew Barnes  <mbarnes@redhat.com>

	* Update FSF address in header comments (#469886).
	  Patch from Tobias Mueller.


svn path=/trunk/; revision=34151
2007-09-02 04:19:22 +00:00
8e71ebe0f4 added these files for fixing bug http://bugzilla.gnome.org/show_bug.cgi?id=260354
shell/e-shell-view.c shell/e-shell-view.h
 	shell/e-component-view.c shell/e-component-view.h

svn path=/trunk/; revision=30914
2005-12-21 07:17:30 +00:00
8f502cffbc Do not #include "e-local-folder.h".
* e-setup.c: Do not #include "e-local-folder.h".

* Makefile.am: Don't build evolution-test-component for now since
it's all out of date.

* main.c (evolution_debug_log): Make static instead of extern.

* e-user-creatable-items-handler.c: #include
<bonobo/bonobo-control.h>.

* e-shell.h: Do not include "e-uri-schema-registry.h" or
"evolution-shell-component-client.h".
* e-shell.c: Likewise.

* e-shell.c (struct _EShellPrivate): Removed member
uri_schema_registry.
(impl_Shell_handleURI): #if 0 it out for now.
(e_shell_peek_uri_schema_registry): Disabled for now.

* e-corba-storage-registry.c: Remove.
* e-corba-storage-registry.h: Remove.
* e-corba-storage.c: Remove.
* e-corba-storage.h: Remove.
* e-folder-dnd-bridge.c: Remove.
* e-folder-dnd-bridge.h: Remove.
* e-folder-selection-dialog.c: Remove.
* e-folder-selection-dialog.h: Remove.
* e-folder-type-registry.c: Remove.
* e-folder-type-registry.h: Remove.
* e-local-folder.c: Remove.
* e-local-folder.h: Remove.
* e-local-storage.c: Remove.
* e-local-storage.h: Remove.
* e-shell-folder-selection-dialog.c: Remove.
* e-shell-folder-selection-dialog.h: Remove.
* e-shell-view.c: Remove.
* e-shell-view.h: Remove.
* e-storage-browser.c: Remove.
* e-storage-browser.h: Remove.
* e-storage-set-view.c: Remove.
* e-storage-set-view.h: Remove.
* e-storage-set.c: Remove.
* e-storage-set.h: Remove.
* e-storage.c: Remove.
* e-storage.h: Remove.
* evolution-shell-component-client.c: Remove.
* evolution-shell-component-client.h: Remove.
* evolution-shell-component-dnd.c: Remove.
* evolution-shell-component-dnd.h: Remove.
* evolution-storage-listener.c: Remove.
* evolution-storage-listener.h: Remove.
* evolution-storage-set-view-listener.c: Remove.
* evolution-storage-set-view-listener.h: Remove.

svn path=/trunk/; revision=23396
2003-11-17 19:12:04 +00:00
8b3091dea7 Disabled for now.
* main.c (upgrade_from_1_0_if_needed): Disabled for now.

* e-shell-startup-wizard.c: Removed member config_listener from
struct SWData.
(e_shell_startup_wizard_create): Updated accordingly, just use
GConf, checking the /apps/evolution/mail/account-list key.
(finish_func): Use GConf.

* e-shell-config-default-folders.c: Removed member config_listener
in struct EvolutionDefaultFolderConfig.
(e_shell_config_default_folders_create_widget): Do not initialize
here.  GConfified the paths.
(config_control_destroy_notify): No unref of the config_listener
anymore.
(config_control_apply_cb): Use GConf.
(setup_folder_selector): Likewise.

* e-shell-config-autocompletion.c: Removed member config_listener
from EvolutionAutocompletionConfig.
(config_control_destroy_notify): Do not unref.
(config_control_apply_callback): Use a GConfClient.

* e-folder-list.c (e_folder_list_init): Add missing cast.

* main.c (show_development_warning): Use GConf.

* e-setup.c (e_setup_check_config): Removed arg @listener.
GConfified.

* e-shell-view.c (e_shell_view_save_defaults): New.
(e_shell_view_save_settings): Removed.
(e_shell_view_load_settings): Removed.
(setup_defaults): New helper function.
(e_shell_view_construct): New arg @uri.
(e_shell_view_new): New arg @uri.

* e-shell.c: Removed member config_listener in struct
EShellPrivate.
(impl_dispose): Do not unref.
(init): Do not initialize.
(get_config_start_offline): New helper function.
(e_shell_construct): Use this to get the startup mode in case
E_SHELL_STARTUP_LINE_MODE_CONFIG.
(save_misc_settings): Changed to use GConfClient instead of
EConfigListener.
(e_shell_create_view_from_settings): Removed.
(e_shell_restore_from_settings): Removed.
(e_shell_get_config_listener): Removed.
(e_shell_disconnect_db): Removed.
(parse_default_uri): Use GConf.

* main.c (idle_cb): Simplified the logic here.  Always assume that
the view will be created with the default folder open by just
using e_shell_create_view().

svn path=/trunk/; revision=18844
2002-11-19 21:25:37 +00:00
9c73777f22 First big sync of my GNOME 2 porting work (incomplete, and still
pretty broken).

Weeeeee!

svn path=/trunk/; revision=18503
2002-11-02 08:25:03 +00:00
ee467a65b1 Pass TRUE as @queue to e_shell_view_display_uri().
* e-shell.c (create_view): Pass TRUE as @queue to
e_shell_view_display_uri().

* e-shell-view-menu.c (command_activate_view): Pass TRUE as @queue
to e_shell_view_display_uri().
(goto_folder_dialog_folder_selected_cb): Likewise.

* e-shell-shared-folder-picker-dialog.c
(shared_folder_discovery_listener_callback): Pass TRUE as @queue
to e_shell_view_display_uri().

* e-shell-view.c
(display_uri): New arg @queue.  If true, it allows the
delayed_selection mechanism to happen transparently (returning
TRUE, while before it used to return FALSE).  Otherwise, refuse to
queue the URI and return FALSE.
(e_shell_view_display_uri): New arg @queue; pass it to
display_uri().
(handle_current_folder_removed): Pass TRUE as @queue to
e_shell_view_display_uri().
(set_folder_timeout): Likewise.
(switch_on_folder_tree_click): Likewise.
(activate_shortcut_cb): Likewise.
(corba_interface_change_current_view_cb): Likewise.
(socket_destroy_cb): Likewise.
(socket_destroy_cb): Likewise.
(e_shell_view_load_settings): Here, try displaying the old URI
with @queue set to FALSE; if this fails, display the default URI
and then invoke display again using @queue = TRUE so it gets
queued up.  This should fix #27721.

svn path=/trunk/; revision=17972
2002-09-04 19:33:15 +00:00