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 /pictureswidget.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 'pictureswidget.cpp')
-rw-r--r-- | pictureswidget.cpp | 33 |
1 files changed, 1 insertions, 32 deletions
diff --git a/pictureswidget.cpp b/pictureswidget.cpp index fd9812e..7951df5 100644 --- a/pictureswidget.cpp +++ b/pictureswidget.cpp @@ -127,7 +127,7 @@ void PicturesWidget::showInPicViewer(const QModelIndex &idx){ } } -PictureView::PictureView(QWidget *parent) : QTreeView(parent) { +PictureView::PictureView(QWidget *parent) : SmTreeView("ui/picheaderpos", parent) { //setup models mModel = static_cast<PicFilesModel*>(SmGlobals::instance()->model("PicFiles")); mProxy = new QSortFilterProxyModel(this); @@ -205,37 +205,6 @@ void PictureView::setHoverWinVisible(bool visible) const { mHoverWin->setVisible(visible); } -void PictureView::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()); -} - -void PictureView::readHeaderConfig(){ - QSettings s; - QByteArray headerPos = s.value("ui/picheaderpos").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 PictureView::writeHeaderConfig(){ - QSettings s; - s.setValue("ui/picheaderpos", header()->saveState()); -} - void PictureView::hideEvent(QHideEvent *){ QByteArray pvHeader = header()->saveState(); QSettings s; |