diff --git a/share/CMakeLists.txt b/share/CMakeLists.txt index 635ee596..3a088bb8 100644 --- a/share/CMakeLists.txt +++ b/share/CMakeLists.txt @@ -39,6 +39,8 @@ if(APPLE) install(FILES macosx/keepassxc.icns DESTINATION ${DATA_INSTALL_DIR}) endif() +install(DIRECTORY docs/ DESTINATION ${DATA_INSTALL_DIR}/docs FILES_MATCHING PATTERN "*.pdf") + install(DIRECTORY wizard/ DESTINATION ${DATA_INSTALL_DIR}/wizard FILES_MATCHING PATTERN "*.png") install(DIRECTORY icons/application/ DESTINATION ${DATA_INSTALL_DIR}/icons/application diff --git a/share/docs/KeePassXC_GettingStarted.pdf b/share/docs/KeePassXC_GettingStarted.pdf new file mode 100644 index 00000000..2ae781ae Binary files /dev/null and b/share/docs/KeePassXC_GettingStarted.pdf differ diff --git a/share/docs/KeePassXC_UserGuide.pdf b/share/docs/KeePassXC_UserGuide.pdf new file mode 100644 index 00000000..9f9379e8 Binary files /dev/null and b/share/docs/KeePassXC_UserGuide.pdf differ diff --git a/src/browser/BrowserOptionDialog.ui b/src/browser/BrowserOptionDialog.ui index 0229649f..20e077e7 100755 --- a/src/browser/BrowserOptionDialog.ui +++ b/src/browser/BrowserOptionDialog.ui @@ -59,6 +59,13 @@ + + + + Browsers installed as snaps are currently not supported. + + + diff --git a/src/gui/MainWindow.cpp b/src/gui/MainWindow.cpp index e5807046..292caa92 100644 --- a/src/gui/MainWindow.cpp +++ b/src/gui/MainWindow.cpp @@ -397,6 +397,10 @@ MainWindow::MainWindow() connect(m_ui->actionAbout, SIGNAL(triggered()), SLOT(showAboutDialog())); connect(m_ui->actionDonate, SIGNAL(triggered()), SLOT(openDonateUrl())); connect(m_ui->actionBugReport, SIGNAL(triggered()), SLOT(openBugReportUrl())); + connect(m_ui->actionGettingStarted, SIGNAL(triggered()), SLOT(openGettingStartedGuide())); + connect(m_ui->actionUserGuide, SIGNAL(triggered()), SLOT(openUserGuide())); + connect(m_ui->actionOnlineHelp, SIGNAL(triggered()), SLOT(openOnlineHelp())); + #ifdef Q_OS_MACOS setUnifiedTitleAndToolBarOnMac(true); @@ -758,16 +762,35 @@ void MainWindow::showUpdateCheckDialog() #endif } +void MainWindow::customOpenUrl(QString url) +{ + QDesktopServices::openUrl(QUrl(url)); +} + void MainWindow::openDonateUrl() { - QDesktopServices::openUrl(QUrl("https://keepassxc.org/donate")); + customOpenUrl("https://keepassxc.org/donate"); } void MainWindow::openBugReportUrl() { - QDesktopServices::openUrl(QUrl("https://github.com/keepassxreboot/keepassxc/issues")); + customOpenUrl("https://github.com/keepassxreboot/keepassxc/issues"); } +void MainWindow::openGettingStartedGuide() +{ + customOpenUrl(filePath()->dataPath("docs/KeePassXC_GettingStarted.pdf")); +} + +void MainWindow::openUserGuide() +{ + customOpenUrl(filePath()->dataPath("docs/KeePassXC_UserGuide.pdf")); +} + +void MainWindow::openOnlineHelp() +{ + customOpenUrl("https://keepassxc.org/docs/"); +} void MainWindow::switchToDatabases() { if (m_ui->tabWidget->currentIndex() == -1) { diff --git a/src/gui/MainWindow.h b/src/gui/MainWindow.h index 929373be..f7235277 100644 --- a/src/gui/MainWindow.h +++ b/src/gui/MainWindow.h @@ -91,6 +91,9 @@ private slots: void hasUpdateAvailable(bool hasUpdate, const QString& version, bool isManuallyRequested); void openDonateUrl(); void openBugReportUrl(); + void openGettingStartedGuide(); + void openUserGuide(); + void openOnlineHelp(); void switchToDatabases(); void switchToSettings(bool enabled); void switchToPasswordGen(bool enabled); @@ -132,6 +135,7 @@ private: bool saveLastDatabases(); void updateTrayIcon(); bool isTrayIconEnabled() const; + void customOpenUrl(QString url); static QStringList kdbxFilesFromUrls(const QList& urls); void dragEnterEvent(QDragEnterEvent* event) override; diff --git a/src/gui/MainWindow.ui b/src/gui/MainWindow.ui index ebfeba3f..3208f4d5 100644 --- a/src/gui/MainWindow.ui +++ b/src/gui/MainWindow.ui @@ -224,6 +224,11 @@ &Help + + + + + @@ -355,7 +360,7 @@ - Check for Updates... + &Check for Updates... QAction::ApplicationSpecificRole @@ -547,7 +552,7 @@ true - Password Generator + &Password Generator @@ -677,9 +682,28 @@ Report a &bug - + - Share entry + &Getting Started + + + Open Getting Started Guide PDF + + + + + &Online Help... + + + Go to online documentation (opens browser) + + + + + &User Guide + + + Open User Guide PDF