[evolution-rss] make preferences work again
- From: Lucian Langa <lucilanga src gnome org>
- To: svn-commits-list gnome org
- Cc:
- Subject: [evolution-rss] make preferences work again
- Date: Tue, 1 Sep 2009 20:46:04 +0000 (UTC)
commit ad5feb2d47948dda07d7373f3fed9d998f37c0a4
Author: Lucian Langa <lucilanga gnome org>
Date: Tue Sep 1 23:45:06 2009 +0300
make preferences work again
src/rss-config-factory.c | 43 +++++++++++++++++++++++++++++++++++++++----
src/rss-config-factory.h | 1 +
src/rss-icon-factory.c | 4 ++++
src/rss.c | 42 +++++++++++++++++++++---------------------
4 files changed, 65 insertions(+), 25 deletions(-)
---
diff --git a/src/rss-config-factory.c b/src/rss-config-factory.c
index c8edd14..af73245 100644
--- a/src/rss-config-factory.c
+++ b/src/rss-config-factory.c
@@ -37,6 +37,10 @@
#if EVOLUTION_VERSION < 22800 //kb//
#include <shell/evolution-config-control.h>
+#else
+#include <misc/e-preferences-window.h>
+#include <mail/e-mail-local.h>
+#include <shell/e-shell.h>
#endif
#include <e-util/e-error.h>
@@ -2358,8 +2362,11 @@ out: return NULL;
*=============*/
//kb//
-#if 0
-EvolutionConfigControl*
+#if EVOLUTION_VERSION < 22800
+EvolutionConfigControl *
+#else
+GtkWidget *
+#endif
rss_config_control_new (void)
{
GtkWidget *control_widget;
@@ -2596,7 +2603,7 @@ rss_config_control_new (void)
#if EVOLUTION_VERSION < 22800 //kb//
return evolution_config_control_new (control_widget);
#else
- return NULL;
+ return control_widget;
#endif
}
@@ -2616,6 +2623,34 @@ factory (BonoboGenericFactory *factory,
return NULL;
}
-
+#if EVOLUTION_VERSION < 22800
BONOBO_ACTIVATION_SHLIB_FACTORY (FACTORY_ID, "Evolution RSS component factory", factory, NULL)
#endif
+
+void
+init_rss_prefs(void)
+{
+ EShell *shell;
+ GtkWidget *preferences_window;
+
+ gchar *iconfile = g_build_filename (EVOLUTION_ICONDIR,
+ "rss.png",
+ NULL);
+ GdkPixbuf *folder_icon = gdk_pixbuf_new_from_file (iconfile, NULL);
+ gtk_icon_theme_add_builtin_icon ("evolution-rss-large",
+ GTK_ICON_SIZE_INVALID,
+ folder_icon);
+ g_free(iconfile);
+
+ shell = e_shell_get_default();
+ preferences_window = e_shell_get_preferences_window (shell);
+
+ e_preferences_window_add_page (
+ E_PREFERENCES_WINDOW (preferences_window),
+ "page-rss",
+ "evolution-rss-large",
+ _("News And Blogs"),
+ rss_config_control_new(),
+ 800);
+}
+
diff --git a/src/rss-config-factory.h b/src/rss-config-factory.h
index 6139174..dd8de87 100644
--- a/src/rss-config-factory.h
+++ b/src/rss-config-factory.h
@@ -27,6 +27,7 @@ void del_days_cb (GtkWidget *widget, add_feed *data);
void delete_feed_folder_alloc(gchar *old_name);
void rss_delete_folders (CamelStore *store, const char *full_name, CamelException *ex);
void remove_feed_hash(gpointer name);
+void init_rss_prefs(void);
#endif /*__RSS_CONFIG_FACTORY_H_*/
diff --git a/src/rss-icon-factory.c b/src/rss-icon-factory.c
index c54d025..ee1f3c9 100644
--- a/src/rss-icon-factory.c
+++ b/src/rss-icon-factory.c
@@ -59,3 +59,7 @@ rss_build_stock_images(void)
gtk_icon_source_free(source);
}
+void
+init_rss_builtin_images(void)
+{
+}
diff --git a/src/rss.c b/src/rss.c
index 476facf..f36d37d 100644
--- a/src/rss.c
+++ b/src/rss.c
@@ -343,25 +343,22 @@ rss_error(gpointer key, gchar *name, gchar *error, gchar *emsg)
ed = e_error_new(NULL, "org-gnome-evolution-rss:feederr",
error, msg, NULL);
gpointer newkey = g_strdup(key);
- g_signal_connect(ed, "response", G_CALLBACK(err_destroy), NULL);
- g_signal_connect(ed, "destroy", G_CALLBACK(dialog_key_destroy), newkey);
+ g_signal_connect(
+ ed, "response",
+ G_CALLBACK(err_destroy),
+ NULL);
+ g_object_set_data (
+ ed, "response-handled",
+ GINT_TO_POINTER (TRUE));
+ g_signal_connect(ed,
+ "destroy",
+ G_CALLBACK(dialog_key_destroy),
+ newkey);
+ //lame widget destruction, seems e_activity timeout does not destroy it
+ g_timeout_add_seconds(60, (GSourceFunc)gtk_widget_destroy, ed);
#if (EVOLUTION_VERSION >= 22800)
- EShell *shell;
- EShellBackend *shell_backend;
- EActivity *activity = NULL;
-
- shell = e_shell_get_default ();
- shell_backend = e_shell_get_backend_by_name (shell, "mail");
-
- activity = e_alert_activity_new_warning (ed);
- g_print("activity:%p\n", activity);
- e_shell_backend_add_activity (shell_backend, activity);
- g_object_unref (activity);
- if (g_object_get_data (G_OBJECT (ed), "response-handled") == NULL)
- g_signal_connect (
- ed, "response",
- G_CALLBACK (gtk_widget_destroy), NULL);
+ em_utils_show_error_silent(ed);
g_hash_table_insert(rf->error_hash, newkey, GINT_TO_POINTER(1));
#else
@@ -374,7 +371,6 @@ rss_error(gpointer key, gchar *name, gchar *error, gchar *emsg)
g_hash_table_insert(rf->error_hash, newkey, GINT_TO_POINTER(id));
#endif
}
-/* taskbar_op_finish(key);*/
goto out;
}
#endif
@@ -434,9 +430,9 @@ taskbar_op_abort(gpointer key)
guint activity_key = GPOINTER_TO_INT(g_hash_table_lookup(rf->activity, key));
if (activity_key)
e_activity_handler_operation_finished(activity_handler, activity_key);
+#endif
g_hash_table_remove(rf->activity, key);
abort_all_soup();
-#endif
}
#if EVOLUTION_VERSION >= 22800
@@ -1116,6 +1112,7 @@ rss_select_folder(gchar *folder_name)
static void
dialog_key_destroy (GtkWidget *widget, gpointer data)
{
+ g_print("dialog destroy\n");
if (data)
g_hash_table_remove(rf->error_hash, data);
}
@@ -3918,6 +3915,7 @@ store_folder_deleted(CamelObject *o, void *event_data, void *data)
static void
store_folder_renamed(CamelObject *o, void *event_data, void *data)
{
+g_print("folder rename\n");
CamelRenameInfo *info = event_data;
gchar *main_folder = lookup_main_folder();
@@ -4214,6 +4212,7 @@ void org_gnome_cooly_rss_startup(void *ep, ESEventTargetUpgrade *t);
void org_gnome_cooly_rss_startup(void *ep, ESEventTargetUpgrade *t)
#endif
{
+g_print("startup\n");
if (gconf_client_get_bool (rss_gconf, GCONF_KEY_START_CHECK, NULL)) {
//as I don't know how to set this I'll setup a 10 secs timeout
//and return false for disableation
@@ -4415,7 +4414,6 @@ org_gnome_cooly_rss(void *ep, EMEventTargetSendReceive *t)
org_gnome_cooly_rss(void *ep, EMPopupTargetSelect *t)
#endif
{
- g_print("send an d receive\n");
GtkWidget *label,*progress_bar, *cancel_button, *status_label;
GtkWidget *recv_icon;
@@ -4613,6 +4611,7 @@ e_plugin_ui_init (GtkUIManager *ui_manager,
rss_shell_view = shell_view;
}
+
#if (EVOLUTION_VERSION < 22800)
int e_plugin_lib_enable(EPluginLib *ep, int enable);
#else
@@ -4685,8 +4684,9 @@ e_plugin_lib_enable(EPlugin *ep, int enable)
if (2 == render)
rss_mozilla_init();
#endif
+ init_rss_prefs();
}
- upgrade = 2;
+ upgrade = 2; //init done
} else {
#if HAVE_DBUS
if (rf->bus != NULL)
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]