diff --git a/share/about-contributors.html b/share/about-contributors.html
new file mode 100644
index 0000000000..77ceadb5fb
--- /dev/null
+++ b/share/about-contributors.html
@@ -0,0 +1,54 @@
+
VIP Patreon Supporters:
+
+ - John Cook
+ - Max Anderson
+
+Notable Code Contributions:
+
+ - droidmonkey
+ - phoerious
+ - TheZ3ro
+ - louib
+ - weslly
+ - varjolintu (KeePassXC-Browser)
+ - hifi (SSH Agent)
+ - frostasm
+ - fonic (Entry Table View)
+ - kylemanna (YubiKey)
+ - keithbennett (KeePassHTTP)
+ - Typz (KeePassHTTP)
+ - denk-mal (KeePassHTTP)
+ - angelsl (KDBX 4)
+ - seatedscribe (CSV Import)
+ - debfx (KeePassX)
+ - BlueIce (KeePassX)
+
+Patreon Supporters:
+
+ - Ashura
+ - Alexanderjb
+ - Andreas Kollmann
+ - Richard Ames
+
+Translations:
+
+ - Basque: azken_tximinoa, Hey_neken
+ - Catalan: capitantrueno, dsoms, mcus, raulua, ZJaume
+ - Chinese (China): Biggulu, Brandon_c, hoilc, ligyxy, vc5, Small_Ku
+ - Chinese (Taiwan): BestSteve, MiauLightouch, Small_Ku, yan12125, ymhuang0808
+ - Czech: DanielMilde, JosefVitu, pavelb, tpavelek
+ - Danish: nlkl
+ - Dutch: apie, bartlibert, evanoosten, fvw, KnooL, srgvg, Vistaus, wanderingidea
+ - Finnish: artnay, Jarppi, MawKKe
+ - French: A1RO, aghilas.messara, bisaloo, frgnca, ggtr1138, gilbsgilbs, gtalbot, Gui13, iannick, jlutran, kyodev, logut, MartialBis, narzb, pBouillon, plunkets, Raphi111, Scrat15, tl_pierre, wilfriedroset
+ - German: antsas, BasicBaer, Calyrx, codejunky, DavidHamburg, eth0, for1real, jensrutschmann, joe776, kflesch, MarcEdinger, marcbone, mcliquid, mfernau77, montilo, nursoda, omnisome4, origin_de, pcrcoding, phoerious, rgloor, transi_222, vlenzer, waster
+ - Greek: magkopian, nplatis, tassos.b, xinomilo
+ - Hungarian: bubu, meskobalazs, urbalazs
+ - Indonesian: zk
+ - Italian: amaxis, bovirus, duncanmid, FranzMari, lucaim, Mte90, Peo, TheZ3ro, tosky, VosaxAlo
+ - Japanese: masoo, metalic_cat, p2635, Shinichirou_Yamada, vargas.peniel, vmemjp, yukinakato
+ - Korean: cancantun, peremen
+ - Lithuanian: Moo
+ - Polish: keypress, konradmb, mrerexx, psobczak
+ - Portuguese (Brazil): danielbibit, fabiom, flaviobn, vitor895, weslly
+
diff --git a/share/about.html b/share/about.html
new file mode 100644
index 0000000000..3d0e8974d7
--- /dev/null
+++ b/share/about.html
@@ -0,0 +1,14 @@
+Website: https://keepassxc.org
+Report bugs at: https://github.com
+KeePassXC is distributed under the terms of the GNU General Public License (GPL) version 2 or (at your option) version 3.
+Project Maintainers:
+
+Special thanks from the KeePassXC team go to debfx for creating the original KeePassX.
\ No newline at end of file
diff --git a/src/gui/AboutDialog.ui b/src/gui/AboutDialog.ui
index 39963c1214..2b274544a4 100644
--- a/src/gui/AboutDialog.ui
+++ b/src/gui/AboutDialog.ui
@@ -2,6 +2,14 @@
AboutDialog
+
+
+ 0
+ 0
+ 510
+ 443
+
+
About KeePassXC
@@ -68,7 +76,7 @@
0
-
+
About
@@ -164,13 +172,21 @@
<ul>
- <li>droidmonkey</li>
- <li>phoerious</li>
- <li>TheZ3ro</li>
- <li>louib</li>
- <li>weslly</li>
+ <li>Jonathan White (<a href="https://github.com/droidmonkey">droidmonkey</a>)</li>
+ <li>Janek Bevendorff (<a href="https://github.com/phoerious">phoerious</a>)</li>
+ <li><a href="https://github.com/TheZ3ro">TheZ3ro</a></li>
+ <li>Louis-Bertrand (<a href="https://github.com/louib">louib</a>)</li>
+ <li>Weslly Honorato (<a href="https://github.com/weslly">weslly</a>)</li>
+ <li>Toni Spets (<a href="https://github.com/hifi">hifi</a>)</li>
+ <li>Sami Vänttinen (<a href="https://github.com/varjolintu">varjolintu</a>)</li>
</ul>
+
+ true
+
+
+ Qt::LinksAccessibleByKeyboard|Qt::LinksAccessibleByMouse
+
-
@@ -187,6 +203,9 @@
true
+
+ Qt::LinksAccessibleByKeyboard|Qt::LinksAccessibleByMouse
+
-
@@ -204,7 +223,7 @@
-
+
Contributors
@@ -220,7 +239,7 @@
0
0
449
- 803
+ 845
@@ -236,63 +255,74 @@
IBeamCursor
- <h3>Notable Code Contributions:</h3>
+ <h3>VIP Patreon Supporters:</h3>
<ul>
-<li>droidmonkey</li>
-<li>phoerious</li>
-<li>TheZ3ro</li>
-<li>louib</li>
-<li >weslly</li>
-<li>varjolintu (KeePassXC-Browser)</li>
-<li>hifi (SSH Agent)</li>
-<li>frostasm</li>
-<li>fonic (Entry Table View)</li>
-<li>kylemanna (YubiKey)</li>
-<li>keithbennett (KeePassHTTP)</li>
-<li>Typz (KeePassHTTP)</li>
-<li>denk-mal (KeePassHTTP)</li>
-<li>angelsl (KDBX 4)</li>
-<li>seatedscribe (CSV Import)</li>
-<li>debfx (KeePassX)</li>
-<li>BlueIce (KeePassX)</li>
+ <li>John Cook</li>
+ <li>Max Anderson</li>
+</ul>
+<h3>Notable Code Contributions:</h3>
+<ul>
+ <li>droidmonkey</li>
+ <li>phoerious</li>
+ <li>TheZ3ro</li>
+ <li>louib</li>
+ <li>weslly</li>
+ <li>varjolintu (KeePassXC-Browser)</li>
+ <li>hifi (SSH Agent)</li>
+ <li>frostasm</li>
+ <li>fonic (Entry Table View)</li>
+ <li>kylemanna (YubiKey)</li>
+ <li>keithbennett (KeePassHTTP)</li>
+ <li>Typz (KeePassHTTP)</li>
+ <li>denk-mal (KeePassHTTP)</li>
+ <li>angelsl (KDBX 4)</li>
+ <li>seatedscribe (CSV Import)</li>
+ <li>debfx (KeePassX)</li>
+ <li>BlueIce (KeePassX)</li>
+</ul>
+<h3>Patreon Supporters:</h3>
+<ul>
+ <li>Ashura</li>
+ <li>Alexanderjb</li>
+ <li>Andreas Kollmann</li>
+ <li>Richard Ames</li>
</ul>
-
<h3>Translations:</h3>
<ul>
-<li><b>Basque:</b> azken_tximinoa, Hey_neken</li>
-<li><b>Catalan:</b> capitantrueno, dsoms, mcus, raulua, ZJaume</li>
-<li><b>Chinese (China):</b> Biggulu, Brandon_c, hoilc, ligyxy, vc5, Small_Ku</li>
-<li><b>Chinese (Taiwan):</b> BestSteve, MiauLightouch, Small_Ku, yan12125, ymhuang0808</li>
-<li><b>Czech:</b> DanielMilde, JosefVitu, pavelb, tpavelek</li>
-<li><b>Danish:</b> nlkl</li>
-<li><b>Dutch:</b> apie, bartlibert, evanoosten, fvw, KnooL, srgvg, Vistaus, wanderingidea</li>
-<li><b>Finnish:</b> artnay, Jarppi, MawKKe </li>
-<li><b>French:</b> A1RO, aghilas.messara, bisaloo, frgnca, ggtr1138, gilbsgilbs, gtalbot, Gui13, iannick, jlutran, kyodev, logut, MartialBis, narzb, pBouillon, plunkets, Raphi111, Scrat15, tl_pierre, wilfriedroset</li>
-<li><b>German:</b> antsas, BasicBaer, Calyrx, codejunky, DavidHamburg, eth0, for1real, jensrutschmann, joe776, kflesch, MarcEdinger, marcbone, mcliquid, mfernau77, montilo, nursoda, omnisome4, origin_de, pcrcoding, phoerious, rgloor, transi_222, vlenzer, waster</li>
-<li><b>Greek:</b> magkopian, nplatis, tassos.b, xinomilo</li>
-<li><b>Hungarian:</b> bubu, meskobalazs, urbalazs</li>
-<li><b>Indonesian:</b> zk</li>
-<li><b>Italian:</b> amaxis, bovirus, duncanmid, FranzMari, lucaim, Mte90, Peo, TheZ3ro, tosky, VosaxAlo</li>
-<li><b>Japanese:</b> masoo, metalic_cat, p2635, Shinichirou_Yamada, vargas.peniel, vmemjp, yukinakato</li>
-<li><b>Korean:</b> cancantun, peremen</li>
-<li><b>Lithuanian:</b> Moo</li>
-<li><b>Polish:</b> keypress, konradmb, mrerexx, psobczak</li>
-<li><b>Portuguese (Brazil): </b> danielbibit, fabiom, flaviobn, vitor895, weslly</li>
-<li><b>Portuguese (Portugal): </b> American_Jesus, hds, mihai.ile, VictorR2007, smarquespt</li>
-<li><b>Russian:</b> _nomoretears_, agag11507, anm, denoos, KekcuHa, Mogost, NcNZllQnHVU, netforhack, NetWormKido, RKuchma, VictorR2007, vsvyatski, wkill95</li>
-<li><b>Spanish:</b> antifaz, EdwardNavarro, eliluminado, gonrial, jojobrambs, LeoBeltran, piegope, pquin, puchrojo, vargas.peniel, vsvyatski, Zranz</li>
-<li><b>Swedish:</b> Anders_Bergqvist, LIINdd, henziger, jpyllman, peron</li>
-<li><b>Thai:</b> arthit</li>
-<li><b>Turkish:</b> etc, N3pp</li>
-<li><b>Ukrainian:</b> brisk022, netforhack, zoresvit</li>
-</ul>
+ <li><strong>Basque</strong>: azken_tximinoa, Hey_neken</li>
+ <li><strong>Catalan</strong>: capitantrueno, dsoms, mcus, raulua, ZJaume</li>
+ <li><strong>Chinese (China)</strong>: Biggulu, Brandon_c, hoilc, ligyxy, vc5, Small_Ku</li>
+ <li><strong>Chinese (Taiwan)</strong>: BestSteve, MiauLightouch, Small_Ku, yan12125, ymhuang0808</li>
+ <li><strong>Czech</strong>: DanielMilde, JosefVitu, pavelb, tpavelek</li>
+ <li><strong>Danish</strong>: nlkl</li>
+ <li><strong>Dutch</strong>: apie, bartlibert, evanoosten, fvw, KnooL, srgvg, Vistaus, wanderingidea</li>
+ <li><strong>Finnish</strong>: artnay, Jarppi, MawKKe</li>
+ <li><strong>French</strong>: A1RO, aghilas.messara, bisaloo, frgnca, ggtr1138, gilbsgilbs, gtalbot, Gui13, iannick, jlutran, kyodev, logut, MartialBis, narzb, pBouillon, plunkets, Raphi111, Scrat15, tl_pierre, wilfriedroset</li>
+ <li><strong>German</strong>: antsas, BasicBaer, Calyrx, codejunky, DavidHamburg, eth0, for1real, jensrutschmann, joe776, kflesch, MarcEdinger, marcbone, mcliquid, mfernau77, montilo, nursoda, omnisome4, origin_de, pcrcoding, phoerious, rgloor, transi_222, vlenzer, waster</li>
+ <li><strong>Greek</strong>: magkopian, nplatis, tassos.b, xinomilo</li>
+ <li><strong>Hungarian</strong>: bubu, meskobalazs, urbalazs</li>
+ <li><strong>Indonesian</strong>: zk</li>
+ <li><strong>Italian</strong>: amaxis, bovirus, duncanmid, FranzMari, lucaim, Mte90, Peo, TheZ3ro, tosky, VosaxAlo</li>
+ <li><strong>Japanese</strong>: masoo, metalic_cat, p2635, Shinichirou_Yamada, vargas.peniel, vmemjp, yukinakato</li>
+ <li><strong>Korean</strong>: cancantun, peremen</li>
+ <li><strong>Lithuanian</strong>: Moo</li>
+ <li><strong>Polish</strong>: keypress, konradmb, mrerexx, psobczak</li>
+ <li><strong>Portuguese (Brazil)</strong>: danielbibit, fabiom, flaviobn, vitor895, weslly</li>
+</ul>
+
- Qt::RichText
+ Qt::AutoText
+
+
+ Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop
true
+
+ 5
+
Qt::TextBrowserInteraction
@@ -303,7 +333,7 @@
-
-
+
<a href="https://github.com/keepassxreboot/keepassxc/graphs/contributors">See Contributions on GitHub</a>
@@ -317,7 +347,7 @@
-
+
Debug Info
diff --git a/src/gui/MainWindow.cpp b/src/gui/MainWindow.cpp
index 0a852ce669..b450268c32 100644
--- a/src/gui/MainWindow.cpp
+++ b/src/gui/MainWindow.cpp
@@ -23,6 +23,7 @@
#include
#include
#include
+#include
#include "config-keepassx.h"
@@ -389,7 +390,7 @@ MainWindow::MainWindow()
m_actionMultiplexer.connect(m_ui->actionGroupEmptyRecycleBin, SIGNAL(triggered()),
SLOT(emptyRecycleBin()));
- connect(m_ui->actionSettings, SIGNAL(triggered()), SLOT(switchToSettings()));
+ connect(m_ui->actionSettings, SIGNAL(toggled(bool)), SLOT(switchToSettings(bool)));
connect(m_ui->actionPasswordGenerator, SIGNAL(toggled(bool)), SLOT(switchToPasswordGen(bool)));
connect(m_ui->passwordGeneratorWidget, SIGNAL(dialogTerminated()), SLOT(closePasswordGen()));
@@ -400,6 +401,8 @@ MainWindow::MainWindow()
connect(m_ui->welcomeWidget, SIGNAL(importCsv()), SLOT(switchToImportCsv()));
connect(m_ui->actionAbout, SIGNAL(triggered()), SLOT(showAboutDialog()));
+ connect(m_ui->actionDonate, SIGNAL(triggered()), SLOT(openDonateUrl()));
+ connect(m_ui->actionBugReport, SIGNAL(triggered()), SLOT(openBugReportUrl()));
#ifdef Q_OS_MAC
setUnifiedTitleAndToolBarOnMac(true);
@@ -662,6 +665,10 @@ void MainWindow::setMenuActionState(DatabaseWidget::Mode mode)
bool blocked = m_ui->actionPasswordGenerator->blockSignals(true);
m_ui->actionPasswordGenerator->toggle();
m_ui->actionPasswordGenerator->blockSignals(blocked);
+ } else if ((currentIndex == SettingsScreen) != m_ui->actionSettings->isChecked()) {
+ bool blocked = m_ui->actionSettings->blockSignals(true);
+ m_ui->actionSettings->toggle();
+ m_ui->actionSettings->blockSignals(blocked);
}
}
@@ -710,6 +717,16 @@ void MainWindow::showAboutDialog()
aboutDialog->open();
}
+void MainWindow::openDonateUrl()
+{
+ QDesktopServices::openUrl(QUrl("https://keepassxc.org/donate"));
+}
+
+void MainWindow::openBugReportUrl()
+{
+ QDesktopServices::openUrl(QUrl("https://github.com/keepassxreboot/keepassxc/issues"));
+}
+
void MainWindow::switchToDatabases()
{
if (m_ui->tabWidget->currentIndex() == -1) {
@@ -720,15 +737,19 @@ void MainWindow::switchToDatabases()
}
}
-void MainWindow::switchToSettings()
+void MainWindow::switchToSettings(bool enabled)
{
- m_ui->settingsWidget->loadSettings();
- m_ui->stackedWidget->setCurrentIndex(SettingsScreen);
+ if (enabled) {
+ m_ui->settingsWidget->loadSettings();
+ m_ui->stackedWidget->setCurrentIndex(SettingsScreen);
+ } else {
+ switchToDatabases();
+ }
}
void MainWindow::switchToPasswordGen(bool enabled)
{
- if (enabled == true) {
+ if (enabled) {
m_ui->passwordGeneratorWidget->loadSettings();
m_ui->passwordGeneratorWidget->regeneratePassword();
m_ui->passwordGeneratorWidget->setStandaloneMode(true);
diff --git a/src/gui/MainWindow.h b/src/gui/MainWindow.h
index 20e548910f..d23e9b35c5 100644
--- a/src/gui/MainWindow.h
+++ b/src/gui/MainWindow.h
@@ -77,8 +77,10 @@ private slots:
void setMenuActionState(DatabaseWidget::Mode mode = DatabaseWidget::None);
void updateWindowTitle();
void showAboutDialog();
+ void openDonateUrl();
+ void openBugReportUrl();
void switchToDatabases();
- void switchToSettings();
+ void switchToSettings(bool enabled);
void switchToPasswordGen(bool enabled);
void switchToNewDatabase();
void switchToOpenDatabase();
diff --git a/src/gui/MainWindow.ui b/src/gui/MainWindow.ui
index 648a0e61ac..e9eeb9e6bd 100644
--- a/src/gui/MainWindow.ui
+++ b/src/gui/MainWindow.ui
@@ -175,6 +175,14 @@
diff --git a/src/gui/SearchWidget.ui b/src/gui/SearchWidget.ui
index 1583ebe964..98395b68a0 100644
--- a/src/gui/SearchWidget.ui
+++ b/src/gui/SearchWidget.ui
@@ -16,7 +16,7 @@
0
-
+
3
@@ -36,7 +36,7 @@
- 40
+ 30
20