1 #include "PluginDialogEntry.h"
2 
3 #include "plugin/Plugin.h"
4 
5 #include "i18n.h"
6 
7 
PluginDialogEntry(Plugin * plugin,GladeSearchpath * gladeSearchPath,GtkWidget * w)8 PluginDialogEntry::PluginDialogEntry(Plugin* plugin, GladeSearchpath* gladeSearchPath, GtkWidget* w):
9         GladeGui(gladeSearchPath, "pluginEntry.glade", "offscreenwindow"), plugin(plugin) {
10     GtkWidget* pluginMainBox = get("pluginMainBox");
11     gtk_container_remove(GTK_CONTAINER(getWindow()), pluginMainBox);
12     gtk_container_add(GTK_CONTAINER(w), pluginMainBox);
13     gtk_widget_show_all(pluginMainBox);
14 
15     loadSettings();
16 }
17 
loadSettings()18 void PluginDialogEntry::loadSettings() {
19 #ifdef ENABLE_PLUGINS
20     gtk_label_set_text(GTK_LABEL(get("pluginName")), plugin->getName().c_str());
21     gtk_label_set_text(GTK_LABEL(get("lbAuthor")), plugin->getAuthor().c_str());
22     gtk_label_set_text(GTK_LABEL(get("lbVersion")), plugin->getVersion().c_str());
23     gtk_label_set_text(GTK_LABEL(get("lbDescription")), plugin->getDescription().c_str());
24     gtk_label_set_text(GTK_LABEL(get("lbDefaultText")),
25                        plugin->isDefaultEnabled() ? _("default enabled") : _("default disabled"));
26     gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(get("cbEnabled")), plugin->isEnabled());
27 #endif
28 }
29 
show(GtkWindow * parent)30 void PluginDialogEntry::show(GtkWindow* parent) {
31     // Not implemented! This is not a dialog!
32 }
33 
saveSettings(string & pluginEnabled,string & pluginDisabled)34 void PluginDialogEntry::saveSettings(string& pluginEnabled, string& pluginDisabled) {
35 #ifdef ENABLE_PLUGINS
36     bool state = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(get("cbEnabled")));
37 
38     if (state == plugin->isDefaultEnabled()) {
39         return;
40     }
41 
42     if (state) {
43         if (!pluginEnabled.empty()) {
44             pluginEnabled += ",";
45         }
46         pluginEnabled += plugin->getName();
47     } else {
48         if (!pluginDisabled.empty()) {
49             pluginDisabled += ",";
50         }
51         pluginDisabled += plugin->getName();
52     }
53 #endif
54 }
55