aboutsummaryrefslogtreecommitdiff
path: root/src/protocolsetup.cpp
diff options
context:
space:
mode:
authorFelix (xq) Queißner <git@mq32.de>2020-06-07 01:06:07 +0200
committerFelix (xq) Queißner <git@mq32.de>2020-06-07 01:06:07 +0200
commit093bfcc50d5889358ed806096ac5652a9e925cfc (patch)
treef0276f86cf9b14309851b9d3136c370503ecea64 /src/protocolsetup.cpp
parentd4d353dab0f7c2fe2e1d76f6666f848e077d07dd (diff)
Implements multi-protocol support. Adds support for HTTP/HTTPS, adds settings to enable/disable protocols
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;
+}