From 30863a88abbbac05aff914326557882a2f09f4e4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Petr=20Mr=C3=A1zek?= Date: Sat, 22 Apr 2017 06:11:26 +0200 Subject: NOISSUE add pack import using drag&drop Straight from the browser or the downloads folder. --- application/MainWindow.cpp | 27 +++++++++++++++++++++++++-- 1 file changed, 25 insertions(+), 2 deletions(-) (limited to 'application/MainWindow.cpp') diff --git a/application/MainWindow.cpp b/application/MainWindow.cpp index e0870d06..8661c199 100644 --- a/application/MainWindow.cpp +++ b/application/MainWindow.cpp @@ -449,6 +449,7 @@ MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new MainWindow view->installEventFilter(this); view->setContextMenuPolicy(Qt::CustomContextMenu); connect(view, &QWidget::customContextMenuRequested, this, &MainWindow::showInstanceContextMenu); + connect(view, &GroupView::droppedURLs, this, &MainWindow::droppedURLs); proxymodel = new InstanceProxyModel(this); proxymodel->setSourceModel(MMC->instances().get()); @@ -1076,7 +1077,7 @@ void MainWindow::finalizeInstance(InstancePtr inst) } } -void MainWindow::on_actionAddInstance_triggered() +void MainWindow::addInstance(QString url) { QString groupName; do @@ -1098,7 +1099,7 @@ void MainWindow::on_actionAddInstance_triggered() groupName = MMC->settings()->get("LastUsedGroupForNewInstance").toString(); } - NewInstanceDialog newInstDlg(groupName, this); + NewInstanceDialog newInstDlg(groupName, url, this); if (!newInstDlg.exec()) return; @@ -1116,6 +1117,28 @@ void MainWindow::on_actionAddInstance_triggered() } } +void MainWindow::on_actionAddInstance_triggered() +{ + addInstance(); +} + +void MainWindow::droppedURLs(QList urls) +{ + for(auto & url:urls) + { + if(url.isLocalFile()) + { + addInstance(url.toLocalFile()); + } + else + { + addInstance(url.toString()); + } + // Only process one dropped file... + break; + } +} + void MainWindow::on_actionREDDIT_triggered() { DesktopServices::openUrl(QUrl("https://www.reddit.com/r/MultiMC/")); -- cgit v1.2.3