summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Swift/Controllers/SettingConstants.cpp1
-rw-r--r--Swift/Controllers/SettingConstants.h6
-rw-r--r--Swift/QtUI/QtSwift.cpp10
3 files changed, 17 insertions, 0 deletions
diff --git a/Swift/Controllers/SettingConstants.cpp b/Swift/Controllers/SettingConstants.cpp
index 5347d4e..1191c28 100644
--- a/Swift/Controllers/SettingConstants.cpp
+++ b/Swift/Controllers/SettingConstants.cpp
@@ -25,5 +25,6 @@ const SettingsProvider::Setting<std::string> SettingConstants::INVITE_AUTO_ACCEP
const SettingsProvider::Setting<bool> SettingConstants::DISCONNECT_ON_CARD_REMOVAL("disconnectOnCardRemoval", true);
const SettingsProvider::Setting<bool> SettingConstants::SINGLE_SIGN_ON("singleSignOn", false);
const SettingsProvider::Setting<bool> SettingConstants::MUC_MARKING_ELISION("mucMarkingElision", true);
+const SettingsProvider::Setting<bool> SettingConstants::FUTURE("future", false);
}
diff --git a/Swift/Controllers/SettingConstants.h b/Swift/Controllers/SettingConstants.h
index 61781e0..f82dfb5 100644
--- a/Swift/Controllers/SettingConstants.h
+++ b/Swift/Controllers/SettingConstants.h
@@ -104,5 +104,11 @@ namespace Swift {
* have their markings stripped.
*/
static const SettingsProvider::Setting<bool> MUC_MARKING_ELISION;
+
+ /**
+ * The #FUTURE setting enables use of experimental features
+ * planned for future releases.
+ */
+ static const SettingsProvider::Setting<bool> FUTURE;
};
}
diff --git a/Swift/QtUI/QtSwift.cpp b/Swift/QtUI/QtSwift.cpp
index 28793fa..76e3583 100644
--- a/Swift/QtUI/QtSwift.cpp
+++ b/Swift/QtUI/QtSwift.cpp
@@ -101,6 +101,8 @@ po::options_description QtSwift::getOptionsDescription() {
("language", po::value<std::string>(), "Use a specific language, instead of the system-wide one")
#endif
("logfile", po::value<std::string>()->implicit_value(""), "Save all logging information to a file")
+ ("enable-future", "Enable future features (unsupported). This will persist across restarts")
+ ("disable-future", "Disable future features. This will persist across restarts")
;
return result;
}
@@ -185,6 +187,14 @@ QtSwift::QtSwift(const po::variables_map& options) : networkFactories_(&clientMa
Log::setLogLevel(Swift::Log::debug);
}
+ if (options.count("enable-future")) {
+ settingsHierachy_->storeSetting(SettingConstants::FUTURE, true);
+ }
+
+ if (options.count("disable-future")) {
+ settingsHierachy_->storeSetting(SettingConstants::FUTURE, false);
+ }
+
if (options.count("logfile")) {
try {
std::string fileName = options["logfile"].as<std::string>();