Commit Graph

389 Commits

Author SHA1 Message Date
7959b11113 Convert "startup-wizard" to an EExtension.
Convert the "startup-wizard" EPlugin to an EExtension, and fix up the
importing UI a bit (but it still needs a lot more love).  Importing
progress is now shown directly in the GtkAssistant window.

Define a new EConfigItem type (E_CONFIG_PAGE_PROGRESS) for creating
progress pages in a GtkAssistant.

Also, change EMAccountEditor semantics slightly: you now have to call
e_config_create_window() manually after creating a new EMAccountEditor
instance.  This allows extra EConfigItems (specifications for the window
content) to be added manually before the window is created.
2010-06-02 16:36:11 -04:00
c9ec8c3f4d Merge branch 'express2' 2010-05-26 13:09:33 -04:00
9653887891 Coding style and whitespace cleanup. 2010-05-25 10:15:32 -04:00
b54c869e2f get window sizing logic right (again) 2010-04-23 16:45:59 +01:00
a650f15f00 Store the initial view request and use that to decide whether to show
startup wizard or not. Show only for mail and not calendar.
2010-04-22 17:27:20 +05:30
5825fb4eb1 revert snafu to full-screening ... 2010-04-19 10:06:59 +01:00
81e6232269 Re-work the over-complicated event editor as a tabbed notebook.
Thanks to Sashwaat.
2010-04-19 09:57:48 +01:00
2593383aec Detect MeeGo, and propagate settings variously.
Adapt widget naming on MeeGo for theming etc.
2010-04-12 14:50:44 +01:00
13fb16f279 Demonstrate extending the EExtension API.
Introduce e_extensible_list_extensions(), which provides extensible
objects access to their own extensions, or a subset of them.

Convert EShellBackend to an abstract EExtension subtype.  EShell will
load its extensions with e_extensible_load_extensions(), and then obtain
a list of EShellBackend extensions as follows:

    shell_backends = e_extensible_list_extensions (
            E_EXTENSIBLE (shell), E_TYPE_SHELL_BACKEND);

Because EShellBackend is abstract, its GType is skipped while traversing
the GType hierarchy to find EShell extensions.
2010-04-07 12:13:36 +01:00
84ba2f958f Move "section" documentation out of header files. 2010-04-07 12:13:28 +01:00
b674497bcc Convert NetworkManager integration to an EShell extension.
This demonstrates how to extend EShell without having to modify and
recompile e-shell.c.  If NetworkManager integration is enabled, the
extension is loaded automatically when the EShell is created.

The same pattern can be applied to integrate other network monitoring
software like ConnMan or Microsoft's Wireless Zero Configuration.
2010-04-07 12:13:02 +01:00
a718e57b25 Make EShell and related classes extensible. 2010-04-07 12:12:57 +01:00
b2e7e4fedd Bug #325121 - Do not translate developer strings in g_param_spec_* 2010-04-01 21:40:19 +02:00
906f93a130 Demonstrate extending the EExtension API.
Introduce e_extensible_list_extensions(), which provides extensible
objects access to their own extensions, or a subset of them.

Convert EShellBackend to an abstract EExtension subtype.  EShell will
load its extensions with e_extensible_load_extensions(), and then obtain
a list of EShellBackend extensions as follows:

    shell_backends = e_extensible_list_extensions (
            E_EXTENSIBLE (shell), E_TYPE_SHELL_BACKEND);

Because EShellBackend is abstract, its GType is skipped while traversing
the GType hierarchy to find EShell extensions.
2010-03-21 23:30:44 -04:00
f9dd2dd10b Move "section" documentation out of header files. 2010-03-21 17:24:42 -04:00
6c569e64af Convert NetworkManager integration to an EShell extension.
This demonstrates how to extend EShell without having to modify and
recompile e-shell.c.  If NetworkManager integration is enabled, the
extension is loaded automatically when the EShell is created.

The same pattern can be applied to integrate other network monitoring
software like ConnMan or Microsoft's Wireless Zero Configuration.
2010-03-20 11:49:46 -04:00
185b7b2a0b Make EShell and related classes extensible. 2010-03-20 11:49:46 -04:00
7472c99b19 Disabling Gnome schemas for windows 2010-03-15 14:41:56 +01:00
d7494c8f16 Shell and UI manager cleanups.
Replace the EVO_EXPRESS environment variable with an --express command
line option.  (Note, this adds a new translatable string for --help.)

Add an EUIManager class with an "express-mode" property and custom load
functions that use our new "express" preprocessor.  This replaces the UI
manager functions in e-utils.c.

(Also going to see if I can get GTK+ to add an "add_ui_from_string"
method to GtkUIManagerClass that we can override.  Then we could just
call gtk_ui_manager_add_ui_from_string() and the preprocessor would
automatically do its thing and chain up.)

Add an "express-mode" read-only GObject property to EShell.

