/* * Copyright (C) 2012 Felix Geyer * Copyright (C) 2017 KeePassXC Team * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 2 or (at your option) * version 3 of the License. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #include "AboutDialog.h" #include "ui_AboutDialog.h" #include "config-keepassx.h" #include "core/Tools.h" #include "crypto/Crypto.h" #include "gui/Icons.h" #include static const QString aboutMaintainers = R"(

)"; static const QString aboutContributors = R"(

VIP Patreon Supporters:

  • John Cook
  • Max Anderson
  • l0b0
  • NarwhalOfAges
  • Caleb Currie
  • Igor Zinovik
  • Morgan Courbet
  • Sergiu Coroi
  • Chris Sohns
  • Kyle Kneitinger
  • Sergey Vilgelm
  • Roman Vaughan (NZSmartie)
  • Shmavon Gazanchyan
  • Riley Moses
  • Korbinian Schildmann
  • Andreas (nitrohorse)
  • Kernellinux
  • Micha Ober
  • PublicByte
  • Clayton Casciato

Notable Code Contributions:

  • droidmonkey
  • phoerious
  • louib (CLI)
  • varjolintu (Browser Integration)
  • hifi (SSH Agent)
  • ckieschnick (KeeShare)
  • seatedscribe (CSV Import)
  • Aetf (FdoSecrets Storage Server)
  • weslly (macOS improvements)
  • brainplot (many improvements)
  • kneitinger (many improvements)
  • frostasm (many improvements)
  • fonic (Entry Table View)
  • kylemanna (YubiKey)
  • c4rlo (Offline HIBP Checker)
  • wolframroesler (HTML Export, Statistics, Password Health, HIBP integration)
  • mdaniel (OpVault Importer)
  • angelsl (KDBX 4)
  • TheZ3ro (retired lead)
  • debfx (KeePassX)
  • BlueIce (KeePassX)

Patreon Supporters:

  • Alexanderjb
  • Richard Ames
  • SLmanDR
  • Christian Rasmussen
  • Tyler Gass
  • Nuutti Toivola
  • Gregory Werbin
  • Lionel Laské
  • Ivar
  • Darren
  • Brad
  • Mathieu Peltier
  • gonczor
  • Oleksii Aleksieiev
  • Gernot Premper
  • Julian Stier
  • Daniel Epp
  • Ruben Schade
  • Esteban Martinez
  • Niels Ganser
  • turin231
  • judd
  • Tarek Sherif
  • Bernhard
  • William Komanetsky
  • Clark Henry
  • Justin Carroll
  • Shintaro Matsushima
  • Larry Siden
  • Thammachart Chinvarapon
  • Patrick Evans

Translations:

  • العربية (Arabic): AboShanab, kmutahar, muha_abdulaziz, Night1, omar.nsy
  • euskara (Basque): azken_tximinoa, Galaipa, Hey_neken
  • বাংলা (Bengali): codesmite
  • ဗမာစာ (Burmese): Snooooowwwwwman
  • català (Catalan): antoniopolonio, capitantrueno, dsoms, MarcRiera, mcus, raulua, ZJaume
  • 中文 (Chinese (Simplified)): Biggulu, Brandon_c, carp0129, Dy64, ef6, Felix2yu, hoilc, ivlioioilvi, kikyous, kofzhanganguo, ligyxy, lxx4380, remonli, ShuiHuo, slgray, Small_Ku, snhun, umi_neko, vc5, Wylmer_Wang, Z4HD
  • 中文 (台灣) (Chinese (Traditional)): BestSteve, flachesis, gojpdchx, ligyxy, MiauLightouch, plesry, priv, raymondtau, Small_Ku, th3lusive, yan12125, ymhuang0808
  • hrvatski jezik (Croatian): Halberd, mladenuzelac
  • čeština (Czech): awesomevojta, DanielMilde, JosefVitu, pavelb, stps, tpavelek
  • dansk (Danish): alfabetacain, ebbe, GimliDk, JakobPP, KalleDK, MannVera, nlkl, thniels
  • Nederlands (Dutch): apie, bartlibert, Bubbel, bython, Dr.Default, e2jk, evanoosten, fourwood, fvw, glotzbach, JCKalman, KnooL, ovisicnarf, pietermj, rigrig, srgvg, Stephan_P, stijndubrul, theniels17, ThomasChurchman, Vistaus, wanderingidea, Zombaya1
  • English (UK): CisBetter, rookwood101, spacemanspiff, throne3d, YCMHARHZ
  • English (USA): alexandercrice, caralu74, cl0ne, DarkHolme, nguyenlekhtn, thedoctorsoad, throne3d
  • Esperanto (Esperanto): batisteo
  • eesti (Estonian): Hermanio
  • suomi (Finnish): artnay, hif1, MawKKe, petri, tomisalmi, varjolintu
  • français (French): A1RO, aghilas.messara, Albynton, alexisju, b_mortgat, Beatussum, benoitbalon, bertranoel, bisaloo, Cabirto, Code2Mirabeau, e2jk, ebrious, frgnca, Fumble, ggtr1138, gilbsgilbs, gohuros, gtalbot, Gui13, houdini, houdini69, iannick, jlutran, John.Mickael, kyodev, lacnic, laetilodie, logut, MartialBis, Maxime_J, mlpo, Morgan, MrHeadwar, narzb, nekopep, Nesousx, pBouillon, Raphi111, Scrat15, TheFrenchGhosty, theodex, tl_pierre, webafrancois, wilfriedroset, yahoe.001, zedentox
  • Galego (Galician): enfeitizador
  • Deutsch (German): andreas.maier, antsas, Atalanttore, BasicBaer, bwolkchen, Calyrx, codejunky, DavidHamburg, derhagen, eth0, fahstat, for1real, Gyges, Hativ, hjonas, HoferJulian, janis91, jensrutschmann, joe776, kflesch, man_at_home, marcbone, MarcEdinger, markusd112, Maxime_J, mbetz, mcliquid, mfernau77, mircsicz, mithrial, montilo, MuehlburgPhoenix, muellerma, nautilusx, Nerzahd, Nightwriter, NotAName, nursoda, omnisome4, origin_de, pcrcoding, PFischbeck, rgloor, rugk, ScholliYT, Silas_229, spacemanspiff, testarossa47, TheForcer, transi_222, traschke, vlenzer, vpav, waster, wolfram.roesler, Wyrrrd
  • ελληνικά (Greek): anvo, magkopian, nplatis, tassos.b, xinomilo
  • עברית (Hebrew): shmag18
  • magyar (Hungarian): andras_tim, bubu, meskobalazs, urbalazs
  • Íslenska (Icelandic): MannVera
  • Bahasa (Indonesian): achmad, bora_ach, zk
  • Italiano (Italian): amaxis, bovirus, duncanmid, FranzMari, Gringoarg, lucaim, NITAL, Peo, salvatorecordiano, seatedscribe, Stemby, the.sailor, tosky, VosaxAlo
  • 日本語 (Japanese): gojpdchx, masoo, metalic_cat, p2635, saita, Shinichirou_Yamada, take100yen, Umoxfo, vargas.peniel, vmemjp, WatanabeShint, yukinakato
  • қазақ тілі (Kazakh): sotrud_nik
  • 한국어 (Korean): cancantun, peremen
  • latine (Latin): alexandercrice
  • lietuvių kalba (Lithuanian): Moo, pauliusbaulius, rookwood101
  • Norsk Bokmål (Norwegian Bokmål): eothred, haarek, JardarBolin, jumpingmushroom, sattor, torgeirf, ysteinalver
  • język polski (Polish): AreYouLoco, dedal123, hoek, keypress, konradmb, mrerexx, pabli, psobczak, SebJez
  • Português (Portuguese): weslly, xendez
  • Português (Portuguese (Brazil)): andersoniop, danielbibit, fabiom, flaviobn, guilherme__sr, Havokdan, lucasjsoliveira, mauri.andres, newmanisaac, rafaelnp, RockyTV, vitor895, weslly, xendez
  • Português (Portuguese (Portugal)): a.santos, American_Jesus, arainho, hds, lmagomes, mihai.ile, pfialho, smarquespt, smiguel, xendez, xnenjm
  • Română (Romanian): alexminza, drazvan, polearnik
  • русский (Russian): _nomoretears_, agag11507, alexminza, anm, artemkonenko, cl0ne, denoos, DG, JayDi85, KekcuHa, Mogost, Mr.GreyWolf, MustangDSG, NcNZllQnHVU, netforhack, NetWormKido, Rakleed, RKuchma, ruslan.denisenko, ShareDVI, Shevchuk, solodyagin, talvind, VictorR2007, vsvyatski, wkill95
  • српски језик (Serbian): ArtBIT, oros
  • Slovenčina (Slovak): Asprotes, crazko, l.martinicky, pecer, Slavko
  • Español (Spanish): adolfogc, AdrianClv, AndreachongB, AndresQ, antifaz, Bendhet, capitantrueno, caralu74, DarkHolme, e2jk, EdwardNavarro, eliluminado, erinm, gonrial, iglpdc, jojobrambs, LeoBeltran, lupa18, masanchez5000, mauri.andres, NicolasCGN, Pablohn, pdinoto, picodotdev, piegope, pquin, puchrojo, rcalpha, rodolfo.guagnini, systurbed, vargas.peniel, ventolinmono, vsvyatski, Xlate1984, zmzpa, Zranz
  • Svenska (Swedish): 0x9fff00, Anders_Bergqvist, ArmanB, baxtex, eson, henziger, jpyllman, krklns, LIINdd, malkus, peron, Thelin, theschitz, victorhggqvst, zeroxfourc
  • ไทย (Thai): arthit, ben_cm, chumaporn.t, darika, digitalthailandproject, GitJirasamatakij, muhammadmumean, nipattra, ordinaryjane, rayg, sirawat, Socialister, Wipanee
  • Türkçe (Turkish): cagries, etc, ethem578, mcveri, N3pp, SeLeNLeR, TeknoMobil, Ven_Zallow
  • Українська (Ukrainian): brisk022, chulivska, cl0ne, exlevan, m0stik, netforhack, paul_sm, ShareDVI, zoresvit
)"; AboutDialog::AboutDialog(QWidget* parent) : QDialog(parent) , m_ui(new Ui::AboutDialog()) { m_ui->setupUi(this); resize(minimumSize()); setWindowFlags(Qt::Sheet); setWindowFlags(windowFlags() & ~Qt::WindowContextHelpButtonHint); m_ui->nameLabel->setText(m_ui->nameLabel->text().replace("${VERSION}", KEEPASSXC_VERSION)); QFont nameLabelFont = m_ui->nameLabel->font(); nameLabelFont.setPointSize(nameLabelFont.pointSize() + 4); m_ui->nameLabel->setFont(nameLabelFont); m_ui->iconLabel->setPixmap(icons()->applicationIcon().pixmap(48)); QString debugInfo = Tools::debugInfo().append("\n").append(Crypto::debugInfo()); m_ui->debugInfo->setPlainText(debugInfo); m_ui->maintainers->setText(aboutMaintainers); m_ui->contributors->setText(aboutContributors); setAttribute(Qt::WA_DeleteOnClose); connect(m_ui->buttonBox, SIGNAL(rejected()), SLOT(close())); connect(m_ui->copyToClipboard, SIGNAL(clicked()), SLOT(copyToClipboard())); m_ui->buttonBox->button(QDialogButtonBox::Close)->setDefault(true); } AboutDialog::~AboutDialog() { } void AboutDialog::copyToClipboard() { QClipboard* clipboard = QApplication::clipboard(); clipboard->setText(m_ui->debugInfo->toPlainText()); }