diff options
author | Arno <am@disconnect.de> | 2013-04-05 21:23:45 +0200 |
---|---|---|
committer | Arno <am@disconnect.de> | 2013-04-05 21:23:45 +0200 |
commit | 046503ba7830427fcd055da569326f0ac814b979 (patch) | |
tree | d3404b51c054a9f4b4171bbd9641162e8c3333a1 /fileview.cpp | |
parent | 0f4f0d5860e4a261f37ae6f294c154c3009c4562 (diff) | |
download | SheMov-046503ba7830427fcd055da569326f0ac814b979.tar.gz SheMov-046503ba7830427fcd055da569326f0ac814b979.tar.bz2 SheMov-046503ba7830427fcd055da569326f0ac814b979.zip |
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...
Diffstat (limited to 'fileview.cpp')
-rw-r--r-- | fileview.cpp | 40 |
1 files changed, 1 insertions, 39 deletions
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<QSortFilterProxyModel*>(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<int, QAction*> 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<QAction*>(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(); |