From 1e62d8451fb93f18b1e0b84bac682c96e0891793 Mon Sep 17 00:00:00 2001 From: Pieter van der Kloet Date: Wed, 30 Mar 2011 14:05:27 +0200 Subject: [PATCH] More testing and removing --- apps/launcher/datafilesdialog.cpp | 45 ++++++++++++++++++++++--------- apps/launcher/datafilesdialog.h | 6 +++-- 2 files changed, 37 insertions(+), 14 deletions(-) diff --git a/apps/launcher/datafilesdialog.cpp b/apps/launcher/datafilesdialog.cpp index b906cb75b5..08fe1a085b 100644 --- a/apps/launcher/datafilesdialog.cpp +++ b/apps/launcher/datafilesdialog.cpp @@ -2,25 +2,17 @@ #include #include "datafilesdialog.h" -#include "datafilesmodel.h" -#include "datafilesitem.h" +//#include "datafilesmodel.h" +//#include "datafilesitem.h" using namespace ESM; DataFilesDialog::DataFilesDialog() { //dataFilesModel = new DataFilesModel(this); - dataFilesModel = new DataFilesModel(); + dataFilesModel = new QStandardItemModel(); - for (int row = 0; row < 4; ++row) { - for (int column = 0; column < 4; ++column) { - QList test; - test << QString("%0").arg(i); - DataFilesItem *item = new DataFilesItem(test); - dataFilesModel->setItem(row, column, item); - } - } - + //dataFilesModel->setReadOnly(true); // Prevent changes to files //dataFilesModel->setRootPath("data"); @@ -64,6 +56,10 @@ DataFilesDialog::DataFilesDialog() //dataFilesView = new QTreeView(groupFiles); dataFilesView = new QTreeView(groupFiles); dataFilesView->setModel(dataFilesModel); + dataFilesView->setDragEnabled(true); + dataFilesView->setDropIndicatorShown(true); + dataFilesView->setAlternatingRowColors(true); + // Put everything in the correct layouts //groupFilesLayout->addLayout(filterLayout); @@ -99,6 +95,7 @@ DataFilesDialog::DataFilesDialog() */ //readConfig(); //setupView(); + setupView(); } void DataFilesDialog::changeData(QModelIndex index, QModelIndex bottom) @@ -144,6 +141,30 @@ void DataFilesDialog::changeData(QModelIndex index, QModelIndex bottom) void DataFilesDialog::setupView() { + QDir datadir(QString("data/")); + QStringList acceptedfiles = (QStringList() << "*.esp"); + QStringList datafiles; + + datadir.setNameFilters(acceptedfiles); + + datafiles = datadir.entryList(); + + QStandardItem *parentItem = dataFilesModel->invisibleRootItem(); + QStandardItem *masterFile = new QStandardItem(QString("Morrowind.esm")); + parentItem->appendRow(masterFile); + parentItem = masterFile; + + QFileIconProvider fip; + QIcon fileIcon = fip.icon(QFileInfo("data/Morrowind.esm")); + + foreach (const QString ¤tfile, datafiles) { + QStandardItem *item = new QStandardItem(currentfile); + item->setIcon(fileIcon); + parentItem->appendRow(item); + } + + + /* The signal directoryLoaded is emitted after all files are in the model dataFilesView->setModel(dataFilesModel); // dataFilesView->setModel(sortModel); diff --git a/apps/launcher/datafilesdialog.h b/apps/launcher/datafilesdialog.h index d223bf14ad..38f4a5826c 100644 --- a/apps/launcher/datafilesdialog.h +++ b/apps/launcher/datafilesdialog.h @@ -3,7 +3,8 @@ #include "lineedit.h" -class DataFilesModel; +//class DataFilesModel; + /*class QStringList; class QTreeView; @@ -16,6 +17,7 @@ class QSortFilterProxyModel; #include class QTreeView; +class QStandardItemModel; class DataFilesDialog : public QDialog { @@ -26,7 +28,7 @@ public: // ~DataFilesDialog() { }; private: - DataFilesModel *dataFilesModel; + QStandardItemModel *dataFilesModel; QTreeView *dataFilesView; //QItemSelectionModel *selectionModel;