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
This commit is contained in:
Mark Liversedge
2013-12-29 10:20:57 +00:00
parent 93d0ef0651
commit d617131cdf
2 changed files with 12 additions and 7 deletions

View File

@@ -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());
}

View File

@@ -18,6 +18,8 @@
#include "Season.h"
#include "MainWindow.h"
#include "Context.h"
#include "Athlete.h"
#include <QString>
#include <QFile>
#include <QXmlInputSource>
@@ -437,8 +439,14 @@ SeasonTreeView::mimeData (const QList<QTreeWidgetItem *> 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;
}