From 84e5124ae6aefafaacabda7cb914c2b7bfd1ff98 Mon Sep 17 00:00:00 2001 From: Matthieu Gautier Date: Tue, 12 Jun 2018 19:22:49 +0200 Subject: [PATCH] Use dialog to select a zim file if no zim as been provide on command line. It is better than crashing. --- main.cpp | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/main.cpp b/main.cpp index 9d8a7ea..ff11452 100644 --- a/main.cpp +++ b/main.cpp @@ -2,23 +2,34 @@ #include "mainwindow.h" #include +#include +#include int main(int argc, char *argv[]) { KiwixApp a(argc, argv); KiwixApp::setApplicationName("kiwix-desktop"); - QCommandLineParser parser; parser.addPositionalArgument("zimfile", "The zim file"); parser.process(a); - const QString zimfile = parser.positionalArguments().at(0); - - a.openZimFile(zimfile); + QString zimfile; + auto positionalArguments = parser.positionalArguments(); + if (positionalArguments.size() < 1){ + zimfile = QFileDialog::getOpenFileName(nullptr, + "Open Zim", + QString(), + "ZimFile (*.zim*)"); + } else { + zimfile = parser.positionalArguments().at(0); + } + std::string f = zimfile.toUtf8().constData(); + std::cout << f << std::endl; MainWindow w; w.show(); + a.openZimFile(zimfile); return a.exec(); }