File indexing completed on 2023-12-03 05:56:31

0001 /*
0002     main.cpp
0003 
0004     SPDX-License-Identifier: GPL-2.0-or-later
0005 
0006 */
0007 
0008 #include <QApplication>
0009 #include <QCommandLineOption>
0010 #include <QCommandLineParser>
0011 #include <QDir>
0012 #include <QUrl>
0013 
0014 #include <KAboutData>
0015 #include <KLocalizedString>
0016 
0017 #if QT_VERSION < QT_VERSION_CHECK(6, 0, 0)
0018 #include <Kdelibs4ConfigMigrator>
0019 #endif
0020 
0021 #include "kfinddlg.h"
0022 #include "kfind_version.h"
0023 
0024 int main(int argc, char **argv)
0025 {
0026     QApplication app(argc, argv);
0027 
0028 #if QT_VERSION < QT_VERSION_CHECK(6, 0, 0)
0029     Kdelibs4ConfigMigrator migrate(QStringLiteral("kfind"));
0030     migrate.setConfigFiles(QStringList() << QStringLiteral("kfindrc"));
0031     migrate.migrate();
0032 #endif
0033 
0034     KLocalizedString::setApplicationDomain("kfind");
0035 
0036     KAboutData aboutData(QStringLiteral("kfind"), i18n("KFind"),
0037                          QStringLiteral(KFIND_VERSION_STRING), i18n("KDE file find utility"), KAboutLicense::GPL,
0038                          i18n("(c) 1998-2021, The KDE Developers"));
0039 
0040     aboutData.addAuthor(i18n("Kai Uwe Broulik"), i18n("Current Maintainer"), QStringLiteral("kde@privat.broulik.de"));
0041     aboutData.addAuthor(i18n("Eric Coquelle"), i18n("Former Maintainer"), QStringLiteral("coquelle@caramail.com"));
0042     aboutData.addAuthor(i18n("Mark W. Webb"), i18n("Developer"), QStringLiteral("markwebb@adelphia.net"));
0043     aboutData.addAuthor(i18n("Beppe Grimaldi"), i18n("UI Design & more search options"), QStringLiteral("grimalkin@ciaoweb.it"));
0044     aboutData.addAuthor(i18n("Martin Hartig"));
0045     aboutData.addAuthor(i18n("Stephan Kulow"), QString(), QStringLiteral("coolo@kde.org"));
0046     aboutData.addAuthor(i18n("Mario Weilguni"), QString(), QStringLiteral("mweilguni@sime.com"));
0047     aboutData.addAuthor(i18n("Alex Zepeda"), QString(), QStringLiteral("zipzippy@sonic.net"));
0048     aboutData.addAuthor(i18n("Miroslav FlĂ­dr"), QString(), QStringLiteral("flidr@kky.zcu.cz"));
0049     aboutData.addAuthor(i18n("Harri Porten"), QString(), QStringLiteral("porten@kde.org"));
0050     aboutData.addAuthor(i18n("Dima Rogozin"), QString(), QStringLiteral("dima@mercury.co.il"));
0051     aboutData.addAuthor(i18n("Carsten Pfeiffer"), QString(), QStringLiteral("pfeiffer@kde.org"));
0052     aboutData.addAuthor(i18n("Hans Petter Bieker"), QString(), QStringLiteral("bieker@kde.org"));
0053     aboutData.addAuthor(i18n("Waldo Bastian"), i18n("UI Design"), QStringLiteral("bastian@kde.org"));
0054     aboutData.addAuthor(i18n("Alexander Neundorf"), QString(), QStringLiteral("neundorf@kde.org"));
0055     aboutData.addAuthor(i18n("Clarence Dang"), QString(), QStringLiteral("dang@kde.org"));
0056     aboutData.setTranslator(i18nc("NAME OF TRANSLATORS", "Your names"), i18nc("EMAIL OF TRANSLATORS", "Your emails"));
0057 #if QT_VERSION < QT_VERSION_CHECK(6, 0, 0)
0058     // enable high dpi support
0059     app.setAttribute(Qt::AA_UseHighDpiPixmaps, true);
0060 #endif
0061     QCommandLineParser parser;
0062     KAboutData::setApplicationData(aboutData);
0063     parser.addOption(QCommandLineOption(QStringList() <<  QStringLiteral("+[searchpath]"), i18n("Path(s) to search")));
0064 
0065     aboutData.setupCommandLine(&parser);
0066     parser.process(app);
0067     aboutData.processCommandLine(&parser);
0068 
0069     QUrl url;
0070     if (!parser.positionalArguments().isEmpty())
0071     {
0072         url = QUrl::fromUserInput(parser.positionalArguments().at(0), QDir::currentPath(), QUrl::AssumeLocalFile);
0073     }
0074     if (url.isEmpty()) {
0075         url = QUrl::fromLocalFile(QDir::currentPath());
0076     }
0077     if (url.isEmpty()) {
0078         url = QUrl::fromLocalFile(QDir::homePath());
0079     }
0080 
0081     KfindDlg kfinddlg(url);
0082     return kfinddlg.exec();
0083 }