diff --git a/tray/resources/icons/hicolor/scalable/actions/download.svg b/tray/resources/icons/hicolor/scalable/actions/download.svg new file mode 100644 index 0000000..9eff081 --- /dev/null +++ b/tray/resources/icons/hicolor/scalable/actions/download.svg @@ -0,0 +1,12 @@ + + + + + + + + diff --git a/tray/resources/syncthingtrayicons.qrc b/tray/resources/syncthingtrayicons.qrc index 4be5404..359e4b6 100644 --- a/tray/resources/syncthingtrayicons.qrc +++ b/tray/resources/syncthingtrayicons.qrc @@ -16,5 +16,6 @@ icons/hicolor/scalable/places/folder-download.svg icons/hicolor/scalable/emblems/8/emblem-error.svg icons/hicolor/scalable/actions/appointment-new.svg + icons/hicolor/scalable/actions/download.svg diff --git a/widgets/settings/settingsdialog.cpp b/widgets/settings/settingsdialog.cpp index f5e89b2..b4f38d8 100644 --- a/widgets/settings/settingsdialog.cpp +++ b/widgets/settings/settingsdialog.cpp @@ -41,6 +41,7 @@ #include #endif +#include #include #include #include @@ -937,6 +938,13 @@ QWidget *LauncherOptionPage::setupWidget() QIcon::fromTheme(QStringLiteral("edit-undo"), QIcon(QStringLiteral(":/icons/hicolor/scalable/actions/edit-paste.svg")))); connect(m_restoreArgsAction, &QAction::triggered, this, &LauncherOptionPage::restoreDefaultArguments); ui()->argumentsLineEdit->addCustomAction(m_restoreArgsAction); + m_syncthingDownloadAction = new QAction(ui()->syncthingPathSelection); + m_syncthingDownloadAction->setText(tr("Show Syncthing releases/downloads")); + m_syncthingDownloadAction->setIcon( + QIcon::fromTheme(QStringLiteral("download"), QIcon(QStringLiteral(":/icons/hicolor/scalable/actions/download.svg")))); + connect(m_syncthingDownloadAction, &QAction::triggered, + [] { QDesktopServices::openUrl(QUrl(QStringLiteral("https://github.com/syncthing/syncthing/releases"))); }); + ui()->syncthingPathSelection->lineEdit()->addCustomAction(m_syncthingDownloadAction); ui()->configDirPathSelection->provideCustomFileMode(QFileDialog::Directory); ui()->dataDirPathSelection->provideCustomFileMode(QFileDialog::Directory); } diff --git a/widgets/settings/settingsdialog.h b/widgets/settings/settingsdialog.h index b9acbe9..ca347d6 100644 --- a/widgets/settings/settingsdialog.h +++ b/widgets/settings/settingsdialog.h @@ -134,6 +134,7 @@ private: Data::SyncthingProcess *const m_process; Data::SyncthingLauncher *const m_launcher; QAction *m_restoreArgsAction; + QAction *m_syncthingDownloadAction; bool m_kill; QString m_tool, m_toolName, m_windowTitle; };