From 0bed9fad8eebfb481112113061e1cdbe6aa37b29 Mon Sep 17 00:00:00 2001 From: Anna Udovichenko Date: Fri, 27 Apr 2012 18:39:33 +0300 Subject: [PATCH] added slider size and position updating --- src/gui/UBFeaturesWidget.cpp | 22 ++++++++++++++++++++-- src/gui/UBFeaturesWidget.h | 2 ++ 2 files changed, 22 insertions(+), 2 deletions(-) diff --git a/src/gui/UBFeaturesWidget.cpp b/src/gui/UBFeaturesWidget.cpp index b29b2c30..384194b2 100644 --- a/src/gui/UBFeaturesWidget.cpp +++ b/src/gui/UBFeaturesWidget.cpp @@ -70,6 +70,7 @@ UBFeaturesWidget::UBFeaturesWidget(QWidget *parent, const char *name):UBDockPale pathListView->setSelectionMode( QAbstractItemView::NoSelection ); pathListView->setVerticalScrollBarPolicy( Qt::ScrollBarAlwaysOff ); pathListView->setHorizontalScrollBarPolicy( Qt::ScrollBarAlwaysOn ); + //pathListView->setResizeMode( QListView::Adjust ); //pathListView->setMovement( QListView::Static ); pathListView->setDragDropMode( QAbstractItemView::DragDrop ); @@ -89,11 +90,16 @@ UBFeaturesWidget::UBFeaturesWidget(QWidget *parent, const char *name):UBDockPale currentStackedWidget = ID_LISTVIEW; mActionBar = new UBFeaturesActionBar(controller, this); - thumbSlider = new QSlider( Qt::Horizontal, this ); + thumbSlider = new QSlider( Qt::Horizontal, featuresListView ); thumbSlider->setMinimum( minThumbnailSize ); thumbSlider->setMaximum( maxThumbnailSize ); thumbSlider->setValue( defaultThumbnailSize ); - layout->addWidget( thumbSlider ); + //qDebug() << "init" << featuresListView->height(); + thumbSlider->move( 0, featuresListView->height() ); + thumbSlider->resize( thumbSlider->width(), thumbSlider->height() + 4 ); + thumbSlider->show(); + featuresListView->installEventFilter(this); + //layout->addWidget( thumbSlider ); layout->addWidget( mActionBar ); /*connect(featuresListView->selectionModel(), SIGNAL(currentChanged ( const QModelIndex &, const QModelIndex & )), @@ -110,6 +116,18 @@ UBFeaturesWidget::UBFeaturesWidget(QWidget *parent, const char *name):UBDockPale connect( thumbSlider, SIGNAL( sliderMoved(int) ), this, SLOT(thumbnailSizeChanged( int ) ) ); } +bool UBFeaturesWidget::eventFilter( QObject *target, QEvent *event ) +{ + if ( target == featuresListView && event->type() == QEvent::Resize ) + { + thumbSlider->move( 10, featuresListView->height() - thumbSlider->height() - 10 ); + thumbSlider->resize( featuresListView->width() - 20, thumbSlider->height() ); + //qDebug() << featuresListView->height(); + //return true; + } + return UBDockPaletteWidget::eventFilter(target, event); +} + void UBFeaturesWidget::searchStarted( const QString &pattern ) { if ( pattern.isEmpty() ) diff --git a/src/gui/UBFeaturesWidget.h b/src/gui/UBFeaturesWidget.h index 22a0f26d..ea718f22 100644 --- a/src/gui/UBFeaturesWidget.h +++ b/src/gui/UBFeaturesWidget.h @@ -92,6 +92,8 @@ private slots: void addToFavorite( const QMimeData & ); void removeFromFavorite( const QMimeData & ); void thumbnailSizeChanged( int ); +protected: + bool eventFilter(QObject *target, QEvent *event); }; class UBFeaturesListView : public QListView