aboutsummaryrefslogtreecommitdiff
path: root/src/browser.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/browser.cpp')
-rw-r--r--src/browser.cpp31
1 files changed, 13 insertions, 18 deletions
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<QString, QVariant> 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)