Commit Graph

31817 Commits

Author SHA1 Message Date
0eef4618ca Remove mail-config, vfolder, and filter deps from mail-folder-cache
Instead of pushing the updates to the right places, the folder cache simply
emits the appropriate signals and other objects are responsible for listening
and handling them appropriately.  This allows us to cut down the dependencies of
MailFolderCache significantly, which is a huge step towards allowing us to split
it off for the backend.

Another nice thing about this is that it allows us to trim a lot of 'public' api
from the filter, vfolder, and config classes that were only used by the cache.
Now that stuff can all be internal since they're pulling changes rather than
having the changes pushed.

The last remaining problematic dependency in MailFolderCache is
EmFolderTreeModel.  That is next on the chopping block.

https://bugzilla.gnome.org/show_bug.cgi?id=604627
2009-12-15 14:16:09 -06:00
6e73a7a8f3 Add signals to MailFolderCache for common events
This will allow us to decouple ourselves from some of the current dependencies,
such as the folder treemodel, the shell, etc.  This just defines the signals,
the next step is to refactor things and actually make other classes use them.

We need one additional signal yet related to indicating the new unread emails,
but that one will require a little more thought I think.

https://bugzilla.gnome.org/show_bug.cgi?id=604627
2009-12-15 14:16:08 -06:00
9c4f98e915 Add documentation to clarify mail-folder-cache functionality
Added a bunch of gtk-doc documentation as well as a variety of small comments in
the code.  Also added documentation and renamed a couple of mail_vfolder_*
functions that are only used by mail-folder-cache to make things a lot more
understandable.

https://bugzilla.gnome.org/show_bug.cgi?id=604627
2009-12-15 14:16:08 -06:00
65705e4f55 Make the mail folder cache a proper GObject
mail-folder-cache previously was a bit of a pseudo object (sort of a singleton)
that operated on some file static data.  This commit re-factors things so that
it is a proper class named MailFolderCache.  At the moment, this doesn't gain us
much, but in the future, it will allow us to add signals, etc so that we can
de-couple a lot of the interdependencies in here.  This is essentially a
pre-requisite to splitting up a lot of the mail backend stuff.

https://bugzilla.gnome.org/show_bug.cgi?id=604627
2009-12-15 14:16:08 -06:00
b8efcdb8d6 Bug #602505 - Incorrect information in message window 2009-12-15 18:36:37 +01:00
2aea353ce7 Move mail migration code to libevolution-mail.so.
So Anjal can reuse it.
2009-12-15 11:53:50 -05:00
859c8b5a8f Bug #603342 - Memory leak fixes 2009-12-15 11:12:41 +01:00
c0c247128c Bug 604562 - Typo in gconf schema 2009-12-14 23:23:29 -05: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
ca899cf1cb Make e_shell_window_update_search_menu() more crash-resistant. 2009-12-14 15:39:53 -05:00
baea9882fc Move icon theme path setup from main() to EShell.
So Anjal picks it up.
2009-12-14 15:37:17 -05:00
21f0613099 Bug #604512 - Calendar publishing tab misses button label 2009-12-14 18:56:51 +01:00
1407aa3c9b Bug #604182 - Hide variable used only with HAVE_LIBNOTIFY 2009-12-11 12:12:51 +01:00
223c2f4a75 Bug #602998 - Contacts searches are supposed to be per address book 2009-12-10 21:12:48 +01:00
4a9bf4dffd Bug #499322 - Use extension for "Save as" suggested file name 2009-12-10 16:08:52 +01:00
23b4037df0 Bug #603972 - Proper title for dialog
Use proper title for e_table_field_chooser_dialog
2009-12-10 09:49:03 +01:00
65931feb2a Bug #591938 - Update translator's comments 2009-12-09 18:55:15 +01:00
fe29acd5a9 Bug #604182 - Do not block UI with publish-calendar messages 2009-12-09 17:31:36 +01:00
e0ee2c648c Use EAlert API in EAlertActivity rather than using g_object_get_data
previously we were storing the EAlert's primary and secondary text in the dialog
object (using g_object_set_data_full).  Since EAlertDialog encapsulates an
EAlert and we have access to the underlying EAlert object, we can just use the
EAlert API to get the primary and secondary text rather than storing duplicates
copies of it in the dialog.
2009-12-08 14:38:00 -06:00
5a90243de0 Bug 604098 - Missing \n in EAlert
Fix another minor regression from my EAlert refactoring
2009-12-08 12:15:28 -06:00
d9a7ba37eb Use gchar instead of char in e-alert.c 2009-12-08 11:55:17 -06:00
1b13b2c178 Revert accidentally committed experimental code
commit 2fa4ec1334 accidentally included some
unrelated changes from an experimental branch I was working on.  This commit
reverts that.
2009-12-08 11:45:08 -06:00
5cdf3c8797 Handle the case where error definitions don't include certain fields
Some error definitions don't specify a title or secondary text.  Handle these
situations properly.  This was a regression caused by my refactoring.  Fixes
bug #604085.
2009-12-08 11:00:00 -06:00
2fa4ec1334 rename e_alert_get_buttons -> e_alert_peek_buttons
Make it obvious that this does not need to be freed like the other things that
use get_* (e.g. e_alert_get_title)
2009-12-08 11:00:00 -06:00
dd65b18ddf Kill ETableScrolled.
ETableScrolled is nothing but a GtkScrolledWindow containing an ETable.
It adds nothing of value and actually makes customizing ETable harder.
2009-12-08 01:55:28 -05:00
eb60a4e448 Kill ETreeScrolled.
Kill ETreeScrolled and convert MessageList to an ETree subclass.

