From 8fa69307d2d6fb19d157c134691834fc72659ebe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Petr=20Mr=C3=A1zek?= Date: Fri, 3 Jan 2014 22:29:30 +0100 Subject: [PATCH 1/4] Fix mod list checkboxes --- logic/ModList.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/logic/ModList.cpp b/logic/ModList.cpp index fd41bcf7..499623bf 100644 --- a/logic/ModList.cpp +++ b/logic/ModList.cpp @@ -416,7 +416,7 @@ QVariant ModList::data(const QModelIndex &index, int role) const switch (index.column()) { case ActiveColumn: - return mods[row].enabled(); + return mods[row].enabled() ? Qt::Checked: Qt::Unchecked; default: return QVariant(); } From e558584af0e6a168d76868e89d132aeebd0aa36a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Petr=20Mr=C3=A1zek?= Date: Fri, 3 Jan 2014 23:26:21 +0100 Subject: [PATCH 2/4] Fix library column stretching --- gui/widgets/ModListView.cpp | 20 +++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/gui/widgets/ModListView.cpp b/gui/widgets/ModListView.cpp index 9d5950c3..358e6331 100644 --- a/gui/widgets/ModListView.cpp +++ b/gui/widgets/ModListView.cpp @@ -44,9 +44,19 @@ void ModListView::setModel ( QAbstractItemModel* model ) QTreeView::setModel ( model ); auto head = header(); head->setStretchLastSection(false); - head->setSectionResizeMode(0, QHeaderView::ResizeToContents); - head->setSectionResizeMode(1, QHeaderView::Stretch); - for(int i = 2; i < head->count(); i++) - head->setSectionResizeMode(i, QHeaderView::ResizeToContents); - dropIndicatorPosition(); + // HACK: this is true for the checkbox column of mod lists + auto string = model->headerData(0,head->orientation()).toString(); + if(!string.size()) + { + head->setSectionResizeMode(0, QHeaderView::ResizeToContents); + head->setSectionResizeMode(1, QHeaderView::Stretch); + for(int i = 2; i < head->count(); i++) + head->setSectionResizeMode(i, QHeaderView::ResizeToContents); + } + else + { + head->setSectionResizeMode(0, QHeaderView::Stretch); + for(int i = 1; i < head->count(); i++) + head->setSectionResizeMode(i, QHeaderView::ResizeToContents); + } } From 79158144df1b606982bfa722447416c9549de860 Mon Sep 17 00:00:00 2001 From: Sky Date: Sun, 5 Jan 2014 00:06:59 +0000 Subject: [PATCH 3/4] Implement the beloved right click context menu. Just a copy of the instance toolbar --- gui/MainWindow.cpp | 27 +++++++++++++++++++++++++++ gui/MainWindow.h | 2 ++ 2 files changed, 29 insertions(+) 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 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(); diff --git a/gui/MainWindow.h b/gui/MainWindow.h index f2315ee6..ca11b380 100644 --- a/gui/MainWindow.h +++ b/gui/MainWindow.h @@ -145,6 +145,8 @@ slots: // called when an icon is changed in the icon model. void iconUpdated(QString); + void showInstanceContextMenu(const QPoint&); + public slots: void instanceActivated(QModelIndex); From ffacaba1aaa5250a7ebac03059ec8c5c0bb070ad Mon Sep 17 00:00:00 2001 From: Sky Date: Sun, 5 Jan 2014 01:00:29 +0000 Subject: [PATCH 4/4] Fix settings dialog tab ordering again --- gui/dialogs/SettingsDialog.ui | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/gui/dialogs/SettingsDialog.ui b/gui/dialogs/SettingsDialog.ui index dbc8ca88..258ef480 100644 --- a/gui/dialogs/SettingsDialog.ui +++ b/gui/dialogs/SettingsDialog.ui @@ -644,18 +644,26 @@ - settingsTab buttonBox sortLastLaunchedBtn sortByNameBtn devBuildsCheckBox autoUpdateCheckBox + trackFtbBox + ftbLauncherBox + ftbLauncherBrowseBtn + ftbBox + ftbBrowseBtn instDirTextBox - modsDirTextBox - lwjglDirTextBox instDirBrowseBtn + modsDirTextBox modsDirBrowseBtn + lwjglDirTextBox lwjglDirBrowseBtn + iconsDirTextBox + iconsDirBrowseBtn + jsonEditorTextBox + jsonEditorBrowseBtn maximizedCheckBox windowWidthSpinBox windowHeightSpinBox @@ -665,9 +673,13 @@ maxMemSpinBox permGenSpinBox javaPathTextBox + javaBrowseBtn + javaDetectBtn + javaTestBtn jvmArgsTextBox preLaunchCmdTextBox postExitCmdTextBox + settingsTabs