From d617131cdf60aaa0e8bfaff83cb4bb7eb89f86bb Mon Sep 17 00:00:00 2001 From: Mark Liversedge Date: Sun, 29 Dec 2013 10:20:57 +0000 Subject: [PATCH] Fix Season Encoding for drag/drop .. should be ok to drag and drop a standard date range as well as a season definition .. pass across the start, end etc to avoid having to dereference from the source context --- src/LTMSidebar.cpp | 7 ++----- src/Season.cpp | 12 ++++++++++-- 2 files changed, 12 insertions(+), 7 deletions(-) diff --git a/src/LTMSidebar.cpp b/src/LTMSidebar.cpp index 03bf583e4..d6e9bbd06 100644 --- a/src/LTMSidebar.cpp +++ b/src/LTMSidebar.cpp @@ -271,11 +271,8 @@ LTMSidebar::resetSeasons() if (season.id().toString()==id) add->setSelected(true); - // No Drag/Drop for temporary Season - if (season.getType() == Season::temporary) - add->setFlags(Qt::ItemIsSelectable | Qt::ItemIsEnabled); - else - add->setFlags(Qt::ItemIsSelectable | Qt::ItemIsEnabled | Qt::ItemIsDragEnabled); + // Drag and Drop is FINE for temporary seasons -- IT IS JUST A DATE RANGE! + add->setFlags(Qt::ItemIsSelectable | Qt::ItemIsEnabled | Qt::ItemIsDragEnabled); add->setText(0, season.getName()); } diff --git a/src/Season.cpp b/src/Season.cpp index 413f33b42..efe024ac6 100644 --- a/src/Season.cpp +++ b/src/Season.cpp @@ -18,6 +18,8 @@ #include "Season.h" #include "MainWindow.h" +#include "Context.h" +#include "Athlete.h" #include #include #include @@ -437,8 +439,14 @@ SeasonTreeView::mimeData (const QList items) const stream << items.count(); foreach (QTreeWidgetItem *p, items) { - // serialize - stream << p->text(0); // name + // get the season this is for + int index = p->treeWidget()->invisibleRootItem()->indexOfChild(p); + + // season[index] ... + stream << context->athlete->seasons->seasons[index].name; // name + stream << context->athlete->seasons->seasons[index].start; + stream << context->athlete->seasons->seasons[index].end; + stream << (quint64)context->athlete->seasons->seasons[index]._days; }