Commit Graph

51 Commits

Author SHA1 Message Date
4f7b4d81e7 Reimplement the main toolbar's "prefer-item" feature.
This fixes a bug in the old implementation where the application could
crash after a second shell window was created and destroyed, because a
signal handler with the destroyed shell window as the closure was left
connected.

But moreover this simplifies the implementation by using a property
binding plus transform function instead of juggling signal handlers,
and also adds code comments where things get a little tricky.

Removed (now unused) functions:

  e_shell_window_get_toolbar_new_prefer_item
  e_shell_window_set_toolbar_new_prefer_item
2013-06-10 15:47:13 -04:00
d09d8de870 Consolidate base utility libraries into libeutil.
Evolution consists of entirely too many small utility libraries, which
increases linking and loading time, places a burden on higher layers of
the application (e.g. modules) which has to remember to link to all the
small in-tree utility libraries, and makes it difficult to generate API
documentation for these utility libraries in one Gtk-Doc module.

Merge the following utility libraries under the umbrella of libeutil,
and enforce a single-include policy on libeutil so we can reorganize
the files as desired without disrupting its pseudo-public API.

   libemail-utils/libemail-utils.la
   libevolution-utils/libevolution-utils.la
   filter/libfilter.la
   widgets/e-timezone-dialog/libetimezonedialog.la
   widgets/menus/libmenus.la
   widgets/misc/libemiscwidgets.la
   widgets/table/libetable.la
   widgets/text/libetext.la

This also merges libedataserverui from the Evolution-Data-Server module,
since Evolution is its only consumer nowadays, and I'd like to make some
improvements to those APIs without concern for backward-compatibility.

And finally, start a Gtk-Doc module for libeutil.  It's going to be a
project just getting all the symbols _listed_ much less _documented_.
But the skeletal structure is in place and I'm off to a good start.
2012-12-12 14:33:43 -05:00
83d001baa2 Bug #320976 - Remember last New button choice in Calendar view 2012-02-16 17:23:07 +01: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
4c05b9e925 Coding style and whitespace cleanup. 2010-08-29 11:22:28 -04:00
bde1bc6bca Handle adding 'X' close button on the menu bar. Restore adding the same
for adding in calendar since it doesn't have a toolbar.
2010-05-11 18:49:12 +05:30
84ba2f958f Move "section" documentation out of header files. 2010-04-07 12:13:28 +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
c0f1cd5309 make the 'New' drop-down menu much cleaner for express mode 2010-03-13 20:53:17 -05:00
48462592cb Add a EShellWindow::shell-view-created signal.
The signal uses the name of the newly created shell view as the detail,
so for example "shell-view-created::mail" is emitted when the "mail"
view is created.

Also, add e_shell_window_peek_shell_view() to obtain a shell view if it
exists but without instantiating it.

Using these new tools, teach the templates plugin to wait for the user
to switch to the "mail" view before connecting to its "update-actions"
signal.  Previously is was instantiating the "mail" view itself.
2010-01-22 11:46:34 -05:00
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
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
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
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
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
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
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
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
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
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
c0a255eb90 Merge revisions 36016:36303 from trunk.
svn path=/branches/kill-bonobo/; revision=36307
2008-09-11 15:34:29 +00:00
1bad915150 License Changes
svn path=/trunk/; revision=36116
2008-08-27 10:33: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
2ef1b5bf42 Progress update:
- Get the "New" button and menu working.

  - Add a GtkMenuToolButton subclass called EMenuToolButton, which does
    some behind-the-scenes stuff to make the "New" button work properly.

  - Kill EComboButton and its associated a11y widget.


svn path=/branches/kill-bonobo/; revision=36045
2008-08-24 13:17:11 +00:00
fd6cd9e3a6 Progress update:
- Discard libnm-glib method of monitoring network connectivity.
  - Decided to make EShell a singleton GObject after all.  Makes the
    design cleaner, despite having to pass a singleton instance around.
  - Make the switcher button style persistent.


svn path=/branches/kill-bonobo/; revision=36043
2008-08-23 15:36: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
4187293731 Merge revisions 35993:36015 from trunk.
Adapt recent "crash recovery" changes to new architecture.

svn path=/branches/kill-bonobo/; revision=36018
2008-08-18 16:18:42 +00:00
7903e73970 Fix some compilation errors.
svn path=/branches/kill-bonobo/; revision=35938
2008-08-08 15:15:17 +00:00
91a6b6899e Commit progress, which breaks everything.
svn path=/branches/kill-bonobo/; revision=35930
2008-08-08 02:04:44 +00:00
c714d8efd1 ** Fixes bug #467115
2008-08-07  Matthew Barnes  <mbarnes@redhat.com>

	** Fixes bug #467115

	* shell/e-component-registry.h:
	Replace button and menu icon pixbufs with an icon name string.

	* shell/e-component-registry.c (query_components):
	No need to create pixbufs, just save the icon name.

	* shell/e-sidebar.c:
	Remember a default icon name rather than a default pixbuf.

	* shell/e-sidebar.c (e_sidebar_add_button),
        (e_sidebar_change_button_icon):
	* shell/e-shell-window.c (e_shell_window_change_component_button_icon):
	Take an icon name instead of a pixbuf.

	* shell/e-shell-window.c (switch_view):
	Call gtk_window_set_icon_name() instead of gtk_window_set_icon().

	* shell/e-shell-window.c (setup_widgets):
	Change XML from pixtype="pixbuf" to pixbuf="filename" and derive
	an appropriate filename from the icon name.


