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:

+ +

Notable Code Contributions:

+ +

Patreon Supporters:

+ +

Translations:

+ 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&auml;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 @@ + + + 0 + 0 + 800 + 21 + + &Database @@ -213,6 +221,8 @@ &Help + + @@ -308,6 +318,8 @@ + + @@ -442,14 +454,6 @@ &Clone entry - - - false - - - &Find - - false @@ -473,6 +477,9 @@ + + true + &Settings @@ -591,6 +598,16 @@ false + + + &Donate + + + + + Report a &bug + + 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