summaryrefslogtreecommitdiffstats
path: root/archivetreeview.cpp
diff options
context:
space:
mode:
authorArno <am@disconnect.de>2010-12-05 08:29:05 +0100
committerArno <am@disconnect.de>2010-12-05 08:29:05 +0100
commit609e8d6f4ae179243d6f258205701561d94500f5 (patch)
tree057b5c21086d984c05b9d5e50cf5be59e167b5e6 /archivetreeview.cpp
parentd1837c9c92c9f38a464f0473001db4e9a57d44e7 (diff)
downloadSheMov-609e8d6f4ae179243d6f258205701561d94500f5.tar.gz
SheMov-609e8d6f4ae179243d6f258205701561d94500f5.tar.bz2
SheMov-609e8d6f4ae179243d6f258205701561d94500f5.zip
Selectable columns in FilesTreeView
Made columns shown in FilesTreeView selectable. Also, the order of columns is saved and restored. This was a difficult one. I even had to make a debug build of qt. But I fixed a serious bug in FilesTreeModel::modeName: don't access the Hash if modeName == -1.
Diffstat (limited to 'archivetreeview.cpp')
-rw-r--r--archivetreeview.cpp19
1 files changed, 4 insertions, 15 deletions
diff --git a/archivetreeview.cpp b/archivetreeview.cpp
index 2260052..49004e3 100644
--- a/archivetreeview.cpp
+++ b/archivetreeview.cpp
@@ -31,6 +31,7 @@
#include <QMessageBox>
#include <QClipboard>
#include <QApplication>
+#include <QHeaderView>
#include "archivetreeview.h"
#include "smglobals.h"
@@ -58,12 +59,7 @@ ArchiveTreeView::ArchiveTreeView(QWidget *parent) : QWidget(parent){
// files view
mFilesWidget = new FilesTreeWidget;
- QAbstractItemModel *filesModel = SmGlobals::instance()->model("FilesModel");
- mFilesModel = static_cast<FilesTreeModel*>(filesModel);
- for(int i = 5; i < 12; ++i){
- mFilesWidget->filesTree()->setColumnHidden(i, true);
- }
- mFilesWidget->filesTree()->setColumnHidden(14, true);
+ mFilesModel = qobject_cast<FilesTreeModel*>(SmGlobals::instance()->model("FilesModel"));
connect(mSeriesWidget, SIGNAL(filesReload()), mFilesWidget->filesTree(), SLOT(expandAll()));
// actors and genre
@@ -118,9 +114,7 @@ void ArchiveTreeView::setFileViewMode(int mode){
currentChanged(QItemSelection(), QItemSelection());
}
mFilesWidget->filesTree()->expandAll();
- mFilesWidget->filesTree()->resizeColumnToContents(0);
- mFilesWidget->filesTree()->resizeColumnToContents(1);
- mFilesWidget->filesTree()->resizeColumnToContents(2);
+ mFilesWidget->filesTree()->header()->resizeSections(QHeaderView::ResizeToContents);
constructWindowTitle();
}
@@ -237,12 +231,7 @@ void ArchiveTreeView::currentChanged(const QItemSelection &selected, const QItem
mFilesModel->setIds(selectedPartIds);
mFilesWidget->filesTree()->expandAll();
- mFilesWidget->filesTree()->resizeColumnToContents(FilesTreeModel::FileName);
- mFilesWidget->filesTree()->resizeColumnToContents(FilesTreeModel::PartNo);
- mFilesWidget->filesTree()->resizeColumnToContents(FilesTreeModel::Quality);
- mFilesWidget->filesTree()->resizeColumnToContents(FilesTreeModel::DvdNo);
- mFilesWidget->filesTree()->resizeColumnToContents(FilesTreeModel::DisplayName);
- mFilesWidget->filesTree()->resizeColumnToContents(FilesTreeModel::SizeDuration);
+ mFilesWidget->filesTree()->header()->resizeSections(QHeaderView::ResizeToContents);
setMappingItems(selectedPartIds, mActorsModel, mActorsWidget);
setMappingItems(selectedPartIds, mGenresModel, mGenresWidget);
}