File indexing completed on 2024-05-05 05:00:05
0001 /* This file is part of Webarchiver 0002 0003 SPDX-FileCopyrightText: 2020 Jonathan Marten <jjm@keelhaul.me.uk> 0004 0005 SPDX-License-Identifier: LGPL-2.0-or-later 0006 */ 0007 0008 #include <QApplication> 0009 #include <QCommandLineParser> 0010 #include <QUrl> 0011 #include <QIcon> 0012 0013 #include <kaboutdata.h> 0014 #include <klocalizedstring.h> 0015 #include <kcrash.h> 0016 0017 #include "archivedialog.h" 0018 #include "webarchiverdebug.h" 0019 0020 0021 int main(int argc,char *argv[]) 0022 { 0023 QApplication app(argc, argv); 0024 0025 KAboutData aboutData(QStringLiteral("kcreatwebearchive"), // componentName 0026 i18n("Web Archiver"), // displayName 0027 i18n("0.0.1"), // version 0028 i18n("Archive a web page"), 0029 KAboutLicense::GPL_V3, 0030 i18n("Copyright (c) 2020 Jonathan Marten")); 0031 aboutData.addAuthor(i18n("Jonathan Marten"), 0032 QString(), 0033 QStringLiteral("jjm@keelhaul.me.uk"), 0034 QStringLiteral("http://www.keelhaul.me.uk")); 0035 0036 KAboutData::setApplicationData(aboutData); 0037 app.setWindowIcon(QIcon::fromTheme(QStringLiteral("webarchiver"))); 0038 KCrash::setDrKonqiEnabled(true); 0039 0040 QCommandLineParser parser; 0041 parser.setApplicationDescription(aboutData.shortDescription()); 0042 0043 parser.addPositionalArgument(QStringLiteral("url"), i18n("URL of the web page to archive"), i18n("url")); 0044 0045 aboutData.setupCommandLine(&parser); 0046 parser.process(app); 0047 aboutData.processCommandLine(&parser); 0048 0049 QUrl url; 0050 QStringList args = parser.positionalArguments(); 0051 if (!args.isEmpty()) 0052 { 0053 if (args.count()>1) 0054 { 0055 qCWarning(WEBARCHIVERPLUGIN_LOG) << "Only one URL argument is accepted"; 0056 } 0057 0058 url = QUrl::fromUserInput(args.first()); 0059 if (!url.isValid()) 0060 { 0061 qCCritical(WEBARCHIVERPLUGIN_LOG) << "Invalid URL argument"; 0062 std::exit(EXIT_FAILURE); 0063 } 0064 } 0065 0066 ArchiveDialog *ad = new ArchiveDialog(url); 0067 ad->show(); 0068 return (app.exec()); 0069 }