From kde-commits Wed Dec 31 22:51:19 2014 From: Jean-Baptiste Mardelle Date: Wed, 31 Dec 2014 22:51:19 +0000 To: kde-commits Subject: [kdenlive/frameworks] src/bin: Keep zoom level when switching between tree view and icon view, Message-Id: X-MARC-Message: https://marc.info/?l=kde-commits&m=142006629008535 Git commit 6cc0d26d00429daee39872b068f3934f76d8cb47 by Jean-Baptiste Mardel= le. Committed on 31/12/2014 at 22:51. Pushed by mardelle into branch 'frameworks'. Keep zoom level when switching between tree view and icon view, and enter a folder when double clicking it (still need a way to navigate up) M +13 -7 src/bin/bin.cpp M +1 -0 src/bin/bin.h http://commits.kde.org/kdenlive/6cc0d26d00429daee39872b068f3934f76d8cb47 diff --git a/src/bin/bin.cpp b/src/bin/bin.cpp index 6fe0560..e4c29f2 100644 --- a/src/bin/bin.cpp +++ b/src/bin/bin.cpp @@ -118,12 +118,12 @@ Bin::Bin(QWidget* parent) : connect(m_itemModel, SIGNAL(markersNeedUpdate(QString,QList)), th= is, SLOT(slotMarkersNeedUpdate(QString,QList))); = // Zoom slider - QSlider *slider =3D new QSlider(Qt::Horizontal, this); - slider->setMaximumWidth(100); - slider->setRange(0, 10); - slider->setValue(4); - connect(slider, SIGNAL(valueChanged(int)), this, SLOT(slotSetIconSize(= int))); - m_toolbar->addWidget(slider); + m_slider =3D new QSlider(Qt::Horizontal, this); + m_slider->setMaximumWidth(100); + m_slider->setRange(0, 10); + m_slider->setValue(4); + connect(m_slider, SIGNAL(valueChanged(int)), this, SLOT(slotSetIconSiz= e(int))); + m_toolbar->addWidget(m_slider); = // View type KSelectAction *listType =3D new KSelectAction(QIcon::fromTheme("view-l= ist-tree"), i18n("View Mode"), this); @@ -488,7 +488,9 @@ void Bin::slotInitView(QAction *action) } m_itemView->setMouseTracking(true); m_itemView->viewport()->installEventFilter(m_eventEater); - m_itemView->setIconSize(m_iconSize); + QSize zoom =3D m_iconSize; + zoom =3D zoom * (m_slider->value() / 4.0); + m_itemView->setIconSize(zoom); m_itemView->setModel(m_proxyModel); m_itemView->setSelectionModel(m_proxyModel->selectionModel()); m_splitter->addWidget(m_itemView); @@ -598,6 +600,10 @@ void Bin::slotSwitchClipProperties(const QModelIndex &= ix) m_collapser->restore(); showClipProperties(clip); } + else if (clip->isFolder() && m_listType =3D=3D BinIconView) { + // Double clicking on a folder enters it in icon view + m_itemView->setRootIndex(ix); + } } else m_collapser->collapse(); } diff --git a/src/bin/bin.h b/src/bin/bin.h index 21f8104..1f52eb3 100644 --- a/src/bin/bin.h +++ b/src/bin/bin.h @@ -343,6 +343,7 @@ private: QByteArray m_headerInfo; EventEater *m_eventEater; QWidget *m_propertiesPanel; + QSlider *m_slider; QTableWidget *m_propertiesTable; KSplitterCollapserButton *m_collapser; Monitor *m_monitor;