diff options
author | Matthew Barnes <mbarnes@redhat.com> | 2009-05-04 21:08:32 +0800 |
---|---|---|
committer | Matthew Barnes <mbarnes@redhat.com> | 2009-05-04 21:08:32 +0800 |
commit | c3e0648d8b5a1d73f82f0a7691b9ab1320248392 (patch) | |
tree | 677c9472380b3119d08f42eb48c001d18bfd6243 | |
parent | 5395bd3308e25f3ca2ac1b35460ba6df1d294f4b (diff) | |
parent | fb970ccf14e33d92cfb9409d44f7b06355e958fc (diff) | |
download | gsoc2013-evolution-c3e0648d8b5a1d73f82f0a7691b9ab1320248392.tar.gz gsoc2013-evolution-c3e0648d8b5a1d73f82f0a7691b9ab1320248392.tar.zst gsoc2013-evolution-c3e0648d8b5a1d73f82f0a7691b9ab1320248392.zip |
Merge branch 'master' into kill-bonobo
Conflicts:
addressbook/gui/Makefile.am
addressbook/gui/widgets/Makefile.am
addressbook/gui/widgets/eab-popup-control.c
calendar/gui/e-meeting-time-sel.c
calendar/gui/migration.c
calendar/modules/e-memo-shell-module-migrate.h
e-util/e-logger.c
mail/e-mail-attachment-bar.c
mail/em-composer-utils.c
mail/em-format-html-display.c
plugins/mail-account-disable/Makefile.am
plugins/select-one-source/Makefile.am
po/es.po
shell/Makefile.am
shell/e-shell-common.h
shell/e-shell-nm.c
shell/e-shell-window-commands.c
shell/e-shell-window.c
shell/e-sidebar.c
shell/e-user-creatable-items-handler.c
shell/importer/Makefile.am
shell/test/Makefile.am
widgets/misc/test-error.c
widgets/misc/test-info-label.c
widgets/misc/test-multi-config-dialog.c
33 files changed, 129 insertions, 58 deletions
diff --git a/addressbook/addressbook.error.xml b/addressbook/addressbook.error.xml index 9ca302cdd0..76aea53e49 100644 --- a/addressbook/addressbook.error.xml +++ b/addressbook/addressbook.error.xml @@ -110,7 +110,8 @@ <error id="gw-book-list-init" type="warning"> <_primary>GroupWise Address book creation:</_primary> - <_secondary>Currently you can access only GroupWise System Address Book from Evolution. Please use some other GroupWise mail client once, to get your GroupWise Frequent Contacts and GroupWise Personal Contacts folders.</_secondary> + <_secondary>Currently you can only access the GroupWise System Address Book from Evolution. Please use some other GroupWise mail client once to get your GroupWise Frequent Contacts and Groupwise Personal Contacts folders. +</_secondary> </error> <error id="contact-delete-error-perm" type="warning"> diff --git a/addressbook/gui/component/ldap-config.glade b/addressbook/gui/component/ldap-config.glade index cc1fbd0174..f87cf84b14 100644 --- a/addressbook/gui/component/ldap-config.glade +++ b/addressbook/gui/component/ldap-config.glade @@ -950,7 +950,7 @@ Using distinguished name (DN)</property> <property name="activates_default">False</property> <accessibility> <atkproperty name="AtkObject::accessible_name" translatable="yes">Search Filter</atkproperty> - <atkproperty name="AtkObject::accessible_description" translatable="yes">Search filter is the type of the objects searched for, while performing the search. If this is not modified, by default search will be performed on objectclass of the type "person".</atkproperty> + <atkproperty name="AtkObject::accessible_description" translatable="yes">Search filter is the type of object to be searched for. If this is not modified, the default search will be performed on the type "person".</atkproperty> </accessibility> </widget> <packing> diff --git a/calendar/gui/alarm-notify/alarm-queue.c b/calendar/gui/alarm-notify/alarm-queue.c index 0328743a77..d30f2550f0 100644 --- a/calendar/gui/alarm-notify/alarm-queue.c +++ b/calendar/gui/alarm-notify/alarm-queue.c @@ -1866,7 +1866,7 @@ alarm_queue_init (gpointer data) } /* install timeout handler (every 30 mins) for not missing the midnight refresh */ - g_timeout_add (1800000, (GSourceFunc) check_midnight_refresh, NULL); + g_timeout_add_seconds (1800, (GSourceFunc) check_midnight_refresh, NULL); #ifdef HAVE_LIBNOTIFY notify_init("Evolution Alarms"); diff --git a/calendar/gui/alarm-notify/alarm.c b/calendar/gui/alarm-notify/alarm.c index bf96f1f664..5dca49ae25 100644 --- a/calendar/gui/alarm-notify/alarm.c +++ b/calendar/gui/alarm-notify/alarm.c @@ -153,7 +153,7 @@ setup_timeout (void) g_message ("Setting timeout for %d %lu %lu", diff, ar->trigger, now); g_message (" %s", ctime (&ar->trigger)); g_message (" %s", ctime (&now)); - timeout_id = g_timeout_add (diff * 1000, alarm_ready_cb, NULL); + timeout_id = g_timeout_add_seconds (diff, alarm_ready_cb, NULL); } diff --git a/calendar/gui/e-meeting-time-sel.c b/calendar/gui/e-meeting-time-sel.c index 6be38a0367..fdf73c49be 100644 --- a/calendar/gui/e-meeting-time-sel.c +++ b/calendar/gui/e-meeting-time-sel.c @@ -2917,7 +2917,7 @@ row_deleted_cb (GtkTreeModel *model, GtkTreePath *path, gpointer data) } -#define REFRESH_PAUSE 5000 +#define REFRESH_PAUSE 5 static gboolean free_busy_timeout_refresh (gpointer data) @@ -2951,7 +2951,7 @@ free_busy_template_changed_cb (GConfClient *client, g_source_remove (mts->fb_refresh_not); } - mts->fb_refresh_not = g_timeout_add (REFRESH_PAUSE, + mts->fb_refresh_not = g_timeout_add_seconds (REFRESH_PAUSE, free_busy_timeout_refresh, data); } diff --git a/composer/e-composer-autosave.c b/composer/e-composer-autosave.c index 78b8134941..842deae9c9 100644 --- a/composer/e-composer-autosave.c +++ b/composer/e-composer-autosave.c @@ -28,7 +28,7 @@ #define AUTOSAVE_PREFIX ".evolution-composer.autosave" #define AUTOSAVE_SEED AUTOSAVE_PREFIX "-XXXXXX" -#define AUTOSAVE_INTERVAL 60000 /* 60 seconds */ +#define AUTOSAVE_INTERVAL 60 /* 60 seconds */ typedef struct _AutosaveState AutosaveState; @@ -222,7 +222,7 @@ e_composer_autosave_register (EMsgComposer *composer) composer_autosave_notify, NULL); if (autosave_source_id == 0) - autosave_source_id = g_timeout_add ( + autosave_source_id = g_timeout_add_seconds ( AUTOSAVE_INTERVAL, (GSourceFunc) composer_autosave_timeout, NULL); } diff --git a/composer/evolution-composer.ui b/composer/evolution-composer.ui index 2f99708a0e..44a0a5162f 100644 --- a/composer/evolution-composer.ui +++ b/composer/evolution-composer.ui @@ -23,6 +23,9 @@ <placeholder name='external-editor-holder'/> <separator/> <separator/> + <placeholder name='external-editor-holder'/> + <separator/> + <separator/> <menuitem action='print-preview'/> <menuitem action='print'/> <separator/> diff --git a/configure.in b/configure.in index 9827d2f606..51e5267417 100644 --- a/configure.in +++ b/configure.in @@ -171,6 +171,16 @@ AM_CONDITIONAL(OS_WIN32, [test $os_win32 = yes]) AC_SUBST(NO_UNDEFINED) AC_SUBST(SOEXT) +if test "$os_win32" = "yes"; then + AC_CHECK_TOOL(WINDRES, windres, :) +else + WINDRES=":" +fi + +AM_CONDITIONAL(HAVE_WINDRES, test "x$WINDRES" != "x:") + +AC_SUBST(WINDRES) + # Check for base dependencies early. PKG_CHECK_MODULES(GNOME_PLATFORM, [glib-2.0 >= glib_minimum_version diff --git a/e-util/e-logger.c b/e-util/e-logger.c index 88f3a24327..97d27d03cf 100644 --- a/e-util/e-logger.c +++ b/e-util/e-logger.c @@ -36,7 +36,7 @@ #include "e-mktemp.h" /* 5 Minutes */ -#define TIMEOUT_INTERVAL 300000 +#define TIMEOUT_INTERVAL 300 #define E_LOGGER_GET_PRIVATE(obj) \ (G_TYPE_INSTANCE_GET_PRIVATE \ diff --git a/e-util/gconf-bridge.c b/e-util/gconf-bridge.c index 4ab0f59646..852d5f8f53 100644 --- a/e-util/gconf-bridge.c +++ b/e-util/gconf-bridge.c @@ -645,8 +645,8 @@ window_binding_perform_scheduled_sync (WindowBinding *binding) return FALSE; } -#define WINDOW_BINDING_SYNC_DELAY 1000 /* Delay before syncing new window - dimensions to GConf, in ms */ +#define WINDOW_BINDING_SYNC_DELAY 1 /* Delay before syncing new window + dimensions to GConf, in s */ /* Called when the window han been resized or moved */ static gboolean @@ -657,7 +657,7 @@ window_binding_configure_event_cb (GtkWindow *window, /* Schedule a sync */ if (binding->sync_timeout_id == 0) { binding->sync_timeout_id = - g_timeout_add (WINDOW_BINDING_SYNC_DELAY, + g_timeout_add_seconds (WINDOW_BINDING_SYNC_DELAY, (GSourceFunc) window_binding_perform_scheduled_sync, binding); diff --git a/mail/em-folder-tree.c b/mail/em-folder-tree.c index eaf817a0b7..d87db9c181 100644 --- a/mail/em-folder-tree.c +++ b/mail/em-folder-tree.c @@ -2358,5 +2358,5 @@ emft_queue_save_state (EMFolderTree *emft) if (priv->save_state_id != 0) return; - priv->save_state_id = g_timeout_add (1000, (GSourceFunc) emft_save_state, emft); + priv->save_state_id = g_timeout_add_seconds (1, (GSourceFunc) emft_save_state, emft); } diff --git a/mail/evolution-mail.schemas.in b/mail/evolution-mail.schemas.in index 3dca693698..2f6ecfef3c 100644 --- a/mail/evolution-mail.schemas.in +++ b/mail/evolution-mail.schemas.in @@ -234,8 +234,8 @@ <locale name="C"> <short>Enable or disable type ahead search feature</short> <long> - Enable side bar search feature so that you can start interactive searching by typing in the text. Use is that you can easily find a folder in that side bar by just typing the folder name and the selection jumps automatically to that folder. - </long> + Enable the side bar search feature to allow interactive searching of folder names. + </long> </locale> </schema> @@ -969,7 +969,7 @@ <locale name="C"> <short>Prompt while marking multiple messages</short> <long> - It disables/enables the prompt while marking multiple messages. + Enable or disable the prompt whilst marking multiple messages. </long> </locale> </schema> diff --git a/mail/mail-folder-cache.c b/mail/mail-folder-cache.c index 46a62e4fc2..f4e07f289c 100644 --- a/mail/mail-folder-cache.c +++ b/mail/mail-folder-cache.c @@ -982,8 +982,8 @@ mail_note_store(EShellModule *shell_module, CamelStore *store, CamelOperation *o count_sent = getenv("EVOLUTION_COUNT_SENT") != NULL; count_trash = getenv("EVOLUTION_COUNT_TRASH") != NULL; buf = getenv ("EVOLUTION_PING_TIMEOUT"); - timeout = buf ? strtoul (buf, NULL, 10) * 1000 : 600000; - ping_id = g_timeout_add (timeout, ping_cb, NULL); + timeout = buf ? strtoul (buf, NULL, 10) : 600; + ping_id = g_timeout_add_seconds (timeout, ping_cb, NULL); } si = g_hash_table_lookup(stores, store); diff --git a/mail/mail-ops.c b/mail/mail-ops.c index 939d3d2dd8..6e77055bac 100644 --- a/mail/mail-ops.c +++ b/mail/mail-ops.c @@ -2075,7 +2075,7 @@ save_messages_exec (struct _save_messages_msg *m) if (strstr (m->path, "://")) path = m->path; else - path = g_strjoin (NULL, "file://", m->path, NULL); + path = g_filename_to_uri (m->path, NULL, NULL); stream = camel_stream_vfs_new_with_uri (path, CAMEL_STREAM_VFS_CREATE); from_filter = camel_mime_filter_from_new(); @@ -2189,7 +2189,7 @@ save_part_exec (struct _save_part_msg *m) if (strstr (m->path, "://")) path = m->path; else - path = g_strjoin (NULL, "file://", m->path, NULL); + path = g_filename_to_uri (m->path, NULL, NULL); if(!m->readonly){ if (!(stream = camel_stream_vfs_new_with_uri (path, CAMEL_STREAM_VFS_CREATE))) { diff --git a/mail/mail-send-recv.c b/mail/mail-send-recv.c index 9fe40a5fbc..3ffc9b46a6 100644 --- a/mail/mail-send-recv.c +++ b/mail/mail-send-recv.c @@ -1045,7 +1045,7 @@ auto_account_commit(struct _auto_data *info) } info->period = period; if (check && info->timeout_id == 0) - info->timeout_id = g_timeout_add(info->period*1000, auto_timeout, info); + info->timeout_id = g_timeout_add_seconds(info->period, auto_timeout, info); } static void diff --git a/mail/mail-vfolder.c b/mail/mail-vfolder.c index 817b647dd7..2afcafdd6a 100644 --- a/mail/mail-vfolder.c +++ b/mail/mail-vfolder.c @@ -104,12 +104,6 @@ vfolder_setup_exec (struct _setup_msg *m) l = m->sources_uri; while (l && !shutdown) { d(printf(" Adding uri: %s\n", (char *)l->data)); - if (strncmp((char *)l->data, "vfolder:/", 9) == 0 || - strncmp((char *)l->data, "email://vfolder@local", 21) == 0) { - g_warning ("VFolder of VFolders not supporting. Ignoring loading this vfolder as a subfolder\n"); - l=l->next; - continue; - } folder = mail_tool_uri_to_folder (l->data, 0, &m->base.ex); if (folder) { @@ -268,11 +262,6 @@ vfolder_adduri_exec (struct _adduri_msg *m) g_warning("Folder '%s' disappeared while I was adding/remove it to/from my vfolder", m->uri); return; } - if (strncmp(m->uri, "vfolder:/", 9) == 0 || - strncmp(m->uri, "email://vfolder@local", 21) == 0) { - printf("Ignoring loading vfolder as a subfolder \n"); - return; - } if (folder == NULL) folder = mail_tool_uri_to_folder (m->uri, 0, &m->base.ex); @@ -725,14 +714,6 @@ rule_add_sources(GList *l, GList **sources_folderp, GList **sources_urip) while (l) { char *curi = em_uri_to_camel(l->data); - if (strncmp((char *)l->data, "vfolder:/", 9) == 0 || - strncmp((char *)l->data, "email://vfolder@local", 21) == 0) { - g_warning ("VFolder of VFolders not supporting. Ignoring loading this vfolder as a subfolder\n"); - l=l->next; - g_free(curi); - continue; - } - if (mail_note_get_folder_from_uri(curi, &newfolder)) { if (newfolder) sources_folder = g_list_append(sources_folder, newfolder); diff --git a/mail/message-list.c b/mail/message-list.c index 11d0f19707..39784acfcc 100644 --- a/mail/message-list.c +++ b/mail/message-list.c @@ -2760,7 +2760,7 @@ clear_info(char *key, ETreePath *node, MessageList *ml) } static void -clear_tree (MessageList *ml) +clear_tree (MessageList *ml, gboolean tfree) { ETreeModel *etm = ml->model; @@ -2784,7 +2784,8 @@ clear_tree (MessageList *ml) } ml->tree_root = e_tree_memory_node_insert (E_TREE_MEMORY(etm), NULL, 0, NULL); - + if (tfree) + e_tree_model_rebuilt (E_TREE_MODEL(etm)); #ifdef TIMEIT gettimeofday(&end, NULL); diff = end.tv_sec * 1000 + end.tv_usec/1000; @@ -2945,7 +2946,7 @@ build_tree (MessageList *ml, CamelFolderThread *thread, CamelFolderChangeInfo *c selected = message_list_get_selected(ml); #endif e_tree_memory_freeze(E_TREE_MEMORY(etm)); - clear_tree (ml); + clear_tree (ml, FALSE); build_subtree(ml, ml->tree_root, thread->tree, &row); e_tree_memory_thaw(E_TREE_MEMORY(etm)); @@ -3264,7 +3265,7 @@ build_flat (MessageList *ml, GPtrArray *summary, CamelFolderChangeInfo *changes) selected = message_list_get_selected(ml); #endif e_tree_memory_freeze(E_TREE_MEMORY(etm)); - clear_tree (ml); + clear_tree (ml, FALSE); for (i = 0; i < summary->len; i++) { ETreePath node; CamelMessageInfo *info = summary->pdata[i]; @@ -3530,7 +3531,7 @@ message_list_set_folder (MessageList *message_list, CamelFolder *folder, const c } e_tree_memory_freeze(E_TREE_MEMORY(etm)); - clear_tree (message_list); + clear_tree (message_list, TRUE); e_tree_memory_thaw(E_TREE_MEMORY(etm)); if (message_list->folder) { diff --git a/plugins/bbdb/bbdb.c b/plugins/bbdb/bbdb.c index 547a779961..adc89dbcb2 100644 --- a/plugins/bbdb/bbdb.c +++ b/plugins/bbdb/bbdb.c @@ -115,7 +115,7 @@ e_plugin_lib_enable (EPluginLib *ep, int enable) if (bbdb_check_gaim_enabled ()) bbdb_sync_buddy_list_check (); - g_timeout_add (BBDB_BLIST_CHECK_INTERVAL, + g_timeout_add_seconds (BBDB_BLIST_CHECK_INTERVAL, (GSourceFunc) bbdb_timeout, NULL); } diff --git a/plugins/bbdb/bbdb.h b/plugins/bbdb/bbdb.h index e36a7737c3..55c88709b0 100644 --- a/plugins/bbdb/bbdb.h +++ b/plugins/bbdb/bbdb.h @@ -33,7 +33,7 @@ /* How often to poll the buddy list for changes (every two minutes) */ -#define BBDB_BLIST_CHECK_INTERVAL (2 * 60 * 1000) +#define BBDB_BLIST_CHECK_INTERVAL (2 * 60) /* bbdb.c */ EBook *bbdb_open_addressbook (int type); diff --git a/plugins/publish-calendar/publish-calendar.c b/plugins/publish-calendar/publish-calendar.c index 4adbe0d726..a901317dfb 100644 --- a/plugins/publish-calendar/publish-calendar.c +++ b/plugins/publish-calendar/publish-calendar.c @@ -352,11 +352,11 @@ add_timeout (EPublishUri *uri) /* Set the timeout for now+frequency */ switch (uri->publish_frequency) { case URI_PUBLISH_DAILY: - id = g_timeout_add (24 * 60 * 60 * 1000, (GSourceFunc) publish_no_succ_info, uri); + id = g_timeout_add_seconds (24 * 60 * 60, (GSourceFunc) publish, uri); g_hash_table_insert (uri_timeouts, uri, GUINT_TO_POINTER (id)); break; case URI_PUBLISH_WEEKLY: - id = g_timeout_add (7 * 24 * 60 * 60 * 1000, (GSourceFunc) publish_no_succ_info, uri); + id = g_timeout_add_seconds (7 * 24 * 60 * 60, (GSourceFunc) publish, uri); g_hash_table_insert (uri_timeouts, uri, GUINT_TO_POINTER (id)); break; } @@ -419,7 +419,7 @@ add_offset_timeout (EPublishUri *uri) publish (uri, FALSE); add_timeout (uri); } else { - id = g_timeout_add (((24 * 60 * 60) - elapsed) * 1000, (GSourceFunc) publish_no_succ_info, uri); + id = g_timeout_add_seconds (24 * 60 * 60 - elapsed, (GSourceFunc) publish, uri); g_hash_table_insert (uri_timeouts, uri, GUINT_TO_POINTER (id)); break; } @@ -429,7 +429,7 @@ add_offset_timeout (EPublishUri *uri) publish (uri, FALSE); add_timeout (uri); } else { - id = g_timeout_add (((7 * 24 * 60 * 60) - elapsed) * 1000, (GSourceFunc) publish_no_succ_info, uri); + id = g_timeout_add_seconds (7 * 24 * 60 * 60 - elapsed, (GSourceFunc) publish, uri); g_hash_table_insert (uri_timeouts, uri, GUINT_TO_POINTER (id)); break; } @@ -17,7 +17,7 @@ msgstr "" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?" "product=evolution\n" "POT-Creation-Date: 2009-05-03 04:00+0000\n" -"PO-Revision-Date: 2009-05-03 11:38+0200\n" +"PO-Revision-Date: 2009-05-03 19:02+0200\n" "Last-Translator: Jorge González <jorgegonz@svn.gnome.org>\n" "Language-Team: Español <gnome-es-list@gnome.org>\n" "MIME-Version: 1.0\n" @@ -11591,7 +11591,7 @@ msgstr "Ocultar _sin formato" #: ../mail/em-format-html-display.c:2180 msgid "O_pen With" -msgstr "Abrir _con" +msgstr "Abrir c_on" #: ../mail/em-format-html-display.c:2257 msgid "" diff --git a/shell/Makefile.am b/shell/Makefile.am index d20b49a3d0..8fd5896fe3 100644 --- a/shell/Makefile.am +++ b/shell/Makefile.am @@ -94,6 +94,10 @@ libeshell_la_LIBADD = \ # Evolution executable +if HAVE_WINDRES +EVOLUTIONICONRC = evolution-icon.o +endif + evolution_SOURCES = \ $(DATASERVER_IDL_GENERATED) \ $(NM_SUPPORT_FILES) \ @@ -117,7 +121,8 @@ evolution_LDADD = \ $(top_builddir)/widgets/misc/libemiscwidgets.la \ $(top_builddir)/e-util/libeutil.la \ $(TZDIALOG_LIBS) \ - $(SHELL_LIBS) + $(SHELL_LIBS) \ + $(EVOLUTIONICONRC) if OS_WIN32 evolution_LDFLAGS = -mwindows @@ -191,7 +196,12 @@ EXTRA_DIST = \ $(glade_DATA) \ $(schema_in_files) \ ChangeLog.pre-1-4 \ - evolution-nognome.in + evolution-nognome.in \ + evolution-icon.rc \ + evolution.ico \ + evolution-mail.ico \ + evolution-memos.ico \ + evolution-tasks.ico # Purify support @@ -217,5 +227,7 @@ dist-hook: noinst_SCRIPTS = evolution-nognome +evolution-icon.o: evolution.ico evolution-mail.ico evolution-memos.ico evolution-tasks.ico + $(WINDRES) evolution-icon.rc evolution-icon.o -include $(top_srcdir)/git.mk diff --git a/shell/e-shell-nm.c b/shell/e-shell-nm.c index c1598b4a7d..7b2f49e236 100644 --- a/shell/e-shell-nm.c +++ b/shell/e-shell-nm.c @@ -63,7 +63,7 @@ e_shell_network_monitor (DBusConnection *connection G_GNUC_UNUSED, dbus_connection_unref (dbus_connection); dbus_connection = NULL; - g_timeout_add (3000, (GSourceFunc) reinit_dbus, shell); + g_timeout_add_seconds (3, reinit_dbus, shell); return DBUS_HANDLER_RESULT_HANDLED; } diff --git a/shell/evolution-icon.rc b/shell/evolution-icon.rc new file mode 100644 index 0000000000..275dac7d4a --- /dev/null +++ b/shell/evolution-icon.rc @@ -0,0 +1,4 @@ +1 ICON "evolution.ico" +2 ICON "evolution-mail.ico" +3 ICON "evolution-memos.ico" +4 ICON "evolution-tasks.ico" diff --git a/shell/evolution-mail.ico b/shell/evolution-mail.ico Binary files differnew file mode 100644 index 0000000000..8922dd1957 --- /dev/null +++ b/shell/evolution-mail.ico diff --git a/shell/evolution-memos.ico b/shell/evolution-memos.ico Binary files differnew file mode 100644 index 0000000000..7fa6f4c00e --- /dev/null +++ b/shell/evolution-memos.ico diff --git a/shell/evolution-tasks.ico b/shell/evolution-tasks.ico Binary files differnew file mode 100644 index 0000000000..73c607982c --- /dev/null +++ b/shell/evolution-tasks.ico diff --git a/shell/evolution.ico b/shell/evolution.ico Binary files differnew file mode 100644 index 0000000000..8e34f745a6 --- /dev/null +++ b/shell/evolution.ico diff --git a/widgets/table/e-table-search.c b/widgets/table/e-table-search.c index 7a51b62f1c..307d28de39 100644 --- a/widgets/table/e-table-search.c +++ b/widgets/table/e-table-search.c @@ -100,7 +100,7 @@ static void add_timeout (ETableSearch *ets) { drop_timeout (ets); - ets->priv->timeout_id = g_timeout_add (1000, ets_accept, ets); + ets->priv->timeout_id = g_timeout_add_seconds (1, ets_accept, ets); } static void diff --git a/widgets/table/e-tree-model.c b/widgets/table/e-tree-model.c index 10c7afeb54..b2e2d99a75 100644 --- a/widgets/table/e-tree-model.c +++ b/widgets/table/e-tree-model.c @@ -53,6 +53,7 @@ enum { NODE_REMOVED, NODE_DELETED, NODE_REQUEST_COLLAPSE, + REBUILT, LAST_SIGNAL }; @@ -82,6 +83,15 @@ e_tree_model_class_init (ETreeModelClass *klass) g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0); + e_tree_model_signals [REBUILT] = + g_signal_new ("rebuilt", + G_TYPE_FROM_CLASS (object_class), + G_SIGNAL_RUN_LAST, + G_STRUCT_OFFSET (ETreeModelClass, rebuilt), + (GSignalAccumulator) NULL, NULL, + g_cclosure_marshal_VOID__VOID, + G_TYPE_NONE, 0); + e_tree_model_signals [NODE_CHANGED] = g_signal_new ("node_changed", G_TYPE_FROM_CLASS (object_class), @@ -183,6 +193,7 @@ e_tree_model_class_init (ETreeModelClass *klass) klass->pre_change = NULL; klass->no_change = NULL; + klass->rebuilt = NULL; klass->node_changed = NULL; klass->node_data_changed = NULL; klass->node_col_changed = NULL; @@ -241,6 +252,25 @@ e_tree_model_no_change (ETreeModel *tree_model) } /** + * e_tree_model_rebuilt: + * @tree_model: + * @node: + * + * + * + * Return value: + **/ +void +e_tree_model_rebuilt (ETreeModel *tree_model) +{ + g_return_if_fail (tree_model != NULL); + g_return_if_fail (E_IS_TREE_MODEL (tree_model)); + + d(g_print("Emitting rebuilt on model 0x%p, a %s.\n", tree_model, g_type_name (GTK_OBJECT(tree_model)->klass->type))); + + g_signal_emit (G_OBJECT (tree_model), e_tree_model_signals [REBUILT], 0); +} +/** * e_tree_model_node_changed: * @tree_model: * @node: diff --git a/widgets/table/e-tree-model.h b/widgets/table/e-tree-model.h index a318bd7df0..96828a8e0a 100644 --- a/widgets/table/e-tree-model.h +++ b/widgets/table/e-tree-model.h @@ -112,6 +112,7 @@ struct ETreeModelClass { void (*node_inserted) (ETreeModel *etm, ETreePath parent, ETreePath inserted_node); void (*node_removed) (ETreeModel *etm, ETreePath parent, ETreePath removed_node, int old_position); void (*node_deleted) (ETreeModel *etm, ETreePath deleted_node); + void (*rebuilt) (ETreeModel *etm); /* This signal requests that any viewers of the tree that * collapse and expand nodes collapse this node. @@ -206,6 +207,7 @@ ETreePath e_tree_model_node_find (ETreeModel *model, */ void e_tree_model_pre_change (ETreeModel *tree_model); void e_tree_model_no_change (ETreeModel *tree_model); +void e_tree_model_rebuilt (ETreeModel *tree_model); void e_tree_model_node_changed (ETreeModel *tree_model, ETreePath node); void e_tree_model_node_data_changed (ETreeModel *tree_model, diff --git a/widgets/table/e-tree-table-adapter.c b/widgets/table/e-tree-table-adapter.c index 7e63a64783..10c29fbf10 100644 --- a/widgets/table/e-tree-table-adapter.c +++ b/widgets/table/e-tree-table-adapter.c @@ -72,6 +72,7 @@ struct ETreeTableAdapterPriv { int pre_change_id; int no_change_id; + int rebuilt_id; int node_changed_id; int node_data_changed_id; int node_col_changed_id; @@ -543,6 +544,8 @@ etta_dispose (GObject *object) g_signal_handler_disconnect (G_OBJECT (etta->priv->source), etta->priv->no_change_id); g_signal_handler_disconnect (G_OBJECT (etta->priv->source), + etta->priv->rebuilt_id); + g_signal_handler_disconnect (G_OBJECT (etta->priv->source), etta->priv->node_changed_id); g_signal_handler_disconnect (G_OBJECT (etta->priv->source), etta->priv->node_data_changed_id); @@ -730,6 +733,7 @@ etta_init (ETreeTableAdapter *etta) etta->priv->pre_change_id = 0; etta->priv->no_change_id = 0; + etta->priv->rebuilt_id = 0; etta->priv->node_changed_id = 0; etta->priv->node_data_changed_id = 0; etta->priv->node_col_changed_id = 0; @@ -754,6 +758,27 @@ etta_proxy_no_change (ETreeModel *etm, ETreeTableAdapter *etta) } static gboolean +remove_all (gpointer key, gpointer value, gpointer data) +{ + GNode *gn = (GNode *) data; + if (data) + g_free (gn->data); + + return TRUE; +} + +static void +etta_proxy_rebuilt (ETreeModel *etm, ETreeTableAdapter *etta) +{ + if (!etta->priv->root) + return; + kill_gnode (etta->priv->root, etta); + etta->priv->root = NULL; + g_hash_table_destroy (etta->priv->nodes); + etta->priv->nodes = g_hash_table_new(NULL, NULL); +} + +static gboolean resort_model (ETreeTableAdapter *etta) { etta_sort_info_changed (NULL, etta); @@ -866,6 +891,8 @@ e_tree_table_adapter_construct (ETreeTableAdapter *etta, ETreeModel *source, ETa G_CALLBACK (etta_proxy_pre_change), etta); etta->priv->no_change_id = g_signal_connect (G_OBJECT (source), "no_change", G_CALLBACK (etta_proxy_no_change), etta); + etta->priv->rebuilt_id = g_signal_connect (G_OBJECT (source), "rebuilt", + G_CALLBACK (etta_proxy_rebuilt), etta); etta->priv->node_changed_id = g_signal_connect (G_OBJECT (source), "node_changed", G_CALLBACK (etta_proxy_node_changed), etta); etta->priv->node_data_changed_id = g_signal_connect (G_OBJECT (source), "node_data_changed", diff --git a/widgets/text/e-text.c b/widgets/text/e-text.c index f15317b01e..0890b46243 100644 --- a/widgets/text/e-text.c +++ b/widgets/text/e-text.c @@ -2460,7 +2460,7 @@ e_text_event (GnomeCanvasItem *item, GdkEvent *event) { if ( text->tooltip_count == 0 && text->clip) { if (!text->tooltip_timeout) - text->tooltip_timeout = g_timeout_add (2000, _do_tooltip, text); + text->tooltip_timeout = g_timeout_add_seconds (2, _do_tooltip, text); } text->tooltip_count ++; } |