Add e_shell_configure_ui_manager() to e-shell-utils.c.  For now this
just creates a one-way property binding:

    EShell:express-mode -> EUIManager:express-mode

Call this immediately after e_ui_manager_new().  (EUIManager can't do
this itself because it lives too low in the dependency hierarchy and
doesn't know about EShell.)
2010-03-13 20:53:17 -05:00
d9be66b527 Removed obsolete method signatures in em-account-editor.h
Added em_account_editor_get_widget, and cleaned up the widget listing.
Cleaned the startup wizard code to find it's label by name
Added disabling of power-user 'indentity' frame in the first page express capplet.
2010-03-13 20:52:51 -05:00
78224aff38 Fix a typo 2010-03-13 20:49:50 -05:00
2166e7f4c7 Add 'express mode' gconf setting 2010-03-13 20:49:49 -05:00
c69e242109 More relocation cleanup EVOLUTION_ICONSDIR -> EVOLUTION_ICONDIR 2010-03-11 15:57:20 +01:00
f7e0850ff2 Remove some unnecessary terminal messages.
Don't need to see status messages on the terminal when going online,
offline or quitting.
2010-03-09 13:35:22 -05:00
baea9882fc Move icon theme path setup from main() to EShell.
So Anjal picks it up.
2009-12-14 15:37:17 -05:00
40ff31b2af Bug 603592 - X11 window roles should be set 2009-12-03 11:31:21 -05:00
ba05eccc8d Revise the EShell ref-leak check to not upset Valgrind. 2009-12-02 16:50:53 -05:00
38a616e8b7 Add an EShell:module-directory constructor property.
This tells EShell where to look for EModules.  Best practice is to
define the directory in your CPPFLAGS and then pass it to EShell at
instantiation time, like so:

Makefile.am:

    evolution_CPPFLAGS = \
            -DMODULEDIR=\""$(moduledir)"\"
            ...

main.c:

    shell = g_object_new (
            E_TYPE_SHELL, "module-directory", MODULEDIR, ...);
2009-12-02 00:57:44 -05:00
04aac07030 Make EShell more subclassable.
Add method pointers to EShellClass for all the EShell signals.

Also rework my previous --quit corner case workaround: we'll want to do
the full shutdown procedure after all, since the backends have already
spun up.
2009-11-26 13:32:00 -05:00
de85b6fbec Handle a missed corner case with --quit.
If --quit is given and no other Evolution process is running, bypass our
usual shutdown procedure and terminate the main loop immediately.
2009-11-26 10:41:53 -05:00
aa3152a2ec Add a --quit command-line option.
This -asks- an existing Evolution process to quit.  It is equivalent to
selecting File->Quit in the main window.  It does not kill the process.

My plan is to use this as part of a new --force-shutdown implementation.
2009-11-26 10:28:31 -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
13d07fdb63 Bug #588093 - Allow import of local files from command line 2009-11-12 12:32:06 +01:00
86ecfc5053 Convert some "Save As" actions to run asynchronously.
This introduces e-shell-utils for miscellaneous utility functions
that integrate with the shell or shell settings.  First function
is e_shell_run_save_dialog(), which automatically remembers the
selected folder in the file chooser dialog.

Also, kill some redundant save dialog functions, as well as some
write-this-string-to-disk functions that block.
2009-11-07 14:01:46 -05:00
c15a8e695a Clean up e_shell_get_active_window()
Clarify the documentation and simplify the logic.
2009-10-21 00:02:08 -04:00
e06b88c4fd Bug #594471 - Shouldn't call e_error_new/run with NULL 'parent' 2009-10-13 16:24:10 +02:00
fa9051e040 Finish killing Bonobo. 2009-09-08 14:53:45 -04:00
8f0093b0d8 Start migration -after- loading all modules and plugins. 2009-09-01 16:52:04 -04:00
06d9b59770 Fix for few compiler warnings 2009-08-31 11:47:12 +02:00
2b8c7c62aa Exit if no command-line URIs are handled. 2009-08-24 23:08:13 -04:00
672adf12a0 Fix compiler warnings and deprecated GTK+ API usage. 2009-08-16 11:42:26 -04:00
59c73e97a6 Update GConf when the online/offline button is clicked. 2009-08-13 13:24:44 -04:00
fac731e735 Simplify binding EShellSettings properties to GConf keys. 2009-07-31 14:02:14 -04:00
e5b7a6d28c Finish EggSMClient shell integration. 2009-07-15 16:40:04 -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
c4d1d29eaa Fix a problem with EShell initialization. 2009-07-12 08:59:41 -04:00
10eab23500 Implement the shutdown protocol and stub in session management.
The shutdown protocol is modelled after online/offline preparation.
Session management code is copied from libegg.  Not yet used.
2009-07-10 18:47:29 -04:00
8dc6bbd250 Get the "startup-wizard" plugin working again. 2009-06-30 10:47:59 -04:00
f4d748a85c Fix similar weak pointer issues throughout. 2009-06-19 18:43:29 -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