aboutsummaryrefslogtreecommitdiff
path: root/hardinfo2
diff options
context:
space:
mode:
Diffstat (limited to 'hardinfo2')
-rw-r--r--hardinfo2/iconcache.c2
-rw-r--r--hardinfo2/shell.c5
-rw-r--r--hardinfo2/syncmanager.c5
-rw-r--r--hardinfo2/syncmanager.h1
4 files changed, 12 insertions, 1 deletions
diff --git a/hardinfo2/iconcache.c b/hardinfo2/iconcache.c
index af4f98c0..ed7ce209 100644
--- a/hardinfo2/iconcache.c
+++ b/hardinfo2/iconcache.c
@@ -26,6 +26,8 @@ void icon_cache_init(void)
DEBUG("initializing icon cache");
if (!cache) {
cache = g_hash_table_new(g_str_hash, g_str_equal);
+ } else {
+ DEBUG("already initialized? huh?");
}
}
diff --git a/hardinfo2/shell.c b/hardinfo2/shell.c
index 180dcc0e..db3a6155 100644
--- a/hardinfo2/shell.c
+++ b/hardinfo2/shell.c
@@ -24,6 +24,7 @@
#include <hardinfo.h>
#include <shell.h>
+#include <syncmanager.h>
#include <iconcache.h>
#include <menu.h>
#include <stock.h>
@@ -104,7 +105,7 @@ void shell_action_set_property(const gchar * action_name,
void shell_action_set_enabled(const gchar * action_name, gboolean setting)
{
- if (params.gui_running) {
+ if (params.gui_running && shell->action_group) {
GtkAction *action;
action =
@@ -587,6 +588,8 @@ void shell_init(GSList * modules)
shell_action_set_enabled("SaveGraphAction", FALSE);
shell_action_set_active("SidePaneAction", TRUE);
shell_action_set_active("ToolbarAction", TRUE);
+
+ shell_action_set_enabled("SyncManagerAction", sync_manager_count_entries() > 0);
}
static gboolean update_field(gpointer data)
diff --git a/hardinfo2/syncmanager.c b/hardinfo2/syncmanager.c
index 1ba36377..ad075a1d 100644
--- a/hardinfo2/syncmanager.c
+++ b/hardinfo2/syncmanager.c
@@ -94,6 +94,11 @@ static void sync_dialog_netarea_start_actions(SyncDialog * sd,
#endif /* HAS_LIBSOUP */
+gint sync_manager_count_entries(void)
+{
+ return g_slist_length(entries);
+}
+
void sync_manager_add_entry(SyncEntry * entry)
{
#ifdef HAS_LIBSOUP
diff --git a/hardinfo2/syncmanager.h b/hardinfo2/syncmanager.h
index 78ca2153..93e238d7 100644
--- a/hardinfo2/syncmanager.h
+++ b/hardinfo2/syncmanager.h
@@ -36,5 +36,6 @@ struct _SyncEntry {
void sync_manager_add_entry(SyncEntry *entry);
void sync_manager_show(void);
+gint sync_manager_count_entries(void);
#endif /* __SYNCMANAGER_H__ */