summaryrefslogtreecommitdiff
path: root/src/gui
diff options
context:
space:
mode:
Diffstat (limited to 'src/gui')
-rw-r--r--src/gui/widgets/setupitem.cpp24
-rw-r--r--src/gui/widgets/setupitem.h9
-rw-r--r--src/gui/widgets/tabs/setup_other.cpp2
3 files changed, 33 insertions, 2 deletions
diff --git a/src/gui/widgets/setupitem.cpp b/src/gui/widgets/setupitem.cpp
index 6ce8ce102..b9ea91f76 100644
--- a/src/gui/widgets/setupitem.cpp
+++ b/src/gui/widgets/setupitem.cpp
@@ -326,6 +326,30 @@ void SetupItemTextField::save()
}
}
+void SetupItemTextField::cancel(const std::string &eventName A_UNUSED)
+{
+ load();
+ if (mUseBase64)
+ mValue = decodeBase64String(mValue);
+ toWidget();
+}
+
+void SetupItemTextField::externalUpdated(const std::string &eventName A_UNUSED)
+{
+ load();
+ if (mUseBase64)
+ mValue = decodeBase64String(mValue);
+ toWidget();
+}
+
+void SetupItemTextField::rereadValue()
+{
+ load();
+ if (mUseBase64)
+ mValue = decodeBase64String(mValue);
+ toWidget();
+}
+
void SetupItemTextField::createControls()
{
load();
diff --git a/src/gui/widgets/setupitem.h b/src/gui/widgets/setupitem.h
index 91547733f..689f62fdf 100644
--- a/src/gui/widgets/setupitem.h
+++ b/src/gui/widgets/setupitem.h
@@ -96,7 +96,7 @@ class SetupItem : public gcn::ActionListener,
void fixFirstItemSize(gcn::Widget *const widget);
- void rereadValue();
+ virtual void rereadValue();
void setValue(const std::string str)
{ mValue = str; }
@@ -214,6 +214,13 @@ class SetupItemTextField final : public SetupItem
void apply(const std::string &eventName) override final;
+ void cancel(const std::string &eventName A_UNUSED) override final;
+
+ void externalUpdated(const std::string &eventName A_UNUSED)
+ override final;
+
+ void rereadValue() override final;
+
void save() override final;
void setUseBase64(const bool b)
diff --git a/src/gui/widgets/tabs/setup_other.cpp b/src/gui/widgets/tabs/setup_other.cpp
index 9f3c30dec..985baa744 100644
--- a/src/gui/widgets/tabs/setup_other.cpp
+++ b/src/gui/widgets/tabs/setup_other.cpp
@@ -374,7 +374,7 @@ Setup_Other::Setup_Other(const Widget2 *const widget) :
#ifndef WIN32
// TRANSLATORS: settings option
new SetupItemTextField(_("Screenshot directory"), "",
- "screenshotDirectory2", this, "screenshotDirectory2Event", true, true);
+ "screenshotDirectory3", this, "screenshotDirectory3Event", true, true);
#endif
// TRANSLATORS: settings option