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