File indexing completed on 2024-05-12 05:20:37

0001 /*
0002     aboutdata.cpp
0003 
0004     This file is part of KMail, the KDE mail client.
0005     SPDX-FileCopyrightText: 2003 Marc Mutz <mutz@kde.org>
0006 
0007     SPDX-License-Identifier: GPL-2.0-only
0008 */
0009 
0010 #include "aboutdata.h"
0011 
0012 #include "kmail-version.h"
0013 
0014 #include <KLazyLocalizedString>
0015 #include <KLocalizedString>
0016 
0017 namespace KMail
0018 {
0019 struct about_data {
0020     const char *name;
0021     const KLazyLocalizedString desc;
0022     const char *email;
0023     const char *web;
0024 };
0025 
0026 // This file should not be changed by anybody other than the maintainer
0027 // If you change the maintainer here, change it in the MAINTAINERS file in the
0028 // top level folder as well.
0029 // Testing mosifications. August 2021. Permission requested of M. L. Montel. @dcb
0030 // Commit statistics below current as of June 30, 2021.
0031 
0032 static const about_data authors[] = {
0033     {"Laurent Montel", kli18n("Maintainer"), "montel@kde.org", nullptr}, // Last commit June 30, 2021. 8,006 commits.
0034     {"Thomas McGuire", kli18n("Former maintainer"), "mcguire@kde.org", nullptr}, // Last commit Sep 10, 2011 (9/10/11). 2,344 commits.
0035     {"Stefan Taferner", kli18n("Original author"), "taferner@kde.org", nullptr}, // Last commit Feb 14, 2001. 189 commits.
0036     {"Michael H\303\244ckel", kli18n("Former maintainer"), "haeckel@kde.org", nullptr}, // Last commit Nov 12, 2002. 818 commits.
0037     {"Ingo Kl\303\266cker", kli18n("Former maintainer"), "kloecker@kde.org", nullptr}, // Last commit May 14, 2021. 1,017 commits.
0038     {"Don Sanders", kli18n("Former co-maintainer"), "sanders@kde.org", nullptr}, // Last commit Aug 22, 2005. 648 commits.
0039     {"Till Adam", kli18n("Former core developer"), "adam@kde.org", nullptr}, // last commit Oct 13, 2012. 1,517 commits.
0040     {"Volker Krause", kli18n("Core developer"), "vkrause@kde.org", nullptr}, // still active (2021). 911 commits.
0041     {"Carsten Burghardt", kli18n("Former core developer"), "burghardt@kde.org", nullptr}, // Last commit Oct 6, 2006. 415 commits.
0042     {"Marc Mutz", kli18n("Former core developer"), "mutz@kde.org", nullptr}, // Last commit Aug 19, 2010. 900 commits.
0043     {"Zack Rusin", kli18n("Former core developer"), "zack@kde.org", nullptr}, // Last commit Apr 13, 2004. 127 commits.
0044     {"Daniel Naber", kli18n("Documentation"), "daniel.naber@t-online.de", nullptr}, // Last commit Nov 10, 2003. 124 commits.
0045     {"Toyohiro Asukai", kli18n("Japanese language support"), "toyohiro@ksmplus.com", nullptr}, // 8 patches for Japanese language. Last patch June 25, 2004.
0046     {"Waldo Bastian", kli18n("Numerous technical corrections"), "bastian@kde.org", nullptr}, // Last commit Jun 16, 2004. 118 commits.
0047     {"Ryan Breen", kli18n("System tray notification"), "ryan@ryanbreen.com", nullptr}, // Last commit Feb 7, 2003. 10 commits.
0048     {"Steven Brown", kli18n("Patch for PGP"), "swbrown@ucsd.edu", nullptr}, // No commits. Mentioned once -- patch for PGP, Mar. 8, 2001.
0049     {"Matthias Kalle Dalheimer", kli18n("Crypto support"), "kalle@kde.org", nullptr}, // Kalle Dalheimer in logs. Last commit Aug 30, 2002. 33 commits.
0050     {"Matt Douhan", kli18n("Improved internal program documentation"), "matt@fruitsalad.org", nullptr}, // Last commit Jul 28, 2005. 50 commits.
0051     {"Cristi Dumitrescu", KLazyLocalizedString(), "cristid@chip.ro", nullptr}, // No commits. One patch, Apr 5, 2001.
0052     {"David Faure", kli18n("Major contributor, still active"), "faure@kde.org", nullptr}, // Last Commit Oct 6, 2020. 195 commits.
0053     {"Philippe Fremy", KLazyLocalizedString(), "pfremy@chez.com", nullptr}, // No commits. Mentioned twice in 2001.
0054     {"Kurt Granroth", kli18n("Added maildir support"), "granroth@kde.org", nullptr}, // Last commit Jun 26, 2002. 20 commits.
0055     {"Andreas Gungl",
0056      kli18n("PGP 6 support and further enhancements of the encryption support"),
0057      "a.gungl@gmx.de",
0058      nullptr}, // Last commit Mar 25, 2007. 247 commits.
0059     {"Steffen Hansen", KLazyLocalizedString(), "hansen@kde.org", nullptr}, // Last commit Jun 11, 2004. 12 commits.
0060     {"Igor Janssen", KLazyLocalizedString(), "rm@linux.ru.net", nullptr}, // One commit dated May 28, 2001.
0061     {"Matt Johnston", KLazyLocalizedString(), "matt@caifex.org", nullptr}, // No commits. Two patches, Nov - Dec, 2000.
0062     {"Christer Kaivo-oja", KLazyLocalizedString(), "whizkid@telia.com", nullptr}, // No commits. One patch, Mar 7,2001.
0063     {"Lars Knoll", kli18n("Original encryption support PGP 2 and PGP 5 support"), "knoll@kde.org", nullptr}, // Last commit Sep 17, 2002. 22 commits.
0064     {"J. Nick Koston", kli18n("GnuPG support"), "bdraco@darkorb.net", nullptr}, // No commits. One or two patches in 1999 (GnuPG).
0065     {"Stephan Kulow", kli18n("Major contributor"), "coolo@kde.org", nullptr}, // Last commit Aug 20, 2008. 354 commits.
0066     {"Guillaume Laurent", KLazyLocalizedString(), "glaurent@telegraph-road.org", nullptr}, // Last Apr 19, 2001. 2 commits, five patches.
0067     {"Sam Magnuson", KLazyLocalizedString(), "sam@trolltech.com", nullptr}, // One commit, Mar 10, 2003. Two patches.
0068     {"Matt Newell", KLazyLocalizedString(), "newellm@proaxis.com", nullptr}, // No commits. Three patches, the latest one dated Feb 23, 2001
0069     {"Denis Perchine", KLazyLocalizedString(), "dyp@perchine.com", nullptr}, // Last commit Dec 22, 2000. 4 commits, 1 large patch.
0070     {"Samuel Penn", KLazyLocalizedString(), "sam@bifrost.demon.co.uk", nullptr}, // No commits. Two patches -- most recent Jan 1, 2002.
0071     {"Carsten Pfeiffer", kli18n("Various and sundry bug fixes"), "pfeiffer@kde.org", nullptr}, // Last commit Oct 5, 2003. 43 commits.
0072     {"Sven Radej", kli18n("Improved asynchronous processes"), "radej@kde.org", nullptr}, // Last commit Mar 30, 2000. 25 commits.
0073     {"Mark Roberts", KLazyLocalizedString(), "mark@taurine.demon.co.uk", nullptr}, // No commits. One patch dated Sep 19, 2000.
0074     {"Wolfgang Rohdewald", KLazyLocalizedString(), "wolfgang@rohdewald.de", nullptr}, // One commit, Dec 10, 2008.
0075     {"Espen Sand", kli18n("Enhanced configuration dialogs"), "espen@kde.org", nullptr}, // Last commit Jul 4, 2000. 30 commits.
0076     {"Aaron J. Seigo", kli18n("Notes/calendar integration"), "aseigo@olympusproject.org", nullptr}, // Last commit Oct 6, 2014. 50 commits.
0077     {"George Staikos", kli18n("Improve efficiency and consistency of code"), "staikos@kde.org", nullptr}, // Last commit Apr 15, 2005. 113 commits.
0078     {"Szymon Stefanek", kli18n("New message list and new folder tree"), "pragma@kvirc.net", nullptr}, // Last commit Sep 2, 2009. 94 commits.
0079     {"Jason Stephenson", KLazyLocalizedString(), "panda@mis.net", nullptr}, // Last commit Mar 15, 2001. 8 commits.
0080     {"Jacek Stolarczyk", KLazyLocalizedString(), "jacek@mer.chemia.polsl.gliwice.pl", nullptr}, // Last commit Nov 9, 2000. 16 commits.
0081     {"Roberto S. Teixeira", KLazyLocalizedString(), "maragato@kde.org", nullptr}, // Last commit Oct 23, 2003. 5 commits.
0082     {"Bo Thorsen", kli18n("Many valuable contributions"), "bo@sonofthor.dk", nullptr}, // Last commit Nov17, 2004. 183 commits.
0083     {"Ronen Tzur", KLazyLocalizedString(), "rtzur@shani.net", nullptr}, // No commits. 10 patches, last one dated Jan 4, 2002.
0084     {"Mario Weilguni", KLazyLocalizedString(), "mweilguni@sime.com", nullptr}, // Last commit May 29, 2000. 10 commits.
0085     {"Wynn Wilkes", KLazyLocalizedString(), "wynnw@calderasystems.com", nullptr}, // One commit, Jan 11, 2002. Also one patch.
0086     {"Robert D. Williams", KLazyLocalizedString(), "rwilliams@kde.org", nullptr}, // Last commit Jun 2, 2000. 26 commits.
0087     {"Markus Wübben", kli18n("Killed lots of bugs"), "markus.wuebben@kde.org", nullptr}, // Last commit Jan 16, 1999. 77 commits.
0088     {"Karl-Heinz Zimmer", kli18n("Major contributor"), "khz@kde.org", nullptr} // Last commit Nov 19, 2004. 203 commits.
0089 };
0090 
0091 static const about_data credits[] = {
0092     {"Sam Abed", kli18n("Smiley-->emoticons processing"), "earlgreykde@pop.netspace.net.au", nullptr}, // KConfigXT porting, smileys->emoticons replacement
0093     {"Joern Ahrens",
0094      kli18n("Improve 'Mark Message as' popup menu"),
0095      "joern.ahrens@kdemail.net",
0096      nullptr}, // implement wish 77182 (Add some separators to "Mark Message as" popup menu)
0097     {"Tom Albers", kli18n("Bugzilla maintenance"), "toma@kde.org", nullptr}, // small fixes, bugzilla maintenance
0098     {"Jaime Torres Amate",
0099      kli18n("Improved execution speed"),
0100      "jtamate@gmail.com",
0101      nullptr}, // improvements in speed of execution. Avoid unnecessary processes.
0102     {"Albert Cervera Areny",
0103      kli18n("Optionally compress attachments"),
0104      "albertca@hotpop.com",
0105      nullptr}, // implemented wish 88309 (optional compression of attachments)
0106     {"Jonathan Armond", KLazyLocalizedString(), "jon.armond@gmail.com", nullptr},
0107     {"Patrick Audley", kli18n("Added spam status to fancy headers"), nullptr, nullptr}, // add optional graphical spam status to fancy headers
0108     {"Benjamin Azan", kli18n("Implemented todo status handling"), "b.azan@free.fr", nullptr}, // implemented todo status handling
0109     {"Davide Bettio", kli18n("Bug fixes, code cleanup"), "davide.bettio@kdemail.net", nullptr}, // Bug fixes, code cleanup
0110     {"Pradeepto Bhattacharya",
0111      kli18n("LDAP support, maintenance"),
0112      "pradeepto@kde.org",
0113      nullptr}, // 294 commits. Lots of "bump version number" commits. LDAP patches
0114     {"Bruno Bigras", KLazyLocalizedString(), "bigras.bruno@gmail.com", nullptr},
0115     {"Bertjan Broeksema", kli18n("Major contributor to Akonadi"), "broeksema@kde.org", nullptr}, // 382 commits, mostly on Akonadi
0116     {"David Bryant", kli18n("Documentation, still active"), "davidbryant@gvtc.com", "https://davidcbryant.net"}, // Last commit August 29, 2021. 35 commits.
0117     {"Albert Astals Cid",
0118      kli18n("Substantial contributor, still active"),
0119      "aacid@kde.org",
0120      nullptr}, // fix for bug:95441 (folder tree context menu doesn't show shortcuts assigned to the actions) 172 commits
0121     {"Frederick Emmott", kli18n("Anti-virus support"), "fred87@users.sf.net", nullptr},
0122     {"Christophe Giboudeaux", kli18n("Major contributor, still active"), "christophe@krop.fr", nullptr}, // 1,021 commits, latest in July, 2021
0123     {"Sandro Giessl", kli18n("Fixed widget styles"), "sgiessl@gmail.com", nullptr}, // frame width fixes for widget styles
0124     {"Olivier Goffart", kli18n("Bug fixes"), "ogoffart@kde.org", nullptr}, // Bug fixes, for the most part
0125     {"Severin Greimel", kli18n("Several patches"), "greimel-kde@fs-pw.uni-muenchen.de", nullptr}, // several patches
0126     {"Shaheed Haque", kli18n("Bug fixes"), "shaheedhaque@gmail.com", nullptr}, // fix for bug:69744 (Resource folders: "Journals" should be "Journal")
0127     {"Ingo Heeskens",
0128      kli18n("Enable external reference loading for a whole folder"),
0129      "ingo@fivemile.org",
0130      nullptr}, // implemented wish 34857 (per folder option for loading external references)
0131     {"Kurt Hindenburg", kli18n("Delete an entire thread"), "kurt.hindenburg@gmail.com", nullptr}, // implemented wish 89003 (delete whole thread)
0132     {"Heiko Hund", kli18n("POP filters"), "heiko@ist.eigentlich.net", nullptr},
0133     {"Torsten Kasch", kli18n("Patch Solaris crash"), "tk@genetik.uni-bielefeld.de", nullptr}, // crash fix for Solaris (cf. bug:68801)
0134     {"Jason 'vanRijn' Kasper",
0135      kli18n("Choice of fonts for new/unread/important messages"),
0136      "vr@movingparts.net",
0137      nullptr}, // implemented wish 79938 (configurable font for new/unread/important messages)
0138     {"Martijn Klingens",
0139      kli18n("Fix Quick Search keyboard navigation"),
0140      "klingens@kde.org",
0141      nullptr}, // fix keyboard navigation in the Status combo of the quick search
0142     {"Christoph Klünter",
0143      kli18n("Fix drag and drop from address book to composer"),
0144      "chris@inferno.nadir.org",
0145      nullptr}, // fix for bug:88216 (drag&drop from KAddressBook to the To: field)
0146     {"Martin Koller", kli18n("Substantial contributor"), "kollix@aon.at", nullptr}, // optional columns in the message list
0147     {"Tobias König", kli18n("Major contributor"), "tokoe@kde.org", nullptr}, // edit recent addresses, store email<->OpenPGP key association in address book
0148     {"Nikolai Kosjar", KLazyLocalizedString(), "nikolai.kosjar@qt.io", nullptr},
0149     {"Francois Kritzinger", kli18n("Improve configuration dialog"), nullptr, nullptr}, // fix bug in configuration dialog
0150     {"Danny Kukawka", kli18n("Improved message importing"), "danny.kukawka@bisect.de", nullptr}, // DCOP enhancements for better message importing
0151     {"Roger Larsson", kli18n("Improve status bar messages"), "roger.larsson@norran.net", nullptr}, // add name of checked account to status bar message
0152     {"Michael Leupold", KLazyLocalizedString(), "lemma@confuego.org", nullptr},
0153     {"Thiago Macieira", KLazyLocalizedString(), "thiago@kde.org", nullptr},
0154     {"Andras Mantia", KLazyLocalizedString(), "amantia@kde.org", nullptr},
0155     {"Jonathan Marten", KLazyLocalizedString(), "jjm@keelhaul.me.uk", nullptr},
0156     {"Sergio Luis Martins", KLazyLocalizedString(), "iamsergio@gmail.com", nullptr},
0157     {"Jeffrey McGee", kli18n("Patch for window resizing problem"), "jeffreym@cs.tamu.edu", nullptr}, // fix for bug:64251
0158     {"Thomas Moenicke", KLazyLocalizedString(), "tm@php-qt.org", nullptr},
0159     {"Dirk Müller", kli18n("Optimize qt-cast; fix QUrl()"), "mueller@kde.org", nullptr}, // QUrl() fixes and qt_cast optimizations
0160     {"Torgny Nyblom", kli18n("Substantial contributor"), "nyblom@kde.org", nullptr},
0161     {"OpenUsability", kli18n("Usability tests and improvements"), "contact@openusability.org", "https://www.openusability.org"},
0162     {"Mario Teijeiro Otero", KLazyLocalizedString(), "emeteo@escomposlinux.org", nullptr}, // various vendor annotations fixes
0163     {"Kevin Ottens", KLazyLocalizedString(), "ervin@kde.org", nullptr},
0164     {"Simon Perreault",
0165      kli18n("Patch composer configuration"),
0166      "nomis80@nomis80.org",
0167      nullptr}, // make the composer remember its "Use Fixed Font" setting (bug 49481)
0168     {"Jakob Petsovits", KLazyLocalizedString(), "jpetso@gmx.at", nullptr},
0169     {"Romain Pokrzywka", KLazyLocalizedString(), "romain@kdab.net", nullptr},
0170     {"Bernhard Reiter", kli18n("Ägypten and Kroupware project management"), "bernhard@intevation.de", nullptr},
0171     {"Darío Andrés Rodríguez", KLazyLocalizedString(), "andresbajotierra@gmail.com", nullptr},
0172     {"Edwin Schepers", kli18n("Improved HTML support"), "yez@familieschepers.nl", nullptr}, // composition of HTML messages
0173     {"Jakob Schröter", kli18n("X-Face support"), "cvsci@camaya.net", nullptr}, // implemented wish 28319 (X-Face support)
0174     {"Cornelius Schumacher", kli18n("Automated recipient selection"), "schumacher@kde.org", nullptr}, // implemented the new recipients editor and picker
0175     {"Jan Simonson", kli18n("Beta testing of PGP 6 support"), "jan@simonson.pp.se", nullptr},
0176     {"Paul Sprakes",
0177      kli18n("Bug fixes, cleaned up context menus"),
0178      "kdecvs@sprakes.co.uk",
0179      nullptr}, // fix for bug:63619 (filter button in toolbar doesn't work), context menu clean up
0180     {"Jarosław Staniek", kli18n("Port to MS Windows®"), "staniek@kde.org", nullptr}, // MS Windows porting
0181     {"Will Stephenson", kli18n("IM status indicator"), "wstephenson@kde.org", nullptr}, // added IM status indicator
0182     {"Hasso Tepper", kli18n("Improve layout of recipients editor"), "hasso@kde.org", nullptr}, // improve layout of recipients editor
0183     {"Frank Thieme", kli18n("Bug fixes"), "frank@fthieme.net", nullptr}, // patched two bugsin 2009 / 2010 timeframe
0184     {"Patrick S. Vogt", kli18n("Timestamp for 'Transmission completed' status messages"), "patrick.vogt@unibas.ch", nullptr},
0185     {"Jan-Oliver Wagner", kli18n("Ägypten and Kroupware project management"), "jan@intevation.de", nullptr},
0186     {"Wolfgang Westphal", kli18n("Multiple encryption keys per address"), "wolfgang.westphal@gmx.de", nullptr},
0187     {"Allen Winter", kli18n("Major contributor, still active"), "winter@kde.org", nullptr}, // 2,061 commits as of August, 2021
0188     {"Urs Wolfer", kli18n("Improved icon/image processing"), "uwolfer@kde.org", nullptr},
0189     {"Thorsten Zachmann", kli18n("POP filters"), "t.zachmann@zagge.de", nullptr},
0190     {"Thomas Zander", kli18n("Fixed many IMAP bugs"), "zander@kde.org", nullptr}};
0191 
0192 AboutData::AboutData()
0193     : KAboutData(QStringLiteral("kmail2"),
0194                  i18n("KMail"),
0195                  QStringLiteral(KDEPIM_VERSION),
0196                  i18n("KDE Email Client"),
0197                  KAboutLicense::GPL,
0198                  i18n("Copyright © %1, KMail authors", QStringLiteral("2024")),
0199                  QString(),
0200                  QStringLiteral("https://userbase.kde.org/KMail"))
0201 {
0202     using KMail::authors;
0203     using KMail::credits;
0204     const unsigned int numberAuthors(sizeof authors / sizeof *authors);
0205     for (unsigned int i = 0; i < numberAuthors; ++i) {
0206         addAuthor(i18n(authors[i].name),
0207                   authors[i].desc.untranslatedText() ? authors[i].desc.toString() : QString(),
0208                   QLatin1StringView(authors[i].email),
0209                   QLatin1StringView(authors[i].web));
0210     }
0211 
0212     const unsigned int numberCredits(sizeof credits / sizeof *credits);
0213     for (unsigned int i = 0; i < numberCredits; ++i) {
0214         addAuthor(i18n(credits[i].name),
0215                   credits[i].desc.untranslatedText() ? credits[i].desc.toString() : QString(),
0216                   QLatin1StringView(credits[i].email),
0217                   QLatin1StringView(credits[i].web));
0218     }
0219 }
0220 
0221 AboutData::~AboutData() = default;
0222 } // namespace KMail