summaryrefslogtreecommitdiffstats
path: root/gui/MainWindow.cpp
diff options
context:
space:
mode:
authorSky <git@bunnies.cc>2014-01-05 00:06:59 +0000
committerSky <git@bunnies.cc>2014-01-05 00:06:59 +0000
commit79158144df1b606982bfa722447416c9549de860 (patch)
tree3d7f5892a247451b61d19ebdaeac39a7f50d842a /gui/MainWindow.cpp
parent52bbf07fe5b6c614b361df0a66f054d57d36ab5d (diff)
downloadMultiMC-79158144df1b606982bfa722447416c9549de860.tar
MultiMC-79158144df1b606982bfa722447416c9549de860.tar.gz
MultiMC-79158144df1b606982bfa722447416c9549de860.tar.lz
MultiMC-79158144df1b606982bfa722447416c9549de860.tar.xz
MultiMC-79158144df1b606982bfa722447416c9549de860.zip
Implement the beloved right click context menu. Just a copy of the instance toolbar
Diffstat (limited to 'gui/MainWindow.cpp')
-rw-r--r--gui/MainWindow.cpp27
1 files changed, 27 insertions, 0 deletions
diff --git a/gui/MainWindow.cpp b/gui/MainWindow.cpp
index 2b911b2c..75ebefe4 100644
--- a/gui/MainWindow.cpp
+++ b/gui/MainWindow.cpp
@@ -165,6 +165,10 @@ MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWi
view->setFrameShape(QFrame::NoFrame);
view->setModel(proxymodel);
+ view->setContextMenuPolicy(Qt::CustomContextMenu);
+ connect(view, SIGNAL(customContextMenuRequested(const QPoint&)),
+ this, SLOT(showInstanceContextMenu(const QPoint&)));
+
ui->horizontalLayout->addWidget(view);
}
// The cat background
@@ -311,6 +315,29 @@ MainWindow::~MainWindow()
delete drawer;
}
+void MainWindow::showInstanceContextMenu(const QPoint& pos)
+{
+ if(!view->indexAt(pos).isValid())
+ {
+ return;
+ }
+
+ QList<QAction *> actions = ui->instanceToolBar->actions();
+
+ // HACK: Filthy rename button hack because the instance view is getting rewritten anyway
+ QAction *actionRename;
+ actionRename = new QAction(tr("Rename"), this);
+ actionRename->setToolTip(ui->actionRenameInstance->toolTip());
+
+ connect(actionRename, SIGNAL(triggered(bool)), SLOT(on_actionRenameInstance_triggered()));
+
+ actions.replace(1, actionRename);
+
+ QMenu myMenu;
+ myMenu.addActions(actions);
+ myMenu.exec(view->mapToGlobal(pos));
+}
+
void MainWindow::repopulateAccountsMenu()
{
accountMenu->clear();