diff options
author | Darrell Anderson <[email protected]> | 2012-10-19 22:51:12 -0500 |
---|---|---|
committer | Darrell Anderson <[email protected]> | 2012-10-19 22:51:12 -0500 |
commit | f175db0cdb14fe5e62b3fbdc785cd3b09576ef1d (patch) | |
tree | 8b690a0a04d4143e087324a425621cd12b38d8f1 /src/kernel/qstyle.cpp | |
parent | 41e5b784ee48d2cb403bb551bcbe7cbd322c4336 (diff) | |
parent | 4037eb7e84eda2b72a456cf7ff19182c2d4a1f7a (diff) | |
download | qt3-f175db0cdb14fe5e62b3fbdc785cd3b09576ef1d.tar.gz qt3-f175db0cdb14fe5e62b3fbdc785cd3b09576ef1d.zip |
Merge branch 'master' of http://scm.trinitydesktop.org/scm/git/qt3
Diffstat (limited to 'src/kernel/qstyle.cpp')
-rw-r--r-- | src/kernel/qstyle.cpp | 35 |
1 files changed, 34 insertions, 1 deletions
diff --git a/src/kernel/qstyle.cpp b/src/kernel/qstyle.cpp index e7d3fa5..843027d 100644 --- a/src/kernel/qstyle.cpp +++ b/src/kernel/qstyle.cpp @@ -48,6 +48,7 @@ #include "qlayout.h" #include "qlistview.h" #include "qpopupmenu.h" +#include "qpushbutton.h" #include "qobjectlist.h" #include "qwidgetlist.h" @@ -2165,7 +2166,16 @@ bool QStyle::eventFilter(QObject *o, QEvent *e) { QStyle* handler = m_objectEventSourceToHandlerMap[o]; QStyleControlElementData ceData = m_objectEventSourceDataToHandlerMap[o]; ControlElementFlags elementFlags = m_objectEventSourceFlagsToHandlerMap[o]; - bool ret = handler->objectEventHandler(ceData, elementFlags, o, e); + bool ret; + QWidget* w = dynamic_cast<QWidget*>(o); + if ((w) && (e->type() == QEvent::Paint)) { + QPainter p(w); + ceData.activePainter = &p; + ret = handler->objectEventHandler(ceData, elementFlags, o, e); + } + else { + ret = handler->objectEventHandler(ceData, elementFlags, o, e); + } if (ret) { return ret; } @@ -2291,6 +2301,21 @@ bool QStyle::widgetActionRequest( QStyleControlElementData ceData, ControlElemen } delete list; } + else if (request == WAR_SetDefault) { + QPushButton *button = dynamic_cast<QPushButton*>(widget); + if (button) { + button->setDefault(TRUE); + } + } + else if (request == WAR_UnSetDefault) { + QPushButton *button = dynamic_cast<QPushButton*>(widget); + if (button) { + button->setDefault(FALSE); + } + } + else if (request == WAR_SendPaintEvent) { + static_cast<QObject*>(widget)->event(requestData.paintEvent); + } return true; } } @@ -2395,6 +2420,10 @@ QStyleWidgetActionRequestData::QStyleWidgetActionRequestData(QRect param) { rect = param; } +QStyleWidgetActionRequestData::QStyleWidgetActionRequestData(QPaintEvent* param) { + paintEvent = param; +} + QStyleWidgetActionRequestData::~QStyleWidgetActionRequestData() { // } @@ -2575,4 +2604,8 @@ QPixmap QStyle::stylePixmap(StylePixmap sp, const QWidget *w, const QStyleOption \obsolete */ +QStyleControlElementData::QStyleControlElementData() { + activePainter = 0; +} + #endif // QT_NO_STYLE |