aboutsummaryrefslogtreecommitdiffstats
path: root/SQLiteStudio3/guiSQLiteStudio/uiurlbutton.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'SQLiteStudio3/guiSQLiteStudio/uiurlbutton.cpp')
-rw-r--r--SQLiteStudio3/guiSQLiteStudio/uiurlbutton.cpp27
1 files changed, 27 insertions, 0 deletions
diff --git a/SQLiteStudio3/guiSQLiteStudio/uiurlbutton.cpp b/SQLiteStudio3/guiSQLiteStudio/uiurlbutton.cpp
new file mode 100644
index 0000000..dcc3dc8
--- /dev/null
+++ b/SQLiteStudio3/guiSQLiteStudio/uiurlbutton.cpp
@@ -0,0 +1,27 @@
+#include "uiurlbutton.h"
+#include <QAbstractButton>
+#include <QDesktopServices>
+#include <QUrl>
+
+UiUrlButton::UiUrlButton()
+{
+}
+
+
+const char* UiUrlButton::getPropertyName() const
+{
+ return "openUrl";
+}
+
+void UiUrlButton::handle(QWidget* widget, const QVariant& value)
+{
+ QAbstractButton* btn = dynamic_cast<QAbstractButton*>(widget);
+ QString url = value.toString();
+ if (btn)
+ {
+ QObject::connect(btn, &QAbstractButton::clicked, [url](bool)
+ {
+ QDesktopServices::openUrl(QUrl(url, QUrl::StrictMode));
+ });
+ }
+}