diff options
| author | Tom Tanner <thosrtanner2@users.sourceforge.net> | 2015-07-09 18:58:57 +0100 |
|---|---|---|
| committer | Tom Tanner <thosrtanner2@users.sourceforge.net> | 2015-07-09 18:58:57 +0100 |
| commit | 18ad6565861a62d8121d84265a9f5baf1cb32b05 (patch) | |
| tree | ef1389a1ea4614aa09411292ce36e794a6f2bf06 /src/modlistsortproxy.cpp | |
| parent | eaafc489fc625d71e4ce797cebb28056746896bc (diff) | |
| parent | 7799c348ba70bc6a6b8cb3a424ec6fcb82071179 (diff) | |
Merge
Diffstat (limited to 'src/modlistsortproxy.cpp')
| -rw-r--r-- | src/modlistsortproxy.cpp | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/src/modlistsortproxy.cpp b/src/modlistsortproxy.cpp index f646a079..39631b67 100644 --- a/src/modlistsortproxy.cpp +++ b/src/modlistsortproxy.cpp @@ -21,6 +21,7 @@ along with Mod Organizer. If not, see <http://www.gnu.org/licenses/>. #include "modinfo.h"
#include "profile.h"
#include "messagedialog.h"
+#include "qtgroupingproxy.h"
#include <QMenu>
#include <QCheckBox>
#include <QWidgetAction>
@@ -362,7 +363,7 @@ bool ModListSortProxy::dropMimeData(const QMimeData *data, Qt::DropAction action return false;
}
if ((row == -1) && (column == -1)) {
- return this->sourceModel()->dropMimeData(data, action, -1, -1, mapToSource(parent));
+ return sourceModel()->dropMimeData(data, action, -1, -1, mapToSource(parent));
}
// in the regular model, when dropping between rows, the row-value passed to
// the sourceModel is inconsistent between ascending and descending ordering.
@@ -380,9 +381,12 @@ bool ModListSortProxy::dropMimeData(const QMimeData *data, Qt::DropAction action void ModListSortProxy::setSourceModel(QAbstractItemModel *sourceModel)
{
QSortFilterProxyModel::setSourceModel(sourceModel);
-
- connect(sourceModel, SIGNAL(aboutToChangeData()), this, SLOT(aboutToChangeData()));
- connect(sourceModel, SIGNAL(postDataChanged()), this, SLOT(postDataChanged()));
+ QtGroupingProxy *proxy = qobject_cast<QtGroupingProxy*>(sourceModel);
+ if (proxy != nullptr) {
+ sourceModel = proxy->sourceModel();
+ }
+ connect(sourceModel, SIGNAL(aboutToChangeData()), this, SLOT(aboutToChangeData()), Qt::UniqueConnection);
+ connect(sourceModel, SIGNAL(postDataChanged()), this, SLOT(postDataChanged()), Qt::UniqueConnection);
}
void ModListSortProxy::aboutToChangeData()
|
