Commit Graph

62 Commits

Author SHA1 Message Date
ca3faa17a9 Free/busy meeting view doesn't work due to non-working extension 2011-06-29 18:41:08 +02:00
51ebf20237 EAlert: Allow arbitrary actions to be added.
You can now amend the predefined actions in an EAlert by calling
e_alert_add_action().  Useful for adding actions from an existing
GtkUIManager.

Call e_alert_peek_actions() to obtain a combined list of predefined
and custom actions.  These will typically serve as "related" actions
for GtkButtons (cf. gtk_activatable_set_related_action()).

Also, both EShellWindow and EShellView now implement EAlertSink.  Use
EShellWindow for application-wide alerts, EShellView for view-specific
alerts.
2010-10-18 12:32:36 -04:00
2197e6401e Implement EAlertSinkInterface in EShellContent.
Use the same alert handling policy as the composer.
2010-10-18 10:57:36 -04:00
1e663aa132 Replace EBinding with GBinding.
GObject now does property bindings itself.

Requires GLib >= 2.26.
2010-10-14 07:12:52 -04:00
101305e1c7 Various memory leaks 2010-09-07 18:39:46 +02:00
ecf3434da0 GObject boilerplate cleanup.
Prefer thread-safe G_DEFINE_TYPE and G_DEFINE_INTERFACE macros over
manual GType registration.

This is just a start... lots more to do.
2010-08-24 14:37:02 -04:00
6affbe33e9 Migrate ~/.evolution to XDG base directories.
Migration runs just before the main loop starts.
It's just a sequence of local directory and file renames.
2010-07-27 08:58:50 -04:00
71e92f3f2c EShellContent: Add a focus_search_results() method.
This gives EShellSearchbar something concrete to call to direct focus
away from itself instead of tabbing forward and hoping for the best.
2010-06-24 20:42:09 -04:00
b1ec17309b Bug 621759 - EShellSearchbar reference counting errors 2010-06-20 16:34:45 -04:00
09b0180c00 Fix another runtime warning. 2010-05-28 11:28:24 -04:00
a4cb2af922 Fix compiler warnings. 2010-04-21 08:18:39 -04:00
96421ff37c Use accessor functions instead direct access (GSEAL work)
Still remaining:
GtkAccessible::widget
GtkAssistant::forward
GtkAssistant::back
GtkObject::flags
GtkTreeStore::stamp

The GtkAssistant fields are related to bug #596428.  We don't
need accessor functions so much as the enhancement described
there implemented.

https://bugzilla.gnome.org/show_bug.cgi?id=615613
2010-04-13 16:23:16 +02:00
72797decc1 Giant leap towards GSEAL compliance. 2010-04-08 11:05:26 -04:00
f7547cc6ac Simplify the search UI for express mode.
For express mode:

- Move the search bar up to the toolbar.

- Hide the "filter" combo box and lock down the first item.

- Hide the "scope" combo box and lock down the first item.
  (This is the combo box with "Current Folder" only in the mailer.)

- EShellView owns the search bar widget now instead of EShellContent.

- Insert several nasty hacks that will likely come back to bite me.
2010-03-26 20:29:30 -04:00
f9dd2dd10b Move "section" documentation out of header files. 2010-03-21 17:24:42 -04:00
185b7b2a0b Make EShell and related classes extensible. 2010-03-20 11:49:46 -04:00
1040078ce6 Update API documentation.
Also, start fixing some Gtk-Doc warnings.  There's a lot.
2010-02-09 18:02:51 -05:00
bd31f49bac Coding style and whitespace cleanup. 2009-12-26 00:26:18 -05:00
05c11c2cee Provison to hide search label for Anjal's use. 2009-12-23 14:43:00 +05:30
b687d95fac Anjal's search bar is outside of EShellContent. Handle that. 2009-12-23 14:42:59 +05:30
4cbbdedf52 Refactor the EShell search API.
Move the search interface to a new widget: EShellSearchbar

The current search rule is now stored in EShellView, and the search
context in EShellViewClass similar to GalViewCollection (since it's
class-specific, not instance-specific).

Also add a couple new signals to EShellView: "clear-search" and
"custom-search" ("custom" refers to an advanced search or a saved
search -- something more complex than a quick search).

