Commit Graph

92 Commits

Author SHA1 Message Date
018018fabe Remove more Express Mode hacks.
This removes all traces of Express Mode from all but the contact editor
and calendar appointment editor.  Need to evaluate the remaining cases
individually.
2013-03-31 12:10:54 -04:00
0494d4c3c6 Remove EUIManager.
No longer needed.  Use GtkUIManager directly.
2013-03-31 12:10:54 -04:00
440ea8e3a0 Remove e_shell_configure_ui_manager().
No longer needed.
2013-03-31 12:10:54 -04:00
8e2902eefc Bump GDK_VERSION_MIN_REQUIRED to GDK_VERSION_3_2.
Clean up resulting deprecation warnings, which were all related to
GtkOrientable consolidation (e.g. gtk_hbox_new() -> gtk_box_new()).
2013-01-19 19:08:01 -05:00
6c05b09be1 Do not call g_object_notify() when property didn't change 2012-06-18 15:35:44 +02:00
8a41cca1c1 Bug 673955 - Can not display email and calendar in separate windows anymore 2012-04-11 19:51:50 -04:00
a01525c931 Miscellaneous EShellView-related cleanups. 2011-12-07 22:11:21 -05:00
f6f46ce7fc Use e_restore_window() and "org.gnome.evolution.window".
Apply it to all windows with persistent size and/or position.
2011-11-27 18:03:45 -06:00
2dd62937f0 Build fixes 2011-10-13 17:23:54 +02:00
d4e8e2f809 Migrate most of the shell code to GSettings 2011-10-13 16:53:51 +02:00
224f26b84d GtkApplication has some new EShell-like features.
I pushed a few EShell features up to GtkApplication for GTK+ 3.2,
so we can now trim off the redundancies in EShell.

1) GtkApplication has a new "window-added" signal which replaces
   EShell's own "window-created" signal.

2) GtkApplication has a new "window-removed" signal which replaces
   EShell's own "window-destroyed" signal.

3) gtk_application_get_windows() now returns a list of windows sorted
   by most recently focused, replacing e_shell_get_watched_windows().

4) GtkApplication now provides enough hooks to subclasses that we can
   remove e_shell_watch_window() and call gtk_application_add_window()
   directly.
2011-10-06 08:16:21 -04:00
756c8abcb8 Bug #646109 - Fix use of include <config.h> to make sure translations work 2011-05-27 15:23:07 +02:00
ba6a234386 Restore lockdown integration.
With lockdown settings available through GSettings, widgets can handle
lockdown integration themselves without having to use EShellSettings.

Also fixed a few places where printing or save-to-disk actions were
either not properly wired up or not responding to lockdown settings,
but much more work needs done.  Attachments, for example, are not
honoring the disable-save-to-disk setting at all.

This too requires the recently-added gsettings-desktop-schemas
dependency.
2011-03-27 18:38:39 -04:00
fcb29478f6 Coding style and whitespace cleanup. 2011-02-18 20:44:24 -05:00
94e43758de Bug #638333 - Critical warning when invoking File->New->Mail Folder 2011-02-16 13:14:49 +01:00
1afbba4a8b Bug 642171 - Implicit libgnome dependency for lockdown GConf keys
Lockdown keys have moved to gsettings-desktop-schemas, so disable
lockdown integration until we're ready for GSettings.
2011-02-12 13:40:33 -05:00
c2954322eb Bug #638057 - Evolution --express doesn't remember status bar setting 2011-02-11 14:46:13 +01:00
753c60fc67 Drop backward-compatibility cruft. 2011-01-25 10:28:26 -05:00
e39dd931bc Bug #207580 - Allow new mail check on individual accounts 2010-11-25 18:10:14 +01:00
f17e29a63a Add a compatibility code to previous patch 2010-11-09 02:49:40 +01:00
0c01510b4f Use gtk_paned_new() instead gtk_[v|h]paned_new() 2010-11-09 02:46:17 +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
1e663aa132 Replace EBinding with GBinding.
GObject now does property bindings itself.

