summaryrefslogtreecommitdiffstats
path: root/pictureswidget.cpp
diff options
context:
space:
mode:
authorArno <am@disconnect.de>2013-04-05 21:23:45 +0200
committerArno <am@disconnect.de>2013-04-05 21:23:45 +0200
commit046503ba7830427fcd055da569326f0ac814b979 (patch)
treed3404b51c054a9f4b4171bbd9641162e8c3333a1 /pictureswidget.cpp
parent0f4f0d5860e4a261f37ae6f294c154c3009c4562 (diff)
downloadSheMov-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.cpp33
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;