summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarius Bugge Monsen <mmonsen@trolltech.com>2009-06-18 16:09:23 +0200
committerMarius Bugge Monsen <mmonsen@trolltech.com>2009-06-18 16:09:23 +0200
commit229a327898b34ec1ed7abb7c430b7b9f539f13ca (patch)
treead89f62a2006f87bb6fe846f61417c0ad0b46b15
parent602937ee29a58ffcf581d93e64549e4beb747834 (diff)
Make sure the active state in the style option is set if the view window is active.
-rw-r--r--src/qgraphicslistview.cpp2
-rw-r--r--src/qgraphicslistview.h2
-rw-r--r--src/qgraphicstableview.cpp16
-rw-r--r--src/qgraphicstableview.h4
-rw-r--r--src/qgraphicstreeview.cpp16
-rw-r--r--src/qlistcontroller.cpp6
-rw-r--r--src/qlistcontroller.h1
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);