diff options
author | Marius Bugge Monsen <mmonsen@trolltech.com> | 2009-06-18 16:09:23 +0200 |
---|---|---|
committer | Marius Bugge Monsen <mmonsen@trolltech.com> | 2009-06-18 16:09:23 +0200 |
commit | 229a327898b34ec1ed7abb7c430b7b9f539f13ca (patch) | |
tree | ad89f62a2006f87bb6fe846f61417c0ad0b46b15 | |
parent | 602937ee29a58ffcf581d93e64549e4beb747834 (diff) |
Make sure the active state in the style option is set if the view window is active.
-rw-r--r-- | src/qgraphicslistview.cpp | 2 | ||||
-rw-r--r-- | src/qgraphicslistview.h | 2 | ||||
-rw-r--r-- | src/qgraphicstableview.cpp | 16 | ||||
-rw-r--r-- | src/qgraphicstableview.h | 4 | ||||
-rw-r--r-- | src/qgraphicstreeview.cpp | 16 | ||||
-rw-r--r-- | src/qlistcontroller.cpp | 6 | ||||
-rw-r--r-- | src/qlistcontroller.h | 1 |
7 files changed, 29 insertions, 18 deletions
diff --git a/src/qgraphicslistview.cpp b/src/qgraphicslistview.cpp index ab71b43..431aa94 100644 --- a/src/qgraphicslistview.cpp +++ b/src/qgraphicslistview.cpp @@ -1057,6 +1057,8 @@ void QtGraphicsListView::initStyleOption(QStyleOptionViewItemV4 *option) const option->locale.setNumberOptions(QLocale::OmitGroupSeparator); //if (d->wrapText) option->features |= QStyleOptionViewItemV2::WrapText; //if (d->alternate) option->features |= QStyleOptionViewItemV2::Alternate; + if (isActiveWindow()) + option->state |= QStyle::State_Active; } /*! diff --git a/src/qgraphicslistview.h b/src/qgraphicslistview.h index 8de6ae9..2dc2f27 100644 --- a/src/qgraphicslistview.h +++ b/src/qgraphicslistview.h @@ -143,7 +143,6 @@ Q_SIGNALS: void offsetChanged(qreal offset); protected: - friend class QtPrinterListView; // ### FIXME: should not be needed QtGraphicsListView(QtGraphicsListViewPrivate &, Qt::Orientation orientation, QGraphicsWidget *parent, Qt::WindowFlags wFlags = 0); // ### making them virtual allows the user to hook up to any signals they need @@ -156,6 +155,7 @@ protected: QtGraphicsListViewPrivate *d_ptr; private: + friend class QtPrinterListView; friend class QtListController; friend class QtGraphicsListViewItem; Q_DECLARE_PRIVATE(QtGraphicsListView) diff --git a/src/qgraphicstableview.cpp b/src/qgraphicstableview.cpp index b69e9d2..d8c4a7d 100644 --- a/src/qgraphicstableview.cpp +++ b/src/qgraphicstableview.cpp @@ -1198,6 +1198,8 @@ void QtGraphicsTableView::initStyleOption(QStyleOptionViewItemV4 *option) const //if (d->wrapText) option->features |= QStyleOptionViewItemV2::WrapText; //if (d->alternate) option->features |= QStyleOptionViewItemV2::Alternate; //option->grid = d->showGrid; // ### FIXME + if (isActiveWindow()) + option->state |= QStyle::State_Active; } /*! @@ -1338,14 +1340,14 @@ void QtGraphicsTableView::initStyleOptionState(QStyleOptionViewItemV4 *option, i /*! */ -void QtGraphicsTableView::copyStyleOptionState(const QStyleOptionGraphicsItem *source, QStyleOptionViewItemV4 *dest) +void QtGraphicsTableView::copyStyleOptionState(const QStyleOptionGraphicsItem *source, QStyleOptionViewItemV4 *destination) { - if (source && dest) { - dest->state = source->state; - dest->direction = source->direction; - dest->rect = source->rect; - dest->fontMetrics = source->fontMetrics; - dest->palette = source->palette; + if (source && destination) { + destination->state = source->state; + destination->direction = source->direction; + destination->rect = source->rect; + destination->fontMetrics = source->fontMetrics; + destination->palette = source->palette; } } diff --git a/src/qgraphicstableview.h b/src/qgraphicstableview.h index dc9f40e..3f64a48 100644 --- a/src/qgraphicstableview.h +++ b/src/qgraphicstableview.h @@ -204,8 +204,6 @@ protected: QtGraphicsTableView(QtGraphicsTableViewPrivate&, QGraphicsWidget *parent = 0, Qt::WindowFlags wFlags = 0); virtual bool event(QEvent *event); - friend class QtPrinterTableView; // ### FIXME: should not be needed - friend class QtTableController; void setModel(QtTableModelInterface *model); void setSelectionManager(QtTableSelectionManager *selectionManager); void setController(QtTableController *controller); @@ -214,6 +212,8 @@ protected: QtGraphicsTableViewPrivate *d_ptr; private: + friend class QtPrinterTableView; + friend class QtTableController; friend class QtGraphicsTableViewItem; Q_DECLARE_PRIVATE(QtGraphicsTableView) Q_DISABLE_COPY(QtGraphicsTableView) diff --git a/src/qgraphicstreeview.cpp b/src/qgraphicstreeview.cpp index 4def7ed..838eefc 100644 --- a/src/qgraphicstreeview.cpp +++ b/src/qgraphicstreeview.cpp @@ -1247,6 +1247,8 @@ void QtGraphicsTreeView::initStyleOption(QStyleOptionViewItemV4 *option) const option->locale.setNumberOptions(QLocale::OmitGroupSeparator); option->features |= QStyleOptionViewItemV2::WrapText; // ### if wrap text is enabled option->features |= QStyleOptionViewItemV2::Alternate; // ### if alternate is enabled + if (isActiveWindow()) + option->state |= QStyle::State_Active; } /*! @@ -1394,14 +1396,14 @@ void QtGraphicsTreeView::initStyleOptionState(QStyleOptionViewItemV4 *option, co /*! */ -void QtGraphicsTreeView::copyStyleOptionState(const QStyleOptionGraphicsItem *source, QStyleOptionViewItemV4 *dest) +void QtGraphicsTreeView::copyStyleOptionState(const QStyleOptionGraphicsItem *source, QStyleOptionViewItemV4 *destination) { - if (source && dest) { - dest->state = source->state; - dest->direction = source->direction; - dest->rect = source->rect; - dest->fontMetrics = source->fontMetrics; - dest->palette = source->palette; + if (source && destination) { + destination->state = source->state; + destination->direction = source->direction; + destination->rect = source->rect; + destination->fontMetrics = source->fontMetrics; + destination->palette = source->palette; } } diff --git a/src/qlistcontroller.cpp b/src/qlistcontroller.cpp index 60b98e8..5779c7f 100644 --- a/src/qlistcontroller.cpp +++ b/src/qlistcontroller.cpp @@ -382,8 +382,11 @@ bool QtListController::keyPressEvent(QKeyEvent *event) break; case Qt::Key_Tab: case Qt::Key_Backtab: + break; case Qt::Key_Space: - // ### FIXME: implement + if (index >= 0 && index < d->model->count()) + emit itemActivated(index); + return true; default: break; } @@ -460,6 +463,7 @@ bool QtListController::mouseReleaseEvent(QGraphicsSceneMouseEvent *event, const d->selectionManager->setCurrentItem(index); d->selectionManager->endAnchoredSelection(); emit itemClicked(index, Qt::LeftButton); + emit itemActivated(index); // activates on single-click return true; } return false; diff --git a/src/qlistcontroller.h b/src/qlistcontroller.h index 53ff6c2..1c3232c 100644 --- a/src/qlistcontroller.h +++ b/src/qlistcontroller.h @@ -94,6 +94,7 @@ public: virtual bool processEvent(QEvent *event, const QTransform &transform); Q_SIGNALS: + void itemActivated(int index); void itemClicked(int index, Qt::MouseButton button); // ### add more signals for user actions void modelChanged(QtListModelInterface *current, QtListModelInterface *previous); |