From 046503ba7830427fcd055da569326f0ac814b979 Mon Sep 17 00:00:00 2001 From: Arno Date: Fri, 5 Apr 2013 21:23:45 +0200 Subject: New Class: SmTreeView Code reusage: all 3 tabs had the same funtions: readHeaderConfig, writeHeaderConfig and toggleHeader, so turn it into a class derived from QTreeView. Unfortunately mATree didn't do things as later added Views, so it took some time to find the culprit in SheMov::readSettings :( Hopefully I didn't break too much... --- fileview.cpp | 40 +--------------------------------------- 1 file changed, 1 insertion(+), 39 deletions(-) (limited to 'fileview.cpp') diff --git a/fileview.cpp b/fileview.cpp index 489338b..c30a1e5 100644 --- a/fileview.cpp +++ b/fileview.cpp @@ -35,7 +35,7 @@ #include "smdirmodel.h" #include "framecache.h" -FileView::FileView(QWidget *parent) : QTreeView(parent), mDeleteA(0) { +FileView::FileView(QWidget *parent) : SmTreeView("ui/fsheaderpos", parent), mDeleteA(0) { setAttribute(Qt::WA_Hover); setRootIsDecorated(false); setEditTriggers(QAbstractItemView::NoEditTriggers); @@ -116,12 +116,6 @@ void FileView::writeConfig(){ writeHeaderConfig(); } -void FileView::resizeColumns(int columns) { - for(int i = 0; i < columns; ++i){ - resizeColumnToContents(i); - } -} - void FileView::closeEditor(QWidget *editor, QAbstractItemDelegate::EndEditHint hint){ QTreeView::closeEditor(editor, hint); QSortFilterProxyModel *proxy = qobject_cast(model()); @@ -264,38 +258,6 @@ void FileView::restoreSelection(){ } } -void FileView::readHeaderConfig(){ - QSettings s; - QByteArray headerPos = s.value("ui/fsheaderpos").toByteArray(); - if(!headerPos.isEmpty()){ - header()->restoreState(headerPos); - } - QHeaderView *hv = header(); - QHash headerActions; - foreach(QAction *a, mHeaderGroup->actions()){ - headerActions.insert(a->data().toInt(), a); - } - for(int i = 0; i < hv->count(); ++i){ - if(!hv->isSectionHidden(i)){ - headerActions.value(i)->setChecked(true); - } - } -} - -void FileView::writeHeaderConfig(){ - QSettings s; - s.setValue("ui/fsheaderpos", header()->saveState()); -} - - -void FileView::toggleHeader(QObject *action){ - QAction *a = qobject_cast(action); - Q_ASSERT(a); - int logicalIndex = a->data().toInt(); - QHeaderView *hv = header(); - hv->setSectionHidden(logicalIndex, !a->isChecked()); -} - bool FileView::exitHover(bool exitVal){ mHoverWin->setVisible(false); mCurHover = QModelIndex(); -- cgit v1.2.3-70-g09d2