Commit Graph

49 Commits

Author SHA1 Message Date
aac92ccc52 Move EPoolv back to Evolution from libedataserver.
MessageList is the only thing still using it.
EMemPool is gone now, so it uses CamelMemPool instead (same thing).
2010-03-31 16:34:06 -04:00
0347770e99 Update API docs. 2010-03-29 19:18:05 -04: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
aba12c7f78 Bug 613639 - Evolution hard codes .gnome2 2010-03-23 10:22:44 -04:00
5c3c117a73 More API documentation tweaking. 2010-03-21 23:30:44 -04: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
ecdb79111c Document EExtensible and EExtension.
The mechanism here is simple but hard to explain without leaning heavily
on object-oriented jargon.  Consider this a rough draft.  Illustrations
would certainly help clarify.
2010-03-21 15:49:30 -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
1040078ce6 Update API documentation.
Also, start fixing some Gtk-Doc warnings.  There's a lot.
2010-02-09 18:02:51 -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
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
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
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
b9f0119ef5 Update API documentation. 2009-11-28 18:02:49 -05:00
6b34da9aed Update API documentation. 2009-11-14 12:14:48 -05:00
5beeca1f80 Kill e-cursor(s) (both of them). 2009-11-09 21:19:20 -05: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
23c781c247 Remove redundant URI/filename conversion functions.
Use g_filename_to_uri() instead of e_util_filename_to_uri().
Use g_filename_from_uri() instead of e_util_uri_to_filename().
2009-11-05 23:26:32 -05:00
43a1145226 Rename EShellImporter to EImportAssistant and move it to widgets. 2009-09-26 10:28:24 -04:00
c30e55b2d5 Convert the shell importer to a widget class. 2009-09-26 10:28:18 -04:00
5b771a7500 Developer documentation improvements. 2009-09-22 21:26:54 -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
fac731e735 Simplify binding EShellSettings properties to GConf keys. 2009-07-31 14:02:14 -04:00
009afeb0d1 Update EShell API docs. 2009-07-14 14:07:33 -04:00
624f48121f Fix up EShell API documentation. 2009-06-30 20:05:07 -04:00
92e942499b Fix bugs caused by EShellBackend changes. 2009-05-09 23:50:43 -04:00
e18f9eb725 Adapt tasks to EShellBackend changes. 2009-05-08 18:18:58 -04:00
554dbbf728 Correct documentation.
svn path=/branches/kill-bonobo/; revision=37310
2009-02-23 03:30:56 +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
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
fd564be320 Clean up the EMFormat stack. Add some GObject properties to bind to.
Add some handy color conversion functions to e-util.

svn path=/branches/kill-bonobo/; revision=37290
2009-02-19 01:36:04 +00:00
ccd8e3964f Get mail search bar partially working without help from EFilterBar.
Search scope (current folder, current account, etc.) is still ignored.

svn path=/branches/kill-bonobo/; revision=37263
2009-02-14 00:30:08 +00:00
f4d9a26f99 Make MailSession available through EShellSettings so composer can use it.
svn path=/branches/kill-bonobo/; revision=37257
2009-02-12 19:01:33 +00:00
14e8637d6b Rewrite the mail label code from top to bottom.
- Kill the e-util-labels API and read label information into a
    single-column GtkListStore.  Use GConfBridge to automatically
    keep GConf synched with the list store.

  - The list store (a singleton instance) is stored in EShellSettings
    so it's available everywhere.

  - The list store serves as the model for EMailLabelTreeView,
    which itself is embedded in EMailLabelManager; a complete
    label management UI as seen in the preferences dialog.

  - EMailLabelDialog is used to add or edit a label.  Avoid using a
    color button, instead embed a GtkColorSelection directly in the
    dialog so everything is in one window.

Open issues:

  - The weird toggle/color/text menu items in the popup menu aren't
    there.  For now they're just regular toggle items.  I'll deal
    with it later.

  - Filter intergration is broken at the moment.


svn path=/branches/kill-bonobo/; revision=37233
2009-02-07 20:04:52 +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
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
98d262b594 Add action groups to support lockdown, starting with printing.
Other categories to follow.  Editors still need lockdown support.

svn path=/branches/kill-bonobo/; revision=37136
2009-01-27 03:50:19 +00:00
bc80332460 Miscellaneous stuff.
svn path=/branches/kill-bonobo/; revision=37134
2009-01-26 18:49:51 +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
c6e59dfc5b Update EShell documentation.
svn path=/branches/kill-bonobo/; revision=36936
2008-12-28 06:26:01 +00:00
ab0ea462f3 Documentation improvements.
svn path=/branches/kill-bonobo/; revision=36806
2008-11-19 23:54:02 +00:00
3c9c7a2ac1 Fix some compilation errors.
svn path=/branches/kill-bonobo/; revision=36561
2008-10-05 04:32:26 +00:00
6d1aea1b23 Support migration in the new shell design.
Some code got duplicated for calendars and tasks.  Made a note to revisit.

svn path=/branches/kill-bonobo/; revision=36560
2008-10-05 04:12:09 +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
e52986f422 Add more EShell API documentation.
svn path=/branches/kill-bonobo/; revision=36533
2008-10-01 18:58:37 +00:00
c6795be3a8 Continue documenting the new shell API.
svn path=/branches/kill-bonobo/; revision=36511
2008-10-01 03:48:51 +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