Commit Graph

382 Commits

Author SHA1 Message Date
7aacf983b3 Coding style and whitespace cleanup. 2011-06-29 18:41:41 +02:00
c003c99a75 Bug #614480 - Avoid using G_TYPE_INSTANCE_GET_PRIVATE repeatedly 2011-06-29 18:41:39 +02:00
8850d23455 Write state.ini immediately in EShellView::dispose method 2011-06-29 18:41:37 +02:00
a4e2599f95 Fix few memory leaks 2011-06-29 18:41:35 +02:00
274697623e Remove NULL checks for GObject methods.
As of GLib 2.28 all GObject virtual methods, including constructed(),
are safe to chain up to unconditionally.  Remove unnecessary checks.
2011-06-29 18:41:34 +02:00
c36bd27fa8 Bug #634403 - Mails Label popup menu is not updated properly 2011-06-29 18:41:20 +02:00
ca3faa17a9 Free/busy meeting view doesn't work due to non-working extension 2011-06-29 18:41:08 +02:00
48d805df31 Bug #207580 - Allow new mail check on individual accounts 2011-06-29 18:41:04 +02:00
c881b5bc5e Simplify EActivity.
With unintrusive error dialogs gone, we can cut some unnecessary bits
out of EActivity.

I'm also adding a new enum property called "state", which is one of:

    E_ACTIVITY_RUNNING
    E_ACTIVITY_WAITING
    E_ACTIVITY_CANCELLED
    E_ACTIVITY_COMPLETED

The state of an activity must be explicitly changed.  In particular,
when the user cancels an activity the state should be set only after
confirming the operation has been cancelled and not when cancellation
is requested (e.g. after receiving a G_IO_ERROR_CANCELLED, not when
the GCancellable emits "cancelled").  EActivityBar and EActivityProxy
widgets have been updated to make this distinction clearer in the UI.

E_ACTIVITY_WAITING will be used when activities have to be queued and
dispatched in sequence, which I haven't written yet.
2010-10-22 14:21:22 -04:00
2197e6401e Implement EAlertSinkInterface in EShellContent.
Use the same alert handling policy as the composer.
2010-10-18 10:57:36 -04:00
776d7f50b5 EShellView: Mark a string for translation. 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
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
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
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
c30d29425e Coding style and whitespace cleanup. 2010-05-01 23:18:28 -04:00
9b90e087b0 add a close-window action that doesn't become insensitive on the last window.
Use this in meego / full-screen mode
2010-04-14 20:56:30 +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
84ba2f958f Move "section" documentation out of header files. 2010-04-07 12:13:28 +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
b276c75c7c Bug #613352 - Changed time range not propagated to calendar 2010-04-01 16:18:40 +02:00
04bac0cf69 Bug #613352 - Changed time range not propagated to calendar 2010-04-01 16:16:25 +02: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
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
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
304777ae4c Add generic 'express mode' conditionals to the UI XML 2010-03-13 20:49:49 -05:00
ad14d51202 Relocate on windows paths in this file too 2010-03-10 14:07:56 +01:00
89d666e543 Bug 610023 - Does not restore "Current View" on startup
Adds a GalViewInstance::loaded signal so EShellView gets notified when
the initial view is loaded.
2010-03-09 15:07:28 -05:00
e1f477d50a Accidentally broke string freeze.
Apparently intltool disregards preprocessor directives...
2010-03-03 11:36:28 -05:00
2026a45165 Save state key file asynchronously.
Avoids blocking the UI in case the save triggers an fsync() which, on
ext3, synchronizes the entire filesystem.  The logic is a bit tricky
because we want to limit the frequency of saves and only run one save
operation at a time, but we also want to do an immediate last-ditch
save before finalizing the shell view.
2010-03-03 11:13:37 -05:00
31e449ebed Implement account-wide search scope in mail.
Also, let EShellSearchbar handle search state persistence.
2010-02-06 13:46:40 -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
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
fe15c797a0 Bug #603184 - Various problems with search box in folders 2009-12-17 18:17:21 +01:00
5ba8caffba Introduce EMailSidebar into libevolution-mail.
EMailSidebar is a subclass of EMFolderTree that implements the state
saving and restoration feature from EMailShellSidebar.  Placing this
in the shared mail library allows Anjal to reuse it.
2009-12-14 20:11:38 -05:00
054c088169 Bug 589153 - Use GtkBuilder instead of libglade 2009-11-16 19:33:32 -05:00
c75bacce45 Fix few compiler warnings 2009-11-03 13:06:38 +01:00
1cd5fb6de3 Don't update the message list when right-clicking on a folder.
After the folder's context menu closes the folder tree selection jumps
back to the folder whose contents are showing in the message list.
Suggested by Philippe LeCavalier on evolution-list.
2009-10-28 09:47:57 -04:00
fa9051e040 Finish killing Bonobo. 2009-09-08 14:53:45 -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
643db16894 Get the "save-calendar" plugin working.
Based on initial work by Milan Crha.
2009-09-03 13:27:31 -04:00
40a6ccc269 Fix some mistakes in the EShell documentation. 2009-09-02 22:18:41 -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
ce37d56d0b Get the "mail-to-task" plugin working again.
This one was more challenging.  It exposed some flaws in the new shell
design and in EPluginUI, which is good because they're fixed now.
2009-06-26 11:05:58 -04:00