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