svn path=/trunk/; revision=35924
2008-08-07 14:29:49 +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
eeb89358f6 ** Fix for bug #329823
2007-10-11  Milan Crha  <mcrha@redhat.com>

	** Fix for bug #329823

	* Evolution-Shell.idl: (setButtonIcon):
	* e-sidebar.h: (e_sidebar_change_button_icon):
	* e-sidebar.c: (struct Button), (button_new), (button_free),
	(e_sidebar_change_button_icon):
	* e-shell.h: (EMainShellFunc), (e_shell_foreach_shell_window):
	* e-shell.c: (EMainShellFunc), (e_shell_foreach_shell_window):
	* e-component-view.h: (e_component_view_set_button_icon):
	* e-component-view.c: (e_component_view_set_button_icon):
	* e-shell-window.h: (e_shell_window_change_component_button_icon):
	* e-shell-window.c: (e_shell_window_change_component_button_icon):
	* e-shell-view.c: (struct change_icon_struct),
	(change_button_icon_func), (impl_ShellView_setButtonIcon),
	(e_shell_view_class_init):
	Added support to change component's button icon.

	* mail-component.h: (mail_indicate_new_mail):
	* mail-component.c: (mail_indicate_new_mail),
	(struct _MailComponentPrivate), (impl_dispose), (impl_createView):
	New function to indicate new mails on sidebar's button and storing
	component_view in priv struct for later use.
	* em-folder-view.c: (emfv_list_done_message_selected):
	* mail-folder-cache.c: (real_flush_updates):
	Indicate changes like for plugins for new mails.


svn path=/trunk/; revision=34374
2007-10-11 14:03:13 +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
57884e830b committed these files to fix http://bugzilla.gnome.org/show_bug.cgi?id=260354
ChangeLog addressbook/ChangeLog
 	addressbook/gui/component/addressbook-component.c
 	calendar/ChangeLog calendar/gui/calendar-component.c
 	calendar/gui/memos-component.c calendar/gui/tasks-component.c
 	mail/ChangeLog mail/Evolution-Mail.idl mail/mail-component.c
 	shell/ChangeLog shell/Evolution-Component.idl
 	shell/Evolution-Shell.idl shell/Evolution.idl
 	shell/Makefile.am shell/e-shell-window.c
 	shell/e-shell-window.h shell/e-shell.c

svn path=/trunk/; revision=30915
2005-12-21 07:18:49 +00:00
7ac4fd8bf9 Have added the "View Status Bar" under the "View" menu This is a toggle
2005-09-23  S.Antony Vincent Pandian <santony@gmail.com>

	* Have added the "View Status Bar" under the "View" menu
This is a toggle button to hide/show the status bar

svn path=/trunk/; revision=30371
2005-09-23 09:44:58 +00:00
8541e321f0 new protos, modes
2005-01-04  JP Rosevear  <jpr@novell.com>

	* e-sidebar.h: new protos, modes

	* e-sidebar.c: handle 2 more modes, text only and toolbar style;
	allow visibility to be set for the buttons

	* e-shell-window.h: new proto

	* e-shell-window.c (setup_widgets): set the sidebar setting and
	visibility based on stored gconf settings
	(e_shell_window_save_defaults): save the current sidebar setting
	visibility
	(e_shell_window_peek_sidebar): return the sidebar

	* e-shell-window-commands.c (e_shell_window_commands_setup): add
	listeners for each of the component button radio items and for the
	hide toggle
	(view_buttons_icontext_item_toggled_handler): listener callback,
	set mode
	(view_buttons_icon_item_toggled_handler): ditto
	(view_buttons_text_item_toggled_handler): ditto
	(view_buttons_toolbar_item_toggled_handler): ditto
	(view_buttons_hide_item_toggled_handler): listener callback, set
	visibility

	* apps_evolution_shell.schemas.in.in: add component button style
	and visibility defaults

svn path=/trunk/; revision=28239
2005-01-04 19:58:45 +00:00
ac0442e31c Pass a label for the status bar control for now.
* gui/component/addressbook-component.c (impl_createControls):
Pass a label for the status bar control for now.

* gui/calendar-component.c (impl_createControls): Pass a label for
the status bar control for now.

* gui/tasks-component.c (impl_createControls): Pass a label for
the status bar control for now.

* mail-component.c (impl_createControls): Pass a label for the
status bar control for now.

