[anjuta/sdb-core-trans] symbol-db: removed symbol-db-prefs.[c|h]. Moved code into plugin.c
- From: Massimo Cora' <mcora src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [anjuta/sdb-core-trans] symbol-db: removed symbol-db-prefs.[c|h]. Moved code into plugin.c
- Date: Sat, 14 Aug 2010 16:24:55 +0000 (UTC)
commit f5da06d1ff8d370f5b6e3fe59297ed3c3e7125ad
Author: Massimo Corà <mcora src gnome org>
Date: Sat Aug 14 18:22:29 2010 +0200
symbol-db: removed symbol-db-prefs.[c|h]. Moved code into plugin.c
plugins/symbol-db/Makefile.am | 2 -
plugins/symbol-db/anjuta-symbol-db.ui | 110 +-------------------
plugins/symbol-db/plugin.c | 78 +++++++++------
plugins/symbol-db/plugin.h | 7 +-
plugins/symbol-db/symbol-db-prefs.c | 183 ---------------------------------
plugins/symbol-db/symbol-db-prefs.h | 76 --------------
6 files changed, 54 insertions(+), 402 deletions(-)
---
diff --git a/plugins/symbol-db/Makefile.am b/plugins/symbol-db/Makefile.am
index 13d429b..e7d9cfa 100644
--- a/plugins/symbol-db/Makefile.am
+++ b/plugins/symbol-db/Makefile.am
@@ -58,8 +58,6 @@ libanjuta_symbol_db_la_SOURCES = \
readtags.h \
symbol-db-system.h \
symbol-db-system.c \
- symbol-db-prefs.h \
- symbol-db-prefs.c \
symbol-db-engine-utils.c \
symbol-db-engine-utils.h \
symbol-db-engine-priv.h \
diff --git a/plugins/symbol-db/anjuta-symbol-db.ui b/plugins/symbol-db/anjuta-symbol-db.ui
index a63ee22..7c35e9d 100644
--- a/plugins/symbol-db/anjuta-symbol-db.ui
+++ b/plugins/symbol-db/anjuta-symbol-db.ui
@@ -23,30 +23,12 @@
<child>
<object class="GtkVBox" id="vbox1">
<property name="visible">True</property>
+ <property name="orientation">vertical</property>
<child>
<placeholder/>
</child>
<child>
- <object class="GtkHBox" id="hbox2">
- <property name="visible">True</property>
- <child>
- <object class="GtkCheckButton" id="preferences_toggle:bool:1:1:symboldb.scan_prj_pkgs">
- <property name="label" translatable="yes">Automatically scan project's packages</property>
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="receives_default">False</property>
- <property name="has_tooltip">True</property>
- <property name="tooltip_text" translatable="yes">This option enables the default packages required by your opened project, e.g. Glib and GTK+ if you create a GTK+ project (may require more CPU work)</property>
- <property name="draw_indicator">True</property>
- </object>
- <packing>
- <property name="position">0</property>
- </packing>
- </child>
- </object>
- <packing>
- <property name="position">1</property>
- </packing>
+ <placeholder/>
</child>
<child>
<object class="GtkHBox" id="hbox4">
@@ -85,7 +67,8 @@
<property name="draw_indicator">True</property>
</object>
<packing>
- <property name="position">0</property>
+ <property name="pack_type">end</property>
+ <property name="position">1</property>
</packing>
</child>
</object>
@@ -114,91 +97,6 @@
<property name="position">0</property>
</packing>
</child>
- <child>
- <object class="GtkFrame" id="frame2">
- <property name="visible">True</property>
- <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
- <property name="label_xalign">0</property>
- <property name="shadow_type">none</property>
- <child>
- <object class="GtkAlignment" id="alignment2">
- <property name="visible">True</property>
- <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
- <property name="top_padding">2</property>
- <property name="left_padding">12</property>
- <child>
- <object class="GtkScrolledWindow" id="scrolledwindow1">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
- <property name="hscrollbar_policy">automatic</property>
- <property name="vscrollbar_policy">automatic</property>
- <property name="shadow_type">in</property>
- <child>
- <object class="GtkTreeView" id="tags_treeview">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK | GDK_STRUCTURE_MASK</property>
- </object>
- </child>
- </object>
- </child>
- </object>
- </child>
- <child type="label">
- <object class="GtkLabel" id="label3">
- <property name="visible">True</property>
- <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
- <property name="label" translatable="yes">Available API tags</property>
- <attributes>
- <attribute name="weight" value="bold"/>
- </attributes>
- </object>
- </child>
- </object>
- <packing>
- <property name="position">1</property>
- </packing>
- </child>
- <child>
- <object class="GtkFrame" id="frame3">
- <property name="visible">True</property>
- <property name="label_xalign">0</property>
- <property name="shadow_type">none</property>
- <child>
- <object class="GtkAlignment" id="alignment3">
- <property name="visible">True</property>
- <property name="left_padding">12</property>
- <child>
- <object class="GtkHBox" id="hbox3">
- <property name="visible">True</property>
- <property name="homogeneous">True</property>
- <child>
- <object class="GtkProgressBar" id="prefs_progressbar">
- <property name="visible">True</property>
- <property name="sensitive">False</property>
- <property name="show_text">True</property>
- <property name="text" translatable="yes">Checking if package is parseableâ?¦</property>
- <property name="ellipsize">end</property>
- </object>
- <packing>
- <property name="position">0</property>
- </packing>
- </child>
- </object>
- </child>
- </object>
- </child>
- <child type="label_item">
- <placeholder/>
- </child>
- </object>
- <packing>
- <property name="expand">False</property>
- <property name="fill">False</property>
- <property name="position">2</property>
- </packing>
- </child>
</object>
</child>
</object>
diff --git a/plugins/symbol-db/plugin.c b/plugins/symbol-db/plugin.c
index 1b359a7..664b8f1 100644
--- a/plugins/symbol-db/plugin.c
+++ b/plugins/symbol-db/plugin.c
@@ -43,12 +43,17 @@
#include "plugin.h"
#include "symbol-db-engine.h"
-#include "symbol-db-prefs.h"
#include "symbol-db-views.h"
#define ICON_FILE "anjuta-symbol-db-plugin-48.png"
#define UI_FILE PACKAGE_DATA_DIR"/ui/anjuta-symbol-db-plugin.xml"
+#define BUILDER_FILE PACKAGE_DATA_DIR"/glade/anjuta-symbol-db.ui"
+#define BUILDER_ROOT "symbol_prefs"
+#define ICON_FILE "anjuta-symbol-db-plugin-48.png"
+#define PREFS_BUFFER_UPDATE "preferences_toggle:bool:1:1:symboldb.buffer_update"
+#define PREFS_PARALLEL_SCAN "preferences_toggle:bool:1:1:symboldb.parallel_scan"
+
#define TIMEOUT_INTERVAL_SYMBOLS_UPDATE 10
#define TIMEOUT_SECONDS_AFTER_LAST_TIP 5
@@ -503,7 +508,7 @@ on_editor_buffer_symbol_update_scan_end (SymbolDBEngine *dbe, gint process_id,
}
/* add a default timeout to the updating of buffer symbols */
- tags_update = anjuta_preferences_get_bool (sdb_plugin->prefs, BUFFER_AUTOSCAN);
+ tags_update = anjuta_preferences_get_bool (sdb_plugin->prefs, PREFS_BUFFER_UPDATE);
if (tags_update)
{
@@ -680,7 +685,7 @@ value_added_current_editor (AnjutaPlugin *plugin, const char *name,
g_object_set (sdb_plugin->file_model, "file-path", local_path, NULL);
/* add a default timeout to the updating of buffer symbols */
- tags_update = anjuta_preferences_get_bool (sdb_plugin->prefs, BUFFER_AUTOSCAN);
+ tags_update = anjuta_preferences_get_bool (sdb_plugin->prefs, PREFS_BUFFER_UPDATE);
if (tags_update)
{
@@ -1571,7 +1576,7 @@ on_session_load (AnjutaShell *shell, AnjutaSessionPhase phase,
/* get preferences about the parallel scan */
gboolean parallel_scan = anjuta_preferences_get_bool (sdb_plugin->prefs,
- PARALLEL_SCAN);
+ PREFS_PARALLEL_SCAN);
if (parallel_scan == TRUE &&
symbol_db_engine_is_connected (sdb_plugin->sdbe_globals) == TRUE)
@@ -1862,7 +1867,7 @@ on_scan_end_manager (SymbolDBEngine *dbe, gint process_id,
/* get preferences about the parallel scan */
gboolean parallel_scan = anjuta_preferences_get_bool (sdb_plugin->prefs,
- PARALLEL_SCAN);
+ PREFS_PARALLEL_SCAN);
/* check the system population has a parallel fashion or not. */
if (parallel_scan == FALSE)
@@ -2069,10 +2074,6 @@ symbol_db_activate (AnjutaPlugin *plugin)
g_signal_connect (G_OBJECT (sdb_plugin->sdbe_project), "scan-end",
G_CALLBACK (on_isymbol_manager_prj_scan_end), sdb_plugin);
-
-
- /* sets preferences to NULL, it'll be instantiated when required. */
- sdb_plugin->sdbp = NULL;
/* Create widgets */
sdb_plugin->dbv_main = gtk_vbox_new(FALSE, 5);
@@ -2411,15 +2412,19 @@ symbol_db_class_init (GObjectClass *klass)
}
static void
-on_prefs_buffer_update_toggled (SymbolDBPrefs *sdbp, guint value,
- gpointer user_data)
+on_prefs_buffer_update_toggled (GtkToggleButton* button,
+ gpointer user_data)
{
SymbolDBPlugin *sdb_plugin;
- DEBUG_PRINT ("on_prefs_buffer_update_toggled () %d", value);
+ gboolean sensitive;
sdb_plugin = ANJUTA_PLUGIN_SYMBOL_DB (user_data);
- if (value == FALSE)
+ sensitive = gtk_toggle_button_get_active (button);
+
+ DEBUG_PRINT ("on_prefs_buffer_update_toggled () %d", sensitive);
+
+ if (sensitive == FALSE)
{
if (sdb_plugin->buf_update_timeout_id)
g_source_remove (sdb_plugin->buf_update_timeout_id);
@@ -2431,8 +2436,7 @@ on_prefs_buffer_update_toggled (SymbolDBPrefs *sdbp, guint value,
sdb_plugin->buf_update_timeout_id =
g_timeout_add_seconds (TIMEOUT_INTERVAL_SYMBOLS_UPDATE,
on_editor_buffer_symbols_update_timeout,
- sdb_plugin);
-
+ sdb_plugin);
}
}
@@ -2441,20 +2445,34 @@ ipreferences_merge(IAnjutaPreferences* ipref, AnjutaPreferences* prefs, GError**
{
DEBUG_PRINT ("%s", "SymbolDB: ipreferences_merge");
SymbolDBPlugin *sdb_plugin;
+ GtkWidget *buf_up_widget;
sdb_plugin = ANJUTA_PLUGIN_SYMBOL_DB (ipref);
-
- if (sdb_plugin->sdbp == NULL)
+
+ if (sdb_plugin->prefs_bxml == NULL)
{
- sdb_plugin->sdbp = symbol_db_prefs_new (sdb_plugin->sdbs,
- sdb_plugin->sdbe_project,
- sdb_plugin->sdbe_globals,
- prefs);
-
- g_signal_connect (G_OBJECT (sdb_plugin->sdbp), "buffer-update-toggled",
- G_CALLBACK (on_prefs_buffer_update_toggled),
- sdb_plugin);
+ GError* error = NULL;
+ /* Create the preferences page */
+ sdb_plugin->prefs_bxml = gtk_builder_new ();
+ if (!gtk_builder_add_from_file (sdb_plugin->prefs_bxml, BUILDER_FILE, &error))
+ {
+ g_warning ("Couldn't load builder file: %s", error->message);
+ g_error_free(error);
+ }
}
+
+ anjuta_preferences_add_from_builder (prefs,
+ sdb_plugin->prefs_bxml,
+ BUILDER_ROOT,
+ _("Symbol Database"),
+ ICON_FILE);
+
+ buf_up_widget = GTK_WIDGET (gtk_builder_get_object (sdb_plugin->prefs_bxml,
+ PREFS_BUFFER_UPDATE));
+
+ g_signal_connect (buf_up_widget, "toggled",
+ G_CALLBACK (on_prefs_buffer_update_toggled),
+ sdb_plugin);
}
static void
@@ -2463,12 +2481,10 @@ ipreferences_unmerge(IAnjutaPreferences* ipref, AnjutaPreferences* prefs, GError
SymbolDBPlugin *sdb_plugin;
sdb_plugin = ANJUTA_PLUGIN_SYMBOL_DB (ipref);
-
- if (sdb_plugin->sdbp != NULL)
- {
- g_object_unref (sdb_plugin->sdbp);
- sdb_plugin->sdbp = NULL;
- }
+
+ anjuta_preferences_remove_page(prefs, _("Symbol Database"));
+ g_object_unref (sdb_plugin->prefs_bxml);
+ sdb_plugin->prefs_bxml = NULL;
}
static void
diff --git a/plugins/symbol-db/plugin.h b/plugins/symbol-db/plugin.h
index fe6aec8..4d1741a 100644
--- a/plugins/symbol-db/plugin.h
+++ b/plugins/symbol-db/plugin.h
@@ -46,7 +46,6 @@ typedef struct _SymbolDBPluginClass SymbolDBPluginClass;
#include "symbol-db-system.h"
-#include "symbol-db-prefs.h"
#include "symbol-db-query.h"
/* default value for ctags executable. User must have it installed. This is a
@@ -66,6 +65,9 @@ struct _SymbolDBPlugin {
GtkActionGroup *popup_action_group;
GtkActionGroup *menu_action_group;
gint merge_id;
+
+ /* preferences */
+ GtkBuilder *prefs_bxml;
/* editor monitor */
guint buf_update_timeout_id;
@@ -93,9 +95,6 @@ struct _SymbolDBPlugin {
/* system's population object */
SymbolDBSystem *sdbs;
- /* preferences object */
- SymbolDBPrefs *sdbp;
-
GtkWidget *dbv_main; /* symbol main window [gtk_box] */
GtkWidget *dbv_notebook; /* main notebook */
GtkWidget *dbv_hbox; /* hbox for notebook buttons */
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]