From 3dbfba91e1618e6cdf3ed5ce7ff7955376df03eb Mon Sep 17 00:00:00 2001 From: LostDragonist Date: Thu, 1 Nov 2018 14:51:14 -0500 Subject: Add separators according to context location of context menu --- src/mainwindow.cpp | 14 ++++++++++++++ src/mainwindow.h | 1 + src/organizercore.cpp | 2 +- 3 files changed, 16 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index 5e4bb86f..5b257977 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -204,6 +204,7 @@ MainWindow::MainWindow(QSettings &initSettings , m_CategoryFactory(CategoryFactory::instance()) , m_ContextItem(nullptr) , m_ContextAction(nullptr) + , m_ContextRow(-1) , m_CurrentSaveView(nullptr) , m_OrganizerCore(organizerCore) , m_PluginContainer(pluginContainer) @@ -328,6 +329,7 @@ MainWindow::MainWindow(QSettings &initSettings ui->linkButton->setMenu(linkMenu); ui->listOptionsBtn->setMenu(modListContextMenu()); + connect(ui->listOptionsBtn, SIGNAL(pressed()), this, SLOT(on_listOptionsBtn_pressed())); ui->openFolderMenu->setMenu(openFolderMenu()); @@ -2866,8 +2868,15 @@ void MainWindow::createSeparator_clicked() { return; } + int newPriority; + if (m_ContextRow >= 0) { + newPriority = m_OrganizerCore.currentProfile()->getModPriority(m_ContextRow); + } if (m_OrganizerCore.createMod(name) == nullptr) { return; } m_OrganizerCore.refreshModList(); + if (m_ContextRow >= 0) { + m_OrganizerCore.modList()->changeModPriority(ModInfo::getIndex(name), newPriority); + } } void MainWindow::setColor_clicked() @@ -3023,6 +3032,11 @@ void MainWindow::on_modList_doubleClicked(const QModelIndex &index) } } +void MainWindow::on_listOptionsBtn_pressed() +{ + m_ContextRow = -1; +} + void MainWindow::on_espList_doubleClicked(const QModelIndex &index) { if (!index.isValid()) { diff --git a/src/mainwindow.h b/src/mainwindow.h index 9dee2953..c595575e 100644 --- a/src/mainwindow.h +++ b/src/mainwindow.h @@ -590,6 +590,7 @@ private slots: // ui slots void on_executablesListBox_currentIndexChanged(int index); void on_modList_customContextMenuRequested(const QPoint &pos); void on_modList_doubleClicked(const QModelIndex &index); + void on_listOptionsBtn_pressed(); void on_espList_doubleClicked(const QModelIndex &index); void on_profileBox_currentIndexChanged(int index); void on_savegameList_customContextMenuRequested(const QPoint &pos); diff --git a/src/organizercore.cpp b/src/organizercore.cpp index 1fafd4c1..fe720a0c 100644 --- a/src/organizercore.cpp +++ b/src/organizercore.cpp @@ -1184,7 +1184,7 @@ QStringList OrganizerCore::modsSortedByProfilePriority() const { QStringList res; for (int i = currentProfile()->getPriorityMinimum(); - i < currentProfile()->getPriorityMinimum() + currentProfile()->numRegularMods(); + i < currentProfile()->getPriorityMinimum() + (int)currentProfile()->numRegularMods(); ++i) { int modIndex = currentProfile()->modIndexByPriority(i); res.push_back(ModInfo::getByIndex(modIndex)->name()); -- cgit v1.3.1