diff --git a/src/kiwixapp.cpp b/src/kiwixapp.cpp
index 88871bb..e589e15 100644
--- a/src/kiwixapp.cpp
+++ b/src/kiwixapp.cpp
@@ -37,30 +37,6 @@ KiwixApp::KiwixApp(int& argc, char *argv[])
m_appTranslator.load(QLocale(), "kiwix-desktop", "_", ":/i18n/");
installTranslator(&m_appTranslator);
- try {
- mp_downloader = new kiwix::Downloader();
- } catch (exception& e) {
- QMessageBox::critical(nullptr, gt("error-downloader-window-title"),
- gt("error-downloader-launch-message") + "
" + e.what());
- }
- mp_manager = new ContentManager(&m_library, mp_downloader);
-
- auto icon = QIcon();
- icon.addFile(":/icons/kiwix-app-icons-square.svg");
- setWindowIcon(icon);
-
- setApplicationName("Kiwix");
- setDesktopFileName("kiwix.desktop");
-
- setStyle(QStyleFactory::create("Windows"));
- QFile styleFile(":/css/style.css");
- styleFile.open(QIODevice::ReadOnly);
- auto byteContent = styleFile.readAll();
- styleFile.close();
- QString style(byteContent);
- setStyleSheet(style);
-
-
QString fontName;
if (platformName() == "windows") {
QFontDatabase::addApplicationFont(":/fonts/SegoeUI/segoeuib.ttf");
@@ -88,6 +64,33 @@ KiwixApp::KiwixApp(int& argc, char *argv[])
auto font = QFont(fontName);
setFont(font);
+}
+
+void KiwixApp::init()
+{
+ try {
+ mp_downloader = new kiwix::Downloader();
+ } catch (exception& e) {
+ QMessageBox::critical(nullptr, gt("error-downloader-window-title"),
+ gt("error-downloader-launch-message") + "
" + e.what());
+ }
+ mp_manager = new ContentManager(&m_library, mp_downloader);
+
+ auto icon = QIcon();
+ icon.addFile(":/icons/kiwix-app-icons-square.svg");
+ setWindowIcon(icon);
+
+ setApplicationName("Kiwix");
+ setDesktopFileName("kiwix.desktop");
+
+ setStyle(QStyleFactory::create("Windows"));
+ QFile styleFile(":/css/style.css");
+ styleFile.open(QIODevice::ReadOnly);
+ auto byteContent = styleFile.readAll();
+ styleFile.close();
+ QString style(byteContent);
+ setStyleSheet(style);
+
createAction();
mp_mainWindow = new MainWindow;
diff --git a/src/kiwixapp.h b/src/kiwixapp.h
index 3de2302..b1d9660 100644
--- a/src/kiwixapp.h
+++ b/src/kiwixapp.h
@@ -63,6 +63,7 @@ public:
KiwixApp(int& argc, char *argv[]);
virtual ~KiwixApp();
static KiwixApp* instance();
+ void init();
void openRandomUrl(bool newTab=true);
diff --git a/src/main.cpp b/src/main.cpp
index edbcabb..e4c7977 100644
--- a/src/main.cpp
+++ b/src/main.cpp
@@ -16,6 +16,7 @@ int main(int argc, char *argv[])
QWebEngineUrlScheme::registerScheme(scheme);
#endif
KiwixApp a(argc, argv);
+ a.init();
QCommandLineParser parser;
parser.addPositionalArgument("zimfile", "The zim file");