ETreeScrolled is nothing but a GtkScrolledWindow containing an ETree.
It adds nothing of value and actually makes customizing ETree harder.
2009-12-08 01:55:28 -05:00
fb88de67c7 Adding new file to POTFILES.in (from commit to bug #359755) 2009-12-07 21:37:54 +01:00
a7cede983c Bug #359755 - Support for CalDAV collections 2009-12-07 21:19:50 +01:00
31204c9cc2 Port all error code to use GObject-ified EAlert / EAlertDialog
The changes are mainly including the e-alert-header.h header instead of just
e-alert.h.  This allows us to include e-alert.h in non-UI situations when
necessary.
2009-12-07 12:25:23 -06:00
f20528381a Add EAlertDialog
This is a proper implementation of the various alert dialog helper functions.
It is a proper subclass of GtkDialog, etc.
2009-12-07 12:25:23 -06:00
7aeb8fc272 Refactor EAlert to make it a GObject
This encapsulates things a bit better and will be useful in the future since it
will probably need to be a GObject if we want to communicate EAlerts between the
front- and back-ends
2009-12-07 12:25:23 -06:00
ae56580548 Remove libhal requirement from configure
It's not used. If build fails, then the dependencies should
depend on it, not Evolution.

https://bugzilla.gnome.org/show_bug.cgi?id=603974
2009-12-07 13:30:40 +00:00
bbb96a4fcd Updated Swedish translation 2009-12-06 20:59:44 +01:00
482492b3d1 Updated Hebrew translation 2009-12-06 00:30:02 +02:00
2400e28ab6 Updated Norwegian bokmål translation. 2009-12-05 12:14:08 +01:00
380aca6177 Update this 2009-12-04 22:02:25 +01:00
975cfc0def Updated Slovenian translation 2009-12-04 20:05:21 +01:00
0befe0bbee Synchronize help files with gnome-2-28 branch. 2009-12-04 10:59:50 -05:00
f0adcbbdf7 Bug 551464 - Paste files into composer as attachments 2009-12-03 14:27:05 -05:00
cc0b806134 Bug 603682 - Duplicate mnemonic in meeting window 2009-12-03 12:41:10 -05:00
40ff31b2af Bug 603592 - X11 window roles should be set 2009-12-03 11:31:21 -05:00
ba05eccc8d Revise the EShell ref-leak check to not upset Valgrind. 2009-12-02 16:50:53 -05:00
86770f6b77 Fixing widgets order and adding back mnemonics after glade removal 2009-12-02 13:56:13 +01: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
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
9379111ae4 Add e_shell_taskbar_get_activity_count().
For Anjal.

This really belongs in EShellBackend but the infrastructure is not
there yet.
2009-12-01 17:15:23 -05:00
e5883102e4 Bug #603061 - Use .ics for temp vcalendar files 2009-12-01 21:23:34 +01:00
8b434464f0 Revise a "to-do" comment that's done. 2009-12-01 15:12:35 -05:00
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