Still working out a few kinks.  The search entry is clearly trying to
be too many things.  We need a different way of indicating that you're
looking at search results.  Perhaps a search results banner similar to
Nautilus.
2009-12-18 22:38:00 -05:00
a1efb83756 EShellContent cleanups. 2009-12-18 22:22:33 -05:00
5341a35f20 Bug #604884 - Use proper colors in Search bar when is search activated 2009-12-18 13:47:02 +01:00
fb84cc9a9a Bug #593896 - "Search -> Find now" should not be always enabled 2009-12-17 20:29:11 +01:00
fe15c797a0 Bug #603184 - Various problems with search box in folders 2009-12-17 18:17:21 +01:00
31204c9cc2 Port all error code to use GObject-ified EAlert / EAlertDialog
The changes are mainly including the e-alert-header.h header instead of just
e-alert.h.  This allows us to include e-alert.h in non-UI situations when
necessary.
2009-12-07 12:25:23 -06:00
c2ee0afbc8 Rename EError to EAlert to match general use better
The EError mechanism is used both for error dialogs as well as basic alerts or
user prompts, so we should give it a more general name which matches this use.

This patch also cleans up a few includes of e-alert.h (formerly e-error.h) that
were not actually being used.

https://bugzilla.gnome.org/show_bug.cgi?id=602963
2009-11-30 13:33:04 -06:00
0da239224f port shell/ over to the new EError API
https://bugzilla.gnome.org/show_bug.cgi?id=602963
2009-11-30 13:31:19 -06:00
aa813bd7ca Bug #579599 - Let the Advanced Search work again 2009-11-19 15:40:50 +01:00
c8a9da9436 Bug 599890 - Search should not be remembered across folders 2009-10-29 19:35:40 -04:00
2b16aef841 Cleanup and rename filter classes. 2009-10-27 09:25:01 -04:00
e06b88c4fd Bug #594471 - Shouldn't call e_error_new/run with NULL 'parent' 2009-10-13 16:24:10 +02:00
5b771a7500 Developer documentation improvements. 2009-09-22 21:26:54 -04:00
c95a226217 EShell cleanup + rework my previous crasher fix. 2009-09-04 16:15:04 -04:00
369831e140 Fix crash when second main window is closed. 2009-09-04 12:57:40 -04:00
d94208b114 Homing in on a reference counting issue in EShellContent. 2009-09-03 18:54:45 -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
8962868ff9 Relax the EBinding API to reduce GObject casting.
Also make it more fault-tolerant by warning about non-existent
property names instead of just crashing.
2009-09-01 21:12:44 -04:00
f945e649d2 Bug 593778 - Clear search enabled when it shouldn't be 2009-09-01 11:07:20 -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
df17adc5aa Search bar improvements.
Split the search entry into a new widget to manage hints (EHintedEntry).
Let the search entry expand to use available horizontal space.
2009-06-09 06:36:56 -04:00
7a4f610ca3 Use GtkEntry instead of EIconEntry in the main search bar. 2009-06-04 10:55:12 -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
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
ccd8e3964f Get mail search bar partially working without help from EFilterBar.
Search scope (current folder, current account, etc.) is still ignored.

svn path=/branches/kill-bonobo/; revision=37263
2009-02-14 00:30:08 +00:00
14e8637d6b Rewrite the mail label code from top to bottom.
- Kill the e-util-labels API and read label information into a
    single-column GtkListStore.  Use GConfBridge to automatically
    keep GConf synched with the list store.

  - The list store (a singleton instance) is stored in EShellSettings
    so it's available everywhere.

  - The list store serves as the model for EMailLabelTreeView,
    which itself is embedded in EMailLabelManager; a complete
    label management UI as seen in the preferences dialog.

  - EMailLabelDialog is used to add or edit a label.  Avoid using a
    color button, instead embed a GtkColorSelection directly in the
    dialog so everything is in one window.

Open issues:

  - The weird toggle/color/text menu items in the popup menu aren't
    there.  For now they're just regular toggle items.  I'll deal
    with it later.

  - Filter intergration is broken at the moment.


svn path=/branches/kill-bonobo/; revision=37233
2009-02-07 20:04:52 +00:00
8d8e4ac1c2 Tweak the EShell API.
Disable File -> Close Window when there's only one window.
Replace EMMessageBrowser with EMailBrowser.

svn path=/branches/kill-bonobo/; revision=37009
2009-01-07 18:23:46 +00:00
e7a31c5035 Commit recent work so I can merge from trunk.
svn path=/branches/kill-bonobo/; revision=36684
2008-10-24 23:02:33 +00:00
54b80a7271 Get the mail folder tree compiling, though I'm not yet sure why it's not
showing anything.  Probably something stupid.  Also enabled the composer.

svn path=/branches/kill-bonobo/; revision=36623
2008-10-17 03:48:03 +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