Add WAR_SetDefault and friends

pull/2/head
Timothy Pearson 12 years ago
parent 1faf4cf70f
commit 4f8eb0410d

@ -5184,8 +5184,6 @@ bool QETWidget::translateKeyEventInternal( const XEvent *event, int& count,
qAddPostRoutine( deleteKeyDicts ); qAddPostRoutine( deleteKeyDicts );
} }
QWidget* tlw = topLevelWidget();
XKeyEvent xkeyevent = event->xkey; XKeyEvent xkeyevent = event->xkey;
// save the modifier state, we will use the keystate uint later by passing // save the modifier state, we will use the keystate uint later by passing
@ -5211,7 +5209,6 @@ bool QETWidget::translateKeyEventInternal( const XEvent *event, int& count,
// Implementation for X11R5 and newer, using XIM // Implementation for X11R5 and newer, using XIM
int keycode = event->xkey.keycode; int keycode = event->xkey.keycode;
Status status;
if ( type == QEvent::KeyPress ) { if ( type == QEvent::KeyPress ) {
bool mb=FALSE; bool mb=FALSE;
@ -5295,7 +5292,6 @@ bool QETWidget::translateKeyEventInternal( const XEvent *event, int& count,
// and independent of whether char is signed or not. // and independent of whether char is signed or not.
textDict->replace( keycode, (void*)(long)(256+ascii) ); textDict->replace( keycode, (void*)(long)(256+ascii) );
} }
tlw = 0;
} else { } else {
key = (int)(long)keyDict->find( keycode ); key = (int)(long)keyDict->find( keycode );
if ( key ) if ( key )

@ -48,6 +48,7 @@
#include "qlayout.h" #include "qlayout.h"
#include "qlistview.h" #include "qlistview.h"
#include "qpopupmenu.h" #include "qpopupmenu.h"
#include "qpushbutton.h"
#include "qobjectlist.h" #include "qobjectlist.h"
#include "qwidgetlist.h" #include "qwidgetlist.h"
@ -2165,7 +2166,16 @@ bool QStyle::eventFilter(QObject *o, QEvent *e) {
QStyle* handler = m_objectEventSourceToHandlerMap[o]; QStyle* handler = m_objectEventSourceToHandlerMap[o];
QStyleControlElementData ceData = m_objectEventSourceDataToHandlerMap[o]; QStyleControlElementData ceData = m_objectEventSourceDataToHandlerMap[o];
ControlElementFlags elementFlags = m_objectEventSourceFlagsToHandlerMap[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) { if (ret) {
return ret; return ret;
} }
@ -2291,6 +2301,21 @@ bool QStyle::widgetActionRequest( QStyleControlElementData ceData, ControlElemen
} }
delete list; 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; return true;
} }
} }
@ -2395,6 +2420,10 @@ QStyleWidgetActionRequestData::QStyleWidgetActionRequestData(QRect param) {
rect = param; rect = param;
} }
QStyleWidgetActionRequestData::QStyleWidgetActionRequestData(QPaintEvent* param) {
paintEvent = param;
}
QStyleWidgetActionRequestData::~QStyleWidgetActionRequestData() { QStyleWidgetActionRequestData::~QStyleWidgetActionRequestData() {
// //
} }
@ -2575,4 +2604,8 @@ QPixmap QStyle::stylePixmap(StylePixmap sp, const QWidget *w, const QStyleOption
\obsolete \obsolete
*/ */
QStyleControlElementData::QStyleControlElementData() {
activePainter = 0;
}
#endif // QT_NO_STYLE #endif // QT_NO_STYLE

@ -251,6 +251,10 @@ class QStyleControlElementData {
Q_UINT32 comboBoxLineEditFlags; Q_UINT32 comboBoxLineEditFlags;
Q_UINT32 frameStyle; Q_UINT32 frameStyle;
QRect sliderRect; QRect sliderRect;
QPainter* activePainter;
public:
QStyleControlElementData();
}; };
class Q_EXPORT QStyleWidgetActionRequestData { class Q_EXPORT QStyleWidgetActionRequestData {
@ -260,6 +264,7 @@ class Q_EXPORT QStyleWidgetActionRequestData {
QStyleWidgetActionRequestData(QPalette palette, bool informWidgets = FALSE, const char* className = 0); QStyleWidgetActionRequestData(QPalette palette, bool informWidgets = FALSE, const char* className = 0);
QStyleWidgetActionRequestData(QFont font, bool informWidgets = FALSE, const char* className = 0); QStyleWidgetActionRequestData(QFont font, bool informWidgets = FALSE, const char* className = 0);
QStyleWidgetActionRequestData(QRect rect); QStyleWidgetActionRequestData(QRect rect);
QStyleWidgetActionRequestData(QPaintEvent* paintEvent);
~QStyleWidgetActionRequestData(); ~QStyleWidgetActionRequestData();
public: public:
bool bool1; bool bool1;
@ -271,6 +276,7 @@ class Q_EXPORT QStyleWidgetActionRequestData {
QRect rect; QRect rect;
const char * cstr; const char * cstr;
QString string; QString string;
QPaintEvent * paintEvent;
}; };
typedef QStyleWidgetActionRequestData QStyleApplicationActionRequestData; typedef QStyleWidgetActionRequestData QStyleApplicationActionRequestData;
@ -1094,7 +1100,10 @@ public:
WAR_SetBackgroundMode, WAR_SetBackgroundMode,
WAR_SetBackgroundOrigin, WAR_SetBackgroundOrigin,
WAR_SetFont, WAR_SetFont,
WAR_RepaintAllAccelerators WAR_RepaintAllAccelerators,
WAR_SetDefault,
WAR_UnSetDefault,
WAR_SendPaintEvent
}; };
typedef bool (*WidgetActionRequestHook)(QStyleControlElementData ceData, ControlElementFlags elementFlags, void* source, WidgetActionRequest request, QStyleWidgetActionRequestData requestData); typedef bool (*WidgetActionRequestHook)(QStyleControlElementData ceData, ControlElementFlags elementFlags, void* source, WidgetActionRequest request, QStyleWidgetActionRequestData requestData);

Loading…
Cancel
Save