Commit Graph

85 Commits

Author SHA1 Message Date
Matthew Barnes 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
Matthew Barnes 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
Matthew Barnes 5e938b590f Expand the EMailReader interface so it's easier to use.
Adds the following methods:

  CamelFolder *   (*get_folder)          (EMailReader *reader);
  const gchar *   (*get_folder_uri)      (EMailReader *reader);
  GPtrArray *     (*get_selected_uids)   (EMailReader *reader);
2009-12-01 15:01:14 -05:00
Matthew Barnes b9f0119ef5 Update API documentation. 2009-11-28 18:02:49 -05:00
Matthew Barnes 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
Matthew Barnes 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
Matthew Barnes f11f1c477d Kill Evolution's icon cache once and for all.
GTK+ already does this.  Eliminates e_icon_factory_init() and
e_icon_factory_shutdown().
2009-11-19 14:51:11 -05:00
Matthew Barnes 054c088169 Bug 589153 - Use GtkBuilder instead of libglade 2009-11-16 19:33:32 -05:00
Matthew Barnes 81300bdf04 Add some new Gtk-Doc generated files. 2009-11-14 16:52:04 -05:00
Matthew Barnes 6b34da9aed Update API documentation. 2009-11-14 12:14:48 -05:00
Matthew Barnes 48a400618b Further tweaks for the command-line importing.
Includes Bastien Nocera's patch to register our importable MIME types
with the MIME database.
2009-11-12 13:02:23 -05:00
Matthew Barnes 425d49ebe1 Simplify clipboard handling in calendar. 2009-11-11 20:41:46 -05:00
Matthew Barnes 3dfdf087fc Kill more redundant save dialogs and related utilities. 2009-11-10 18:18:11 -05:00
Matthew Barnes 5beeca1f80 Kill e-cursor(s) (both of them). 2009-11-09 21:19:20 -05:00
Matthew Barnes 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
Matthew Barnes 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
Matthew Barnes 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
Matthew Barnes 0312291222 Gtk-Doc updates. 2009-10-07 10:14:55 -05:00
H.Habighorst aa2bed6ae3 Bug 596843 - Link to libraries when building API docs 2009-09-30 08:00:55 -04:00
Matthew Barnes bab29564a3 Show import progress directly in the assistant window. 2009-09-26 10:28:36 -04:00
Matthew Barnes 43a1145226 Rename EShellImporter to EImportAssistant and move it to widgets. 2009-09-26 10:28:24 -04:00
Matthew Barnes c30e55b2d5 Convert the shell importer to a widget class. 2009-09-26 10:28:18 -04:00
Matthew Barnes 5b771a7500 Developer documentation improvements. 2009-09-22 21:26:54 -04:00
Matthew Barnes 40a6ccc269 Fix some mistakes in the EShell documentation. 2009-09-02 22:18:41 -04:00
Matthew Barnes 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
Matthew Barnes 1b706132cf Deal with untracked files in git. 2009-08-25 14:02:14 -04:00
Matthew Barnes 8443ed41e3 Fix Gtk-Doc build break. 2009-08-23 08:18:30 -04:00
H.Habighorst 1eab1eeaeb Bug 591755 - Gtk-Doc build failure when NM support disabled 2009-08-17 09:38:23 -04:00
Matthew Barnes fac731e735 Simplify binding EShellSettings properties to GConf keys. 2009-07-31 14:02:14 -04:00
Matthew Barnes e5b7a6d28c Finish EggSMClient shell integration. 2009-07-15 16:40:04 -04:00
Matthew Barnes 009afeb0d1 Update EShell API docs. 2009-07-14 14:07:33 -04:00
Matthew Barnes 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
Matthew Barnes 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
Matthew Barnes 624f48121f Fix up EShell API documentation. 2009-06-30 20:05:07 -04:00
Matthew Barnes bfc5ba2511 Fix "make distcheck" errors and other build cleanups. 2009-06-30 18:34:08 -04:00
Matthew Barnes f0d3f3afdf Radically reorganize source code.
- Collect all shell modules into a new top-level 'modules' directory:

      $(top_srcdir)/modules/addressbook
      $(top_srcdir)/modules/calendar
      $(top_srcdir)/modules/mail

  Nothing is allowed to link to these, not plugins nor other modules.

  THIS SOLVES BUG #571275 AND OPENS THE DOOR TO PORTING TO MAC OS X.

- Mimic the libevolution-mail-shared library from master (except drop
  the "shared" suffix) and have libevolution-mail-importers and all
  mail-related plugins link to it.

- Discard the a11y subdirectories and have the files live alongside
  their counterpart widgets.
2009-06-24 18:29:22 -04:00
Matthew Barnes be8ee53934 Use key files for tracking widget states.
Each EShellView now maintains a GKeyFile for recording disposable widget
state such as tree view path expansion, scroll bar positions, combo box
selections, etc.  The EShellView records changes to the key file to
~/.evolution/<shell-backend>/config/state, and automatically restores
the GKeyFile at startup.

Currently only the mailer uses the key file, but it's intended to serve
all shell views.  It replaces the use of Camel "cmeta" files, as well as
"et-expanded-*" and "folder-tree-expand-state.xml" files.

Also, the mailer's folder tree model now includes a column for tracking
which sidebar folders are expanded.  Folder tree widgets appearing in
dialog windows can copy the sidebar's expanded state using
em_folder_tree_clone_expanded().
2009-06-13 10:49:05 -04:00
Matthew Barnes ed0cdbd790 Makefile.am cleanups. 2009-06-13 00:23:37 -04:00
Matthew Barnes df17adc5aa Search bar improvements.
Split the search entry into a new widget to manage hints (EHintedEntry).
Let the search entry expand to use available horizontal space.
2009-06-09 06:36:56 -04:00
Matthew Barnes a538f3f310 Fix several types of pedantic compiler warnings. 2009-05-20 22:52:36 -04:00
Matthew Barnes 92e942499b Fix bugs caused by EShellBackend changes. 2009-05-09 23:50:43 -04:00
Matthew Barnes e18f9eb725 Adapt tasks to EShellBackend changes. 2009-05-08 18:18:58 -04:00
Matthew Barnes 93b09e4208 Add another .gitignore 2009-04-28 22:18:32 -04:00
Matthew Barnes dc7efb1311 Use consistent variable names for GtkUIManager 2009-04-25 10:49:45 -04:00
Matthew Barnes faf1c14c11 Manual conflict resolution 2009-04-25 10:16:00 -04:00
Matthew Barnes 554dbbf728 Correct documentation.
svn path=/branches/kill-bonobo/; revision=37310
2009-02-23 03:30:56 +00:00
Matthew Barnes 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
Matthew Barnes 1a40acf554 Documentation tweaks.
Have e_shell_get_preferences_window() take an EShell argument.

svn path=/branches/kill-bonobo/; revision=37294
2009-02-19 06:22:32 +00:00
Matthew Barnes 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
Matthew Barnes 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