diff options
Diffstat (limited to 'SQLiteStudio3/guiSQLiteStudio/uiurlbutton.cpp')
| -rw-r--r-- | SQLiteStudio3/guiSQLiteStudio/uiurlbutton.cpp | 27 |
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)); + }); + } +} |
