From 1423fb937ab062c43c4d8d676c00df2a89cc8626 Mon Sep 17 00:00:00 2001 From: Claudio Valerio Date: Mon, 10 Jun 2013 14:29:35 +0200 Subject: [PATCH] centered left panel on selected thumbnail --- src/gui/UBDocumentNavigator.cpp | 6 ++++++ src/gui/UBDocumentNavigator.h | 6 ++++-- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/src/gui/UBDocumentNavigator.cpp b/src/gui/UBDocumentNavigator.cpp index baed7d67..11f5400d 100644 --- a/src/gui/UBDocumentNavigator.cpp +++ b/src/gui/UBDocumentNavigator.cpp @@ -52,6 +52,7 @@ UBDocumentNavigator::UBDocumentNavigator(QWidget *parent, const char *name):QGra , mNbColumns(1) , mThumbnailWidth(0) , mThumbnailMinWidth(100) + , mSelectedThumbnail(NULL) { setObjectName(name); mScene = new QGraphicsScene(this); @@ -123,6 +124,7 @@ void UBDocumentNavigator::onScrollToSelectedPage(int index) if (c==index) { el.getThumbnail()->setSelected(true); + mSelectedThumbnail = el.getThumbnail(); } else { @@ -130,6 +132,7 @@ void UBDocumentNavigator::onScrollToSelectedPage(int index) } c++; } + centerOn(mSelectedThumbnail); } /** @@ -228,6 +231,9 @@ void UBDocumentNavigator::resizeEvent(QResizeEvent *event) // Update the thumbnails width mThumbnailWidth = (width() > mThumbnailMinWidth) ? width() - 2*border() : mThumbnailMinWidth; + if(mSelectedThumbnail) + centerOn(mSelectedThumbnail); + // Refresh the scene refreshScene(); } diff --git a/src/gui/UBDocumentNavigator.h b/src/gui/UBDocumentNavigator.h index ad5fcf31..d323dbd6 100644 --- a/src/gui/UBDocumentNavigator.h +++ b/src/gui/UBDocumentNavigator.h @@ -59,7 +59,7 @@ protected: virtual void mouseReleaseEvent(QMouseEvent *event); private: - + void refreshScene(); int border(); @@ -76,6 +76,8 @@ private: int mThumbnailWidth; /** The current thumbnails minimum width */ int mThumbnailMinWidth; + /** The selected thumbnail */ + UBSceneThumbnailNavigPixmap* mSelectedThumbnail; }; - + #endif // UBDOCUMENTNAVIGATOR_H