summaryrefslogtreecommitdiffstats
path: root/application/MainWindow.cpp
diff options
context:
space:
mode:
authorPetr Mrázek <peterix@gmail.com>2017-04-22 06:11:26 +0200
committerPetr Mrázek <peterix@gmail.com>2017-04-22 06:11:26 +0200
commit30863a88abbbac05aff914326557882a2f09f4e4 (patch)
tree262d91987a1e67f3ac1f8fa138b7ac7f9264d469 /application/MainWindow.cpp
parent77a1d39f6b623ede3e8ce9245459e0f864a1d176 (diff)
downloadMultiMC-30863a88abbbac05aff914326557882a2f09f4e4.tar
MultiMC-30863a88abbbac05aff914326557882a2f09f4e4.tar.gz
MultiMC-30863a88abbbac05aff914326557882a2f09f4e4.tar.lz
MultiMC-30863a88abbbac05aff914326557882a2f09f4e4.tar.xz
MultiMC-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.cpp27
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/"));