* e-shell.c (struct _EShellPrivate): Remove member
activity_handler.
(setup_activity_interface): Remove.
(e_shell_init): Don't call.
(create_window): Don't attach the task bar to the activity
handler.

* e-shell-window.c (struct _ComponentView): New member
statusbar_widget.
(struct _EShellWindowPrivate): Remove member task_bar.
(init_view): Get the status bar control from createControls and
put it in the ComponentView struct.
(setup_task_bar): New.
(setup_statusbar_notebook): New.
(switch_view): Switch the statusbar notebook too.
(impl_dispose): Add missing GTK_OBJECT() cast.
(e_shell_window_peek_task_bar): Remove.

* Evolution-Component.idl (Component::createControls): New out arg
"statusbar_control"; this way components can provide their own
status bar.

* e-activity-handler.c, e-activity-handler.h: Turn into a plain
GObject; translate all the CORBA methods into plain C methods.

* Makefile.am: Move e-activity-handler to libeshell instead of it
being in the shell.

svn path=/trunk/; revision=23555
2003-12-02 02:17:34 +00:00
1003ebf619 Destroy the tooltips instead of unreffing them.
* e-shell-window.c (impl_dispose): Destroy the tooltips instead of
unreffing them.

* e-shell.c (struct _EShellPrivate): New member activity_handler.
(setup_activity_interface): New.
(impl_dispose): Add a comment about why we must not unref
activity_handler here.
(create_window): Attach the task bar to the new window.

* e-shell-window.c (e_shell_window_peek_task_bar): New.

svn path=/trunk/; revision=23439
2003-11-19 09:43:17 +00:00
7a5ecfbb6c New signal "component_changed". (class_init): Install. (switch_view):
* e-shell-window.c: New signal "component_changed".
(class_init): Install.
(switch_view): Emit.
(e_shell_window_new): Call
e_user_creatable_items_handler_attach_menus() to attach the
"New..."  menus.
(e_shell_window_peek_current_component_id): New.
(e_shell_window_peek_shell): Add precondition.
(e_shell_window_peek_current_component_id): Likewise.
(e_shell_window_peek_bonobo_ui_component): Likewise.

* e-user-creatable-items-handler.c: New.
* e-user-creatable-items-handler.h: New.

* e-shell-window.h: #include <bonobo/bonobo-ui-component.h>.

* e-shell.c (struct _EShellPrivate): Add member
user_creatable_items_handler.
(e_shell_get_user_creatable_items_handler): Remove.
(e_shell_peek_user_creatable_items_handler): New.

* Evolution-Component.idl (GNOME.Evolution.RequestCreateItem): New
method.
(GNOME.Evolution.creatableItems): New attribute.

* e-shell-user-creatable-items-handler.c: Remove.
* e-shell-user-creatable-items-handler.h: Remove.

svn path=/trunk/; revision=23314
2003-11-13 05:56:14 +00:00
a99f0c4290 Added a new "-c" command-line arg. (idle_cb): If the arg is specified,
* main.c: Added a new "-c" command-line arg.
(idle_cb): If the arg is specified, open the component with that
id/alias.

* e-shell.c (impl_Shell_createNewView): New, implementation for
the Shell::createNewView() CORBA method.
(e_shell_class_init): Install.
(e_shell_create_window): Get a component_id arg.

* e-shell-window.c (e_shell_window_new): Get a component_id arg
and create the window with that component activated if not NULL.

* Evolution-Shell.idl (createNewView): Remove.
(createNewWindow): New.

svn path=/trunk/; revision=23274
2003-11-11 01:01:11 +00:00
d40faeb22e New member "component_alias". (component_view_new): Get a new "alias" arg,
* e-shell-window.c (struct _ComponentView): New member
"component_alias".
(component_view_new): Get a new "alias" arg, set the member in the
struct accordingly.
(component_view_free): Free ->component_alias.
(setup_widgets): Pass the alias from the ComponentInfo to
e_component_view().
(switch_view): New utility function.
(sidebar_button_selected_callback): Use it.
(e_shell_window_switch_to_component): New public function.
(e_shell_window_new): Switch to the component whose id is in the
/apps/evolution/shell/view_defaults/component_id GConf key.

* apps_evolution_shell.schemas: Removed view_defaults/folder_path.
New key view_defaults/component_id.

* e-component-registry.c (component_info_free): Free ->alias.
(component_info_new): Get an "alias" arg and set the member
accordingly.
(query_components): Remove debugging messages.  Get an
"evolution:component_alias" property from the component and set
the alias from that.

* e-component-registry.h (struct _EComponentInfo): New member
"alias".

svn path=/trunk/; revision=23265
2003-11-10 21:21:47 +00:00
0fb08f3ff8 Merge new-ui-branch to the trunk.
svn path=/trunk/; revision=22964
2003-10-21 18:28:34 +00:00
fa88a2c61f Ooops, revert changes: wrong branch.
svn path=/trunk/; revision=21926
2003-07-23 22:17:32 +00:00