summaryrefslogtreecommitdiff
path: root/src/modlistsortproxy.cpp
diff options
context:
space:
mode:
authorTannin <devnull@localhost>2014-12-14 18:25:26 +0100
committerTannin <devnull@localhost>2014-12-14 18:25:26 +0100
commitebfeb2fbf95df4a2246ff2ef1cd6b48f373b70f3 (patch)
treec0aae4337a991993c802ad5feff71a5b099b013a /src/modlistsortproxy.cpp
parentf666e3d835147de3f044431474f92ec84fd8b801 (diff)
- mod-list can now be re-ordered with drag&drop while grouping is active
- drag&drop is not disabled when ordering by other columns than priority. MO will notify using messagedialog that it's impossible instead.
Diffstat (limited to 'src/modlistsortproxy.cpp')
-rw-r--r--src/modlistsortproxy.cpp12
1 files changed, 9 insertions, 3 deletions
diff --git a/src/modlistsortproxy.cpp b/src/modlistsortproxy.cpp
index 887ef758..0f6ce33a 100644
--- a/src/modlistsortproxy.cpp
+++ b/src/modlistsortproxy.cpp
@@ -21,10 +21,12 @@ along with Mod Organizer. If not, see <http://www.gnu.org/licenses/>.
#include "modinfo.h"
#include "profile.h"
#include "modlist.h"
+#include "messagedialog.h"
#include <QMenu>
#include <QCheckBox>
#include <QWidgetAction>
-#include <QMessageBox>
+#include <QApplication>
+#include <QDebug>
ModListSortProxy::ModListSortProxy(Profile* profile, QObject *parent)
@@ -65,9 +67,9 @@ void ModListSortProxy::setCategoryFilter(const std::vector<int> &categories)
Qt::ItemFlags ModListSortProxy::flags(const QModelIndex &modelIndex) const
{
Qt::ItemFlags flags = sourceModel()->flags(mapToSource(modelIndex));
- if (sortColumn() != ModList::COL_PRIORITY) {
+/* if (sortColumn() != ModList::COL_PRIORITY) {
flags &= ~Qt::ItemIsDragEnabled;
- }
+ }*/
return flags;
}
@@ -321,6 +323,10 @@ bool ModListSortProxy::filterAcceptsRow(int row, const QModelIndex &parent) cons
bool ModListSortProxy::dropMimeData(const QMimeData *data, Qt::DropAction action,
int row, int column, const QModelIndex &parent)
{
+ if (sortColumn() != ModList::COL_PRIORITY) {
+ MessageDialog::showMessage(tr("Drag&Drop is only supported when sorting by priority"), qApp->activeWindow());
+ return false;
+ }
if ((row == -1) && (column == -1)) {
return this->sourceModel()->dropMimeData(data, action, -1, -1, mapToSource(parent));
}