summaryrefslogtreecommitdiffstats
path: root/src/kernel
diff options
context:
space:
mode:
authorTimothy Pearson <[email protected]>2012-10-30 22:41:50 -0500
committerTimothy Pearson <[email protected]>2012-10-30 22:41:50 -0500
commit69429dcfc35d449c78b346bdce536f17d926c755 (patch)
tree6c1d1015837f0e77a8e950e38a3a24ee616e598c /src/kernel
parent22d1ab9eccc005b0497cff131593e6b9ff96e7c2 (diff)
downloadqt3-69429dcfc35d449c78b346bdce536f17d926c755.tar.gz
qt3-69429dcfc35d449c78b346bdce536f17d926c755.zip
Add new style primatives for enhanced third party style compatibility
Diffstat (limited to 'src/kernel')
-rw-r--r--src/kernel/qapplication.cpp31
-rw-r--r--src/kernel/qapplication.h1
-rw-r--r--src/kernel/qstyle.h7
3 files changed, 39 insertions, 0 deletions
diff --git a/src/kernel/qapplication.cpp b/src/kernel/qapplication.cpp
index 0478cf1..51aa247 100644
--- a/src/kernel/qapplication.cpp
+++ b/src/kernel/qapplication.cpp
@@ -1847,6 +1847,37 @@ QPalette QApplication::palette(const QWidget* w)
return *app_pal;
}
+QPalette QApplication::palette(QStringList objectTypeList)
+{
+#if defined(QT_CHECK_STATE)
+ if ( !qApp )
+ qWarning( "QApplication::palette: This function can only be "
+ "called after the QApplication object has been created" );
+#endif
+ if ( !app_pal ) {
+ if ( !qt_std_pal )
+ qt_create_std_palette();
+ app_pal = new QPalette( *qt_std_pal );
+ qt_fix_tooltips();
+ }
+
+ if ( (objectTypeList.count() > 0) && app_palettes ) {
+ QPalette* wp = app_palettes->find( objectTypeList[objectTypeList.count()-1] );
+ if ( wp ) {
+ return *wp;
+ }
+ QAsciiDictIterator<QPalette> it( *app_palettes );
+ const char* name;
+ while ( (name=it.currentKey()) != 0 ) {
+ if ( objectTypeList.contains(name) ) {
+ return *it.current();
+ }
+ ++it;
+ }
+ }
+ return *app_pal;
+}
+
/*!
Changes the default application palette to \a palette. If \a
informWidgets is TRUE, then existing widgets are informed about the
diff --git a/src/kernel/qapplication.h b/src/kernel/qapplication.h
index 39f7858..c34ff45 100644
--- a/src/kernel/qapplication.h
+++ b/src/kernel/qapplication.h
@@ -113,6 +113,7 @@ public:
static void setGlobalMouseTracking( bool enable );
#ifndef QT_NO_PALETTE
static QPalette palette( const QWidget* = 0 );
+ static QPalette palette( QStringList );
static void setPalette( const QPalette &, bool informWidgets=FALSE,
const char* className = 0 );
#endif
diff --git a/src/kernel/qstyle.h b/src/kernel/qstyle.h
index 27dbb07..5731f8f 100644
--- a/src/kernel/qstyle.h
+++ b/src/kernel/qstyle.h
@@ -458,6 +458,11 @@ public:
PE_HeaderSectionMenu,
+ PE_PanelScrollBar,
+ PE_MenuItemIndicatorFrame,
+ PE_MenuItemIndicatorIconFrame,
+ PE_MenuItemIndicatorCheck,
+
// do not add any values below/greater this
PE_CustomBase = 0xf000000
};
@@ -830,6 +835,8 @@ public:
PM_MenuBarItemSpacing,
PM_ToolBarItemSpacing,
+ PM_ArrowSize,
+
// do not add any values below/greater than this
PM_CustomBase = 0xf0000000
};