Commit Graph

152 Commits

Author SHA1 Message Date
abc0e4c694 Introduce ESelectable and EFocusTracker.
EFocusTracker tracks the input focus within a window and helps keep
the sensitivity of "selectable" actions in the main menu up-to-date.
Selectable actions include Cut, Copy, Paste, Select All and Delete.

EFocusTracker has built-in support for widgets that implement the
GtkEditable interface such as GtkEntry and GtkTextView.  It also
supports custom widgets that implement the ESelectable interface,
which is a subset of GtkEditable and can apply to anything that
displays selectable content (esp. tree views and ETables).

This commit integrates EFocusTracker with EShellWindow, CompEditor,
EMsgComposer, and ESignatureManager.

It also bumps the GtkHTML requirement to 2.29.5 to utilize the new
GtkhtmlEditor:html constructor property.
2009-12-25 15:42:17 -05:00
793e57e24c Add private virtual methods to EShellWindowClass.
So Anjal can override what it needs to for its own purpose.
Also makes the EShellWindow design a little cleaner.

Methods added:

  GtkWidget *    (*construct_menubar)   (EShellWindow *shell_window);
  GtkWidget *    (*construct_toolbar)   (EShellWindow *shell_window);
  GtkWidget *    (*construct_sidebar)   (EShellWindow *shell_window);
  GtkWidget *    (*construct_content)   (EShellWindow *shell_window);
  GtkWidget *    (*construct_taskbar)   (EShellWindow *shell_window);
  EShellView *   (*create_shell_view)   (EShellWindow *shell_window,
                                         const gchar *view_name);

Also added some new GObject properties to help decouple actions from
internal EShellWindow widgets created by these methods:

  EShellWindow:sidebar-visible
  EShellWindow:switcher-visible
  EShellWindow:taskbar-visible
  EShellWindow:toolbar-visible
2009-12-01 22:27:11 -05:00
20efbd7c8b Add a --geometry command-line option.
Applies the user's window geometry string to the first main window.
Suggested in bug #529565.
2009-11-25 13:37:13 -05:00
643db16894 Get the "save-calendar" plugin working.
Based on initial work by Milan Crha.
2009-09-03 13:27:31 -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
45d475c31b Kill EMMenu and EMPopup.
Also finish adapting Templates plugin to EPluginUI.
It was still leaning pretty hard on EMPopup.
2009-08-10 10:32:03 -04:00
0d6061a4eb Add a "quit-requested" signal to the shutdown protocol.
The contact and contact-list editors now demonstrate this part of the
shutdown protocol.  They listen for the "quit-requested" signal from the
shell and prompt to save changes, discard changes or cancel.  If the user
cancels, the editor calls e_shell_cancel_quit() to do just that.
2009-07-12 16:00:54 -04:00
8dc6bbd250 Get the "startup-wizard" plugin working again. 2009-06-30 10:47:59 -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
e4fa8fe104 Fix several types of pedantic compiler warnings. 2009-05-16 12:11:55 -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
6e72a236dc ** BUGFIX: 573830 - g_timeout_add_seconds should be preferred to g_timeout_add
According to https://wiki.ubuntu.com/SavingTheWorld (and of course according to
the gtk docs) using g_timeout_add_seconds is preferred over g_timeout_add if a
timeout in seconds is desired.
2009-05-04 10:10:55 +05:30
c1a12789ac Bug 580893 – Kill libgnome/gnome-gconf 2009-04-30 22:54:15 -04:00
e42f276527 Bug 577929 – Consolidate marshallers
Consolidate all marshalling specifications to e-util/e-marshal.list.
This reduces code duplication and makes it slightly easier to locate
unused marshallers.
2009-04-23 10:02:07 -04:00
7a92d9cc82 Add e_lookup_action() and e_lookup_action_group() to e-util, so
I don't have to keep writing the algorithm over and over again.

Add EFileActivity, which provides a GCancellable for GIO operations.
Cancelling the activity cancels the GIO operation, and vice versa.
Also provides a handy GFileProgressCallback function which updates
the activity's "percent" property.

svn path=/branches/kill-bonobo/; revision=37396
2009-03-10 01:06:18 +00:00
f963cc39a7 Cleaning up the attachment bar, centralizing its popup menu, and converting
everything to GtkUIManager/GtkActions.  Saving progress mid-stream... not
sure about the MIME part utilities yet.

Also, add some EActivity subclasses.  Considering an EFileActivity subclass
for asynchronous GIO operations (loading/saving attachments, etc.), but still
ironing out details.

svn path=/branches/kill-bonobo/; revision=37389
2009-03-09 03:31:24 +00:00
cfe3be08ff ** Fixes bug #572962
2009-02-24  Matthew Barnes  <mbarnes@redhat.com>

	** Fixes bug #572962

	* e-shell-window.c (setup_nm_support):
	Pass e_shell_dbus_initialise() the right type of object,
	and fix the incorrect function declaration.

	* e-shell-nm.c (e_shell_network_monitor):
	Go offline when we see NM_STATE_ASLEEP from NetworkManager.