Requires GLib >= 2.26.
2010-10-14 07:12:52 -04:00
179db75ce0 Bug #620815 - Memory leaks with Evolution 2010-06-24 20:43:16 +02:00
2cb330eb09 Revert "Bug #608203 - Left pane of mailer window is really narrow at startup"
This reverts commit 0cdd9484fe.

Causes the Mail window to erroneously switch to Contacts when opening
the Contacts window in express mode.
2010-05-28 16:17:30 -04:00
73d63f2a55 Minor EShellWindow cleanup. 2010-05-28 09:34:56 -04:00
7f51095908 Revert "don't bridge to the active-view gconf setting"
This reverts commit 2d68130cad.

Need to fix GConfBridge instead.
2010-05-27 11:19:52 -04:00
9653887891 Coding style and whitespace cleanup. 2010-05-25 10:15:32 -04:00
2d68130cad don't bridge to the active-view gconf setting 2010-04-27 17:47:57 +01:00
a84b1a3251 Merge commit 'origin/gnome-2-30' into express2 2010-04-21 17:06:38 +01:00
ef31f5027f Bug #608203 - Left pane of mailer window is really narrow at startup 2010-04-14 12:40:59 +02:00
a16f08974d Merge gnome-2-30 into express2 to get bugfixes
Note that express2 got some documentation for EExtensible and friends,
and that documentation is not in gnome-2-30 yet.  We need to cherry-pick
those commits into gnome-2-30 and elsewhere.
2010-04-09 12:21:32 -05:00
3dfd9aa7c4 [win32] Be consistent in disabling the lockdown options. 2010-04-07 23:49:18 +02:00
812724b034 Disable the status bar for all but the mail view.
Not implemented prettily, but cf. mail_shell_backend_window_created_cb
getting invoked even for addressbok windows ...
2010-04-07 12:26:52 +01:00
d9fb300813 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.

Conflicts:

	doc/reference/shell/eshell-sections.txt
2010-04-07 12:25:13 +01:00
ba8f7c993e Bug 612916 - e_lookup_action() called too early during initialization 2010-03-15 14:39:14 -04:00
04305b8fa3 Revert some bad assumptions I made in EPluginUI.
We can't require the use of EUIManager everywhere because we don't
control all the UI manager instances -- the most compelling example
being the composer, whose UI manager comes from GtkhtmlEditor.

Instead, EPluginUI will check the instance type and pick an appropriate
"load_from_string" function.
2010-03-15 12:14:36 -04: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
20168f042f Add a set of actions that open a view in a new window 2010-03-13 20:53:17 -05:00
19eea41c74 clean up the 'express' mode hooks for UI Managers and start to
extend them to plugins - use a simple one-off boolean on the UI Manager
instead of exhaustively trying to propagate this information everywhere.
2010-03-13 20:53:16 -05:00
3d95369f38 Hide switcher in express mode. 2010-03-13 20:52:51 -05:00
d73a224db5 Use "mail" as the fallback shell view when starting up.
This kind of violates the shell window being unaware of specific shell
views, but we need a sane fallback so users don't get an empty window.
2010-02-16 13:29:46 -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
3b199d9db0 Reverting commit 55c3f228ad because it's crashing Evolution 2009-12-23 12:03:58 +01:00
55c3f228ad Fix the way parent class is called. Anjal classes were never invoked
before.
2009-12-23 14:42:59 +05:30
f1825606e6 Allow EShellWindow "construct" methods to return NULL.
Also allow the methods themselves to be NULL.
2009-12-01 23:53:36 -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
eb0f59091a Hide actions when lockdown settings are enabled.
Hide actions that are disabled by lockdown settings instead of showing
them as disabled.  Showing them as disabled gives the impression the
user can do something to enable them, which is not the case here.
2009-11-13 11:43:17 -05:00
656178049b Build with GTK_DISABLE_DEPRECATED and fix resulting breakage. 2009-10-01 16:24:49 -04:00