aboutsummaryrefslogtreecommitdiff
path: root/src/protocolsetup.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/protocolsetup.cpp')
-rw-r--r--src/protocolsetup.cpp42
1 files changed, 42 insertions, 0 deletions
diff --git a/src/protocolsetup.cpp b/src/protocolsetup.cpp
new file mode 100644
index 0000000..bbecfa0
--- /dev/null
+++ b/src/protocolsetup.cpp
@@ -0,0 +1,42 @@
+#include "protocolsetup.hpp"
+
+ProtocolSetup::ProtocolSetup()
+{
+#define MAC(X) this->X = false;
+ PROTOCOLS(MAC)
+#undef MAC
+
+ this->gemini = true;
+}
+
+void ProtocolSetup::save(QSettings &settings) const
+{
+ settings.beginGroup("Protocols");
+#define MAC(X) settings.setValue(#X, this->X);
+ PROTOCOLS(MAC)
+#undef MAC
+ settings.endGroup();
+}
+
+void ProtocolSetup::load(QSettings &settings)
+{
+ settings.beginGroup("Protocols");
+#define MAC(X) if(settings.contains(#X)) this->X = settings.value(#X).toBool();
+ PROTOCOLS(MAC)
+#undef MAC
+ settings.endGroup();
+}
+
+bool ProtocolSetup::isSchemeSupported(QString const & _scheme) const
+{
+ auto scheme = _scheme.toLower();
+
+#define MAC(X) if(scheme == #X) return this->X;
+ PROTOCOLS(MAC)
+#undef MAC
+
+ // built-in schemes:
+ if(scheme == "about") return true;
+
+ return false;
+}