File indexing completed on 2025-04-27 03:58:31

0001 /* ============================================================
0002  *
0003  * This file is a part of digiKam project
0004  * https://www.digikam.org
0005  *
0006  * Date        : 2008-07-30
0007  * Description : digiKam about data.
0008  *
0009  * SPDX-FileCopyrightText: 2008-2024 by Gilles Caulier <caulier dot gilles at gmail dot com>
0010  *
0011  * SPDX-License-Identifier: GPL-2.0-or-later
0012  *
0013  * ============================================================ */
0014 
0015 #include "daboutdata.h"
0016 
0017 // Qt includes
0018 
0019 #include <QIcon>
0020 #include <QAction>
0021 
0022 // KDE includes
0023 
0024 #include <klocalizedstring.h>
0025 #include <kaboutdata.h>
0026 
0027 // Local includes
0028 
0029 #include "dxmlguiwindow.h"
0030 
0031 namespace Digikam
0032 {
0033 
0034 DAboutData::DAboutData(DXmlGuiWindow* const parent)
0035     : QObject(parent)
0036 {
0037 }
0038 
0039 DAboutData::~DAboutData()
0040 {
0041 }
0042 
0043 const QString DAboutData::digiKamSloganFormated()
0044 {
0045     return i18nc("This is the slogan formatted string displayed in splashscreen. "
0046                  "Please translate using short words else the slogan can be truncated.",
0047                  "<qt><font color=\"white\">"
0048                  "<b>Professional</b> Photo <b>Management</b> with the Power of <b>Open Source</b>"
0049                  "</font><font color=\"gray\"><br/>"
0050                  "<i>%1</i>"
0051                  "</font></qt>",
0052                  digiKamFamily()
0053                 );
0054 }
0055 
0056 const QString DAboutData::digiKamSlogan()
0057 {
0058     return i18n("Professional Photo Management with the Power of Open Source");
0059 }
0060 
0061 const QString DAboutData::digiKamFamily()
0062 {
0063     return i18n("A KDE Family Project");
0064 }
0065 
0066 const QString DAboutData::copyright()
0067 {
0068     return i18n("(c) 2001-2024, digiKam developers team");
0069 }
0070 
0071 const QUrl DAboutData::webProjectUrl()
0072 {
0073     return QUrl(QLatin1String("https://www.digikam.org"));
0074 }
0075 
0076 void DAboutData::authorsRegistration(KAboutData& aboutData)
0077 {
0078     // -- Core team --------------------------------------------------------------
0079 
0080     aboutData.addAuthor ( ki18n("Caulier Gilles").toString(),
0081                           ki18n("Coordinator, Developer, and Mentoring").toString(),
0082                           QLatin1String("caulier dot gilles at gmail dot com"),
0083                           QLatin1String("https://www.linkedin.com/in/gilles-caulier/")
0084                         );
0085 
0086     aboutData.addAuthor ( ki18n("Maik Qualmann").toString(),
0087                           ki18n("Developer and Mentoring").toString(),
0088                           QLatin1String("metzpinguin at gmail dot com"),
0089                           QLatin1String("https://www.linkedin.com/in/maik-qualmann-2b266717b/")
0090                         );
0091 
0092     aboutData.addAuthor ( ki18n("Marcel Wiesweg").toString(),
0093                           ki18n("Developer and Mentoring").toString(),
0094                           QLatin1String("marcel dot wiesweg at gmx dot de"),
0095                           QLatin1String("https://www.facebook.com/marcel.wiesweg")
0096                         );
0097 
0098     aboutData.addAuthor ( ki18n("Mohamed Anwer").toString(),                                    // krazy:exclude=spelling
0099                           ki18n("Developer and Mentoring").toString(),
0100                           QLatin1String("mohammed dot ahmed dot anwer at gmail dot com"),       // krazy:exclude=spelling
0101                           QLatin1String("https://www.linkedin.com/in/mohamedanwer/")
0102                         );
0103 
0104     aboutData.addAuthor ( ki18n("Michael G. Hansen").toString(),
0105                           ki18n("Developer and Mentoring").toString(),
0106                           QLatin1String("mike at mghansen dot de"),
0107                           QLatin1String("http://www.mghansen.de")           // krazy:exclude=insecurenet
0108                         );
0109 
0110     aboutData.addAuthor ( ki18n("Teemu Rytilahti").toString(),
0111                           ki18n("Developer").toString(),
0112                           QLatin1String("tpr at iki dot fi"),
0113                           QLatin1String("https://www.linkedin.com/in/teemurytilahti/")
0114                         );
0115 
0116     aboutData.addAuthor ( ki18n("Thanh Trung Dinh").toString(),
0117                           ki18n("Mentoring, Port web-service tools to OAuth, factoring web service tools, "
0118                                 "and port faces recognition engine to OpenCV neural network").toString(),
0119                           QLatin1String("dinhthanhtrung1996 at gmail dot com"),
0120                           QLatin1String("https://www.linkedin.com/in/thanhtrungdinh/")
0121                         );
0122 
0123     // -- Contributors -----------------------------------------------------------
0124 
0125     aboutData.addAuthor ( ki18n("Matthias Welwarsky").toString(),
0126                           ki18n("Developer").toString(),
0127                           QLatin1String("matze at welwarsky dot de"),
0128                           QLatin1String("https://www.linkedin.com/in/matthiaswelwarsky/")
0129                         );
0130 
0131     aboutData.addAuthor ( ki18n("Julien Narboux").toString(),
0132                           ki18n("Developer").toString(),
0133                           QLatin1String("Julien at narboux dot fr"),
0134                           QLatin1String("https://www.linkedin.com/in/julien-narboux-17566610/")
0135                         );
0136 
0137     aboutData.addAuthor ( ki18n("Mario Frank").toString(),
0138                           ki18n("Advanced Searches Tool Improvements").toString(),
0139                           QLatin1String("mario.frank@uni-potsdam.de")
0140                         );
0141 
0142     aboutData.addAuthor ( ki18n("Nicolas Lécureuil").toString(),
0143                           ki18n("Releases Manager").toString(),
0144                           QLatin1String("neoclust dot kde at gmail dot com"),
0145                           QLatin1String("https://www.linkedin.com/in/nicolaslecureuil/")
0146                         );
0147 
0148     // -- Students ---------------------------------------------------------------
0149 
0150     aboutData.addCredit ( ki18n("Anjani Kumar").toString(),
0151                           ki18n("Port to Qt6,").toString(),
0152                           QLatin1String("anjanik012 at gmail dot com "),
0153                           QLatin1String("https://www.linkedin.com/in/anjanik012/")
0154                         );
0155 
0156     aboutData.addCredit ( ki18n("Phuoc Khanh LE").toString(),
0157                           ki18n("Rewrite Image Quality Sorter algorithms and Photo Focus Information Extraction, "
0158                                 "Aesthetic Detection to classify images using deep learning model,"
0159                                 "Slideshow and Presentation tools improvement").toString(),
0160                           QLatin1String("phuockhanhnk94 at gmail dot com "),
0161                           QLatin1String("https://www.linkedin.com/in/phuoc-khanh-le-476448169/")
0162                         );
0163 
0164     aboutData.addCredit ( ki18n("Quốc Hưng Trần").toString(),
0165                           ki18n("MJPEGStream plugin, OCR text Converter plugin, auto-tags assignment engine").toString(),
0166                           QLatin1String("quochungtran1999 at gmail dot com "),
0167                           QLatin1String("https://www.linkedin.com/in/qu%E1%BB%91c-h%C6%B0ng-tr%E1%BA%A7n-92a504163/")
0168                         );
0169 
0170     aboutData.addCredit ( ki18n("Minh Nghĩa Duong").toString(),
0171                           ki18n("Clustering support and improvement for Face Engine, "
0172                                 "Port Slideshow tool to plugins interface").toString(),
0173                           QLatin1String("minhnghiaduong997 at gmail dot com"),
0174                           QLatin1String("https://www.linkedin.com/in/minh-nghia-duong-2b5bbb15a/")
0175                         );
0176 
0177     aboutData.addCredit ( ki18n("Kartik Ramesh").toString(),
0178                           ki18n("Face management workflow improvements").toString(),
0179                           QLatin1String("kartikx2000 at gmail dot com"),
0180                           QLatin1String("https://www.linkedin.com/in/kartikxramesh/")
0181                         );
0182 
0183     aboutData.addCredit ( ki18n("Ahmed Fathi").toString(),
0184                           ki18n("UPNP/DLNA export tool, and Healing clone tool for image editor").toString(),
0185                           QLatin1String("ahmed dot fathi dot abdelmageed at gmail dot com"),
0186                           QLatin1String("https://ahmedfathishabanblog.wordpress.com/")
0187                         );
0188 
0189     aboutData.addCredit ( ki18n("Veaceslav Munteanu").toString(),
0190                           ki18n("Tags Manager").toString(),
0191                           QLatin1String("veaceslav dot munteanu90 at gmail dot com"),
0192                           QLatin1String("https://www.linkedin.com/in/veaceslav-munteanu-4370a063/")
0193                         );
0194 
0195     aboutData.addCredit ( ki18n("Tarek Talaat").toString(),
0196                           ki18n("New OneDrive, Pinterrest, and Box export tools").toString(),
0197                           QLatin1String("tarektalaat93 at gmail dot com"),
0198                           QLatin1String("https://www.linkedin.com/in/tarek-talaat-9bb5b1a6/")
0199                         );
0200 
0201     aboutData.addCredit ( ki18n("Yingjie Liu").toString(),
0202                           ki18n("Face-engine improvements and manual icon-view sort").toString(),
0203                           QLatin1String("yingjiewudi at gmail dot com"),
0204                           QLatin1String("https://yjwudi.github.io")
0205                         );
0206 
0207     aboutData.addCredit ( ki18n("Yiou Wang").toString(),
0208                           ki18n("Model/View Port of Image Editor Canvas").toString(),
0209                           QLatin1String("geow812 at gmail dot com"),
0210                           QLatin1String("https://www.linkedin.com/in/yiouwang/")
0211                         );
0212 
0213     aboutData.addCredit ( ki18n("Gowtham Ashok").toString(),
0214                           ki18n("Image Quality Sorter").toString(),
0215                           QLatin1String("gwty93 at gmail dot com"),
0216                           QLatin1String("https://www.linkedin.com/in/gowtham-ashok/")
0217                         );
0218 
0219     aboutData.addCredit ( ki18n("Aditya Bhatt").toString(),
0220                           ki18n("Face Detection").toString(),
0221                           QLatin1String("aditya at bhatts dot org"),
0222                           QLatin1String("https://www.linkedin.com/in/adityabhatt/")
0223                         );
0224 
0225     aboutData.addCredit ( ki18n("Martin Klapetek").toString(),
0226                           ki18n("Non-destructive image editing").toString(),
0227                           QLatin1String("martin dot klapetek at gmail dot com"),
0228                           QLatin1String("https://www.linkedin.com/in/mck182/")
0229                         );
0230 
0231     aboutData.addCredit ( ki18n("Gabriel Voicu").toString(),
0232                           ki18n("Reverse Geo-Coding").toString(),
0233                           QLatin1String("ping dot gabi at gmail dot com"),
0234                           QLatin1String("https://www.linkedin.com/in/gabriel-voicu-958b8327/")
0235                         );
0236 
0237     aboutData.addCredit ( ki18n("Mahesh Hegde").toString(),
0238                           ki18n("Face Recognition").toString(),
0239                           QLatin1String("maheshmhegade at gmail dot com"),
0240                           QLatin1String("https://www.linkedin.com/in/maheshmhegade/")
0241                         );
0242 
0243     aboutData.addCredit ( ki18n("Pankaj Kumar").toString(),
0244                           ki18n("Multi-core Support in Batch Queue Manager and Mentoring").toString(),
0245                           QLatin1String("me at panks dot me"),
0246                           QLatin1String("https://www.linkedin.com/in/panks42/")
0247                         );
0248 
0249     aboutData.addCredit ( ki18n("Smit Mehta").toString(),
0250                           ki18n("UPnP / DLNA Export tool and Mentoring").toString(),
0251                           QLatin1String("smit dot tmeh at gmail dot com"),
0252                           QLatin1String("https://www.linkedin.com/in/smit-mehta-45b82640/")
0253                         );
0254 
0255     aboutData.addCredit ( ki18n("Islam Wazery").toString(),
0256                           ki18n("Model/View port of Import Tool and Mentoring").toString(),
0257                           QLatin1String("wazery at ubuntu dot com"),
0258                           QLatin1String("https://www.linkedin.com/in/wazery/")
0259                         );
0260 
0261     aboutData.addCredit ( ki18n("Abhinav Badola").toString(),
0262                           ki18n("Video Metadata Support and Mentoring").toString(),
0263                           QLatin1String("mail dot abu dot to at gmail dot com"),
0264                           QLatin1String("https://www.linkedin.com/in/abhinav-badola-86085424/")
0265                         );
0266 
0267     aboutData.addCredit ( ki18n("Benjamin Girault").toString(),
0268                           ki18n("Panorama Tool and Mentoring").toString(),
0269                           QLatin1String("benjamin dot girault at gmail dot com"),
0270                           QLatin1String("https://www.linkedin.com/in/benjamingirault/")
0271                         );
0272 
0273     aboutData.addCredit ( ki18n("Victor Dodon").toString(),
0274                           ki18n("XML based GUI port of tools").toString(),
0275                           QLatin1String("dodonvictor at gmail dot com"),
0276                           QLatin1String("https://www.linkedin.com/in/dodonvictor/")
0277                         );
0278 
0279     aboutData.addCredit ( ki18n("Sayantan Datta").toString(),
0280                           ki18n("Auto Noise Reduction").toString(),
0281                           QLatin1String("sayantan dot knz at gmail dot com"),
0282                           QLatin1String("https://www.linkedin.com/in/stndta/")
0283                         );
0284 
0285     // -- Former contributors ----------------------------------------------------
0286 
0287     aboutData.addAuthor ( ki18n("Ananta Palani").toString(),
0288                           ki18n("Windows Port and Release Manager").toString(),
0289                           QLatin1String("anantapalani at gmail dot com"),
0290                           QLatin1String("https://www.linkedin.com/in/anantapalani/")
0291                         );
0292 
0293     aboutData.addAuthor ( ki18n("Andi Clemens").toString(),
0294                           ki18n("Developer").toString(),
0295                           QLatin1String("andi dot clemens at gmail dot com")
0296                         );
0297 
0298     aboutData.addAuthor ( ki18n("Patrick Spendrin").toString(),
0299                           ki18n("Developer and Windows port").toString(),
0300                           QLatin1String("patrick_spendrin at gmx dot de"),
0301                           QLatin1String("https://www.linkedin.com/in/patrickspendrin/")
0302                         );
0303 
0304     aboutData.addCredit ( ki18n("Francesco Riosa").toString(),
0305                           ki18n("LCMS2 library port").toString(),
0306                           QLatin1String("francesco plus kde at pnpitalia dot it"),
0307                           QLatin1String("https://www.linkedin.com/in/vivogentoo/")
0308                         );
0309 
0310     aboutData.addCredit ( ki18n("Johannes Wienke").toString(),
0311                           ki18n("Developer").toString(),
0312                           QLatin1String("languitar at semipol dot de"),
0313                           QLatin1String("https://www.facebook.com/languitar")
0314                         );
0315 
0316     aboutData.addAuthor ( ki18n("Julien Pontabry").toString(),
0317                           ki18n("Developer").toString(),
0318                           QLatin1String("julien dot pontabry at ulp dot u-strasbg dot fr"),
0319                           QLatin1String("https://www.linkedin.com/in/julien-pontabry-b784a247/")
0320                         );
0321 
0322     aboutData.addAuthor ( ki18n("Arnd Baecker").toString(),
0323                           ki18n("Developer").toString(),
0324                           QLatin1String("arnd dot baecker at web dot de")
0325                         );
0326 
0327     aboutData.addAuthor ( ki18n("Francisco J. Cruz").toString(),
0328                           ki18n("Color Management").toString(),
0329                           QLatin1String("fj dot cruz at supercable dot es")
0330                         );
0331 
0332     aboutData.addCredit ( ki18n("Pieter Edelman").toString(),
0333                           ki18n("Developer").toString(),
0334                           QLatin1String("p dot edelman at gmx dot net"),
0335                           QLatin1String("https://www.facebook.com/pieter.edelman")
0336                         );
0337 
0338     aboutData.addCredit ( ki18n("Holger Foerster").toString(),
0339                           ki18n("MySQL interface").toString(),
0340                           QLatin1String("hamsi2k at freenet dot de")
0341                         );
0342 
0343     aboutData.addCredit ( ki18n("Risto Saukonpaa").toString(),
0344                           ki18n("Design, icons, logo, banner, mockup, beta tester").toString(),
0345                           QLatin1String("paristo at gmail dot com")
0346                         );
0347 
0348     aboutData.addCredit ( ki18n("Mikolaj Machowski").toString(),
0349                           ki18n("Bug reports and patches").toString(),
0350                           QLatin1String("mikmach at wp dot pl"),
0351                           QLatin1String("https://www.facebook.com/mikolaj.machowski")
0352                         );
0353 
0354     aboutData.addCredit ( ki18n("Achim Bohnet").toString(),
0355                           ki18n("Bug reports and patches").toString(),
0356                           QLatin1String("ach at mpe dot mpg dot de"),
0357                           QLatin1String("https://www.facebook.com/achim.bohnet")
0358                         );
0359 
0360     aboutData.addCredit ( ki18n("Luka Renko").toString(),
0361                           ki18n("Developer").toString(),
0362                           QLatin1String("lure at kubuntu dot org"),
0363                           QLatin1String("https://www.facebook.com/luka.renko")
0364                         );
0365 
0366     aboutData.addCredit ( ki18n("Angelo Naselli").toString(),
0367                           ki18n("Developer").toString(),
0368                           QLatin1String("a dot naselli at libero dot it"),
0369                           QLatin1String("https://www.linkedin.com/in/angelo-naselli-11199028/")
0370                         );
0371 
0372     aboutData.addCredit ( ki18n("Fabien Salvi").toString(),
0373                           ki18n("Webmaster").toString(),
0374                           QLatin1String("fabien dot ubuntu at gmail dot com")
0375                         );
0376 
0377     aboutData.addCredit ( ki18n("Todd Shoemaker").toString(),
0378                           ki18n("Developer").toString(),
0379                           QLatin1String("todd at theshoemakers dot net")
0380                         );
0381 
0382     aboutData.addCredit ( ki18n("Gerhard Kulzer").toString(),
0383                           ki18n("Handbook writer, alpha tester, webmaster").toString(),
0384                           QLatin1String("gerhard at kulzer dot net"),
0385                           QLatin1String("https://www.linkedin.com/in/gerhard-kulzer-8931301/")
0386                         );
0387 
0388     aboutData.addCredit ( ki18n("Oliver Doerr").toString(),
0389                           ki18n("Beta tester").toString(),
0390                           QLatin1String("oliver at doerr-privat dot de")
0391                         );
0392 
0393     aboutData.addCredit ( ki18n("Charles Bouveyron").toString(),
0394                           ki18n("Beta tester").toString(),
0395                           QLatin1String("c dot bouveyron at tuxfamily dot org")
0396                         );
0397 
0398     aboutData.addCredit ( ki18n("Richard Taylor").toString(),
0399                           ki18n("Feedback and patches. Handbook writer").toString(),
0400                           QLatin1String("rjt-digicam at thegrindstone dot me dot uk")
0401                         );
0402 
0403     aboutData.addCredit ( ki18n("Hans Karlsson").toString(),
0404                           ki18n("digiKam website banner and application icons").toString(),
0405                           QLatin1String("karlsson dot h at home dot se")
0406                         );
0407 
0408     aboutData.addCredit ( ki18n("Aaron Seigo").toString(),
0409                           ki18n("Various usability fixes and general application polishing").toString(),
0410                           QLatin1String("aseigo at kde dot org"),
0411                           QLatin1String("https://www.linkedin.com/in/aaronseigo/")
0412                         );
0413 
0414     aboutData.addCredit ( ki18n("Yves Chaufour").toString(),
0415                           ki18n("digiKam website, Feedback").toString(),
0416                           QLatin1String("yves dot chaufour at wanadoo dot fr")
0417                         );
0418 
0419     aboutData.addCredit ( ki18n("Tung Nguyen").toString(),
0420                           ki18n("Bug reports, feedback and icons").toString(),
0421                           QLatin1String("ntung at free dot fr")
0422                         );
0423 
0424     // -- Former Members ---------------------------------------------------------
0425 
0426     aboutData.addAuthor ( ki18n("Renchi Raju").toString(),
0427                           ki18n("Developer (2001-2005)").toString(),
0428                           QLatin1String("renchi dot raju at gmail dot com"),
0429                           QLatin1String("https://www.facebook.com/renchi.raju")
0430                         );
0431 
0432     aboutData.addAuthor ( ki18n("Joern Ahrens").toString(),
0433                           ki18n("Developer (2004-2005)").toString(),
0434                           QLatin1String("kde at jokele dot de"),
0435                           QLatin1String("http://www.jokele.de/")        // krazy:exclude=insecurenet
0436                         );
0437 
0438     aboutData.addAuthor ( ki18n("Tom Albers").toString(),
0439                           ki18n("Developer (2004-2005)").toString(),
0440                           QLatin1String("tomalbers at kde dot nl"),
0441                           QLatin1String("https://www.linkedin.com/in/tom-a-676a58157/")
0442                         );
0443 
0444     aboutData.addAuthor ( ki18n("Ralf Holzer").toString(),
0445                           ki18n("Developer (2004)").toString(),
0446                           QLatin1String("kde at ralfhoelzer dot com")
0447                         );
0448 }
0449 
0450 } // namespace Digikam
0451 
0452 #include "moc_daboutdata.cpp"