diff options
author | Petr Mrázek <peterix@gmail.com> | 2017-04-22 06:11:26 +0200 |
---|---|---|
committer | Petr Mrázek <peterix@gmail.com> | 2017-04-22 06:11:26 +0200 |
commit | 30863a88abbbac05aff914326557882a2f09f4e4 (patch) | |
tree | 262d91987a1e67f3ac1f8fa138b7ac7f9264d469 /application/MainWindow.cpp | |
parent | 77a1d39f6b623ede3e8ce9245459e0f864a1d176 (diff) | |
download | PrismLauncher-30863a88abbbac05aff914326557882a2f09f4e4.tar.gz PrismLauncher-30863a88abbbac05aff914326557882a2f09f4e4.tar.bz2 PrismLauncher-30863a88abbbac05aff914326557882a2f09f4e4.zip |
NOISSUE add pack import using drag&drop
Straight from the browser or the downloads folder.
Diffstat (limited to 'application/MainWindow.cpp')
-rw-r--r-- | application/MainWindow.cpp | 27 |
1 files changed, 25 insertions, 2 deletions
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<QUrl> 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/")); |