From 6db714e70c1368eeed3542a92f3db2d4161b4de1 Mon Sep 17 00:00:00 2001 From: Aqua-sama Date: Sat, 16 Sep 2017 14:58:12 +0200 Subject: Fixed bug opening URLs from the command line while instance is running --- src/browser.cpp | 31 +++++++++++++------------------ 1 file changed, 13 insertions(+), 18 deletions(-) (limited to 'src/browser.cpp') diff --git a/src/browser.cpp b/src/browser.cpp index 60cdb03..897b0ad 100644 --- a/src/browser.cpp +++ b/src/browser.cpp @@ -108,7 +108,16 @@ void Browser::loadProfiles() } qDebug("<< Profiles end..."); - connect(this, SIGNAL(messageAvailable(QStringList)), this, SLOT(addWindow(QStringList))); + //connect(this, SIGNAL(messageAvailable(QStringList)), this, SLOT(addWindow(QStringList))); + connect(this, &Browser::messageAvailable, [this](const QHash params) { + + //qDebug("Creating new window for [%s]", qUtf8Printable(params["urls"].toString())); + + MainWindow *w = addWindow(params["urls"].toStringList()); + if(params.contains("profile")) { + w->setProfile(profile(params["profile"].toString())); + } + }); } Browser *Browser::instance() @@ -221,25 +230,11 @@ void Browser::addWindow(MainWindow *window) window->show(); } -void Browser::addWindow(const QStringList params) +MainWindow *Browser::addWindow(const QStringList params) { - QString p; // get default profile - QStringList urls; - - for(int i = 0; i < params.length(); i++) { - if(params.at(i) == "-p" || params.at(i) == "--profile") { - i++; - p = params.at(i); - } else if(!params.at(i).startsWith('-') && i > 0) { - qDebug("Appending url: %s", qUtf8Printable(params.at(i))); - urls.append(params.at(i)); - } - } - - MainWindow *w = new MainWindow(urls); - w->setProfile(profile(p)); - + MainWindow *w = new MainWindow(params); addWindow(w); + return w; } void Browser::removeWindow(MainWindow *window) -- cgit v1.2.1