svn path=/trunk/; revision=37320
2009-02-24 23:46:11 +00:00
a63a9dbb82 Make filter options for mail labels work again.
Define a new shell module method named start() that tells the module when to
start loading data and running background tasks.  Only really applies to the
mail module right now since the others use evolution-data-server.  Basically
it prevents the mail module from loading and refreshing mail stores until
you actually switch to the mail view.

svn path=/branches/kill-bonobo/; revision=37309
2009-02-23 03:21:04 +00:00
1a40acf554 Documentation tweaks.
Have e_shell_get_preferences_window() take an EShell argument.

svn path=/branches/kill-bonobo/; revision=37294
2009-02-19 06:22:32 +00:00
0110c94c6a Rename EShell:online-mode to EShell:online and update docs.
Use EBindings instead of a notify callback to keep other widgets and
actions synchronized with EShell:online.  Cleaner and less error prone.

svn path=/branches/kill-bonobo/; revision=37293
2009-02-19 05:52:33 +00:00
0e4972fe5d Disable Send/Receive when working offline.
svn path=/branches/kill-bonobo/; revision=37258
2009-02-13 03:10:34 +00:00
70fce0bbb0 When invoking Evolution with URIs on the command-line (e.g. mailto:),
terminate after all the windows for those URIs have been closed.

svn path=/branches/kill-bonobo/; revision=37157
2009-01-28 22:28:57 +00:00
533d59e2cd Add unique-1.0 requirement (blessed external dependency).
Make EShell a subclass of UniqueApp and handle single-instance negotiation.

When another Evolution process is running:

  - Running "evolution" will simply present the existing windows.

  - Running "evolution -c <view>" will open a shell window set to <view>.

  - Running "evolution <uri>" will open an appropriate window for <uri>.

The second process will then terminate immediately.


svn path=/branches/kill-bonobo/; revision=37147
2009-01-28 17:19:34 +00:00
4b140a897f Make action group management in shell windows more elegant.
svn path=/branches/kill-bonobo/; revision=37137
2009-01-27 05:22:57 +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
e0610b2e0c Continue chipping away at EMFolderView and EMFolderBrowser.
Migrate from gnome_url_show() to e_show_uri().

svn path=/branches/kill-bonobo/; revision=37038
2009-01-11 14:20:50 +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
a6c6f6d906 Solve a translation issue related to the New menu.
svn path=/branches/kill-bonobo/; revision=36934
2008-12-28 04:16:48 +00:00
8e2b445e9d Define a new interface called EMailReader, which implements operations
common to both the main shell window and the message browser.  Replaces
EMFolderView.  Also begin to define EMailBrowser (GtkWindow subclass),
which implements EMailReader and replaces EMMessageBrowser.

svn path=/branches/kill-bonobo/; revision=36933
2008-12-27 15:14:29 +00:00
cd622d600e Jeff Cai ** Fix for bug #563077 (Don't pass NULL to gtk_icon_info_get_filename(), fixes a crash if the gnome-settings-daemon is not running).
svn path=/trunk/; revision=36844
2008-12-08 08:09:01 +00:00
80e6c5adad Add popup menus to the calendar memopad and taskpad.
Implement support for "hide completed tasks" option (not yet tested).
Flesh out most of the Preferences window.  Still need Certificates page.

svn path=/branches/kill-bonobo/; revision=36701
2008-10-30 20:51:26 +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
17e030e202 Fix a couple minor UI bugs.
Populate the calendar's filter combo.

svn path=/branches/kill-bonobo/; revision=36691
2008-10-27 22:47:50 +00:00
85b2913a38 Merge revisions 36534:36684 from trunk.
svn path=/branches/kill-bonobo/; revision=36685
2008-10-24 23:52:05 +00:00
5ce1bbbbc8 Matthew Barnes <mbarnes@redhat.com> ** Fix for bug #548469 (Drop support for deprecated libnm-glib).
svn path=/trunk/; revision=36631
2008-10-17 05:18:16 +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
79aa45cfed Progress update:
- Calendar is kind of a mess at the moment.  Doesn't compile.

	- Roughed in the Mail module, including all the actions.
	  That _does_ compile.  Runs, even.


svn path=/branches/kill-bonobo/; revision=36611
2008-10-13 17:57:46 +00:00
ff5e0b312d Finally fix the stupid shell view bootstrapping issue.
svn path=/branches/kill-bonobo/; revision=36553
2008-10-03 22:05:32 +00:00
253e90b8de Tasks is working. Still need to deal with some loose ends and test it all.
svn path=/branches/kill-bonobo/; revision=36551
2008-10-03 19:24:59 +00:00
2e984bf77a Change License from GPL to LGPL.
svn path=/trunk/; revision=36541
2008-10-03 09:48:36 +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
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
0c27b4ab1b Finally got the "Current View" menu under control.
svn path=/branches/kill-bonobo/; revision=36380
2008-09-18 21:10:23 +00:00
8d21ab98d9 Progress update:
- Get context menus working in the contact preview pane.

	- Kill EABPopup.

	- Yet more code refactoring.

	- Add a handy utility function: e_shell_window_show_popup_menu()
	  Takes a widget path in the shell window's UI definition.


svn path=/branches/kill-bonobo/; revision=36366
2008-09-18 02:32:04 +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
7d2c28c02c Begin documenting the new shell design.
svn path=/branches/kill-bonobo/; revision=36337
2008-09-15 14:55:41 +00:00