summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authortpearson <tpearson@283d02a7-25f6-0310-bc7c-ecb5cbfe19da>2011-10-24 18:06:08 +0000
committertpearson <tpearson@283d02a7-25f6-0310-bc7c-ecb5cbfe19da>2011-10-24 18:06:08 +0000
commit416a551e80c1b7e36169da478dc099bafdd3f8fa (patch)
treeb1e9e989298222adab712b186c7d9ff4d92f0cf4
parent0d2336ffe01ee690dcd556e280b9869834375590 (diff)
downloadtdelibs-416a551e.tar.gz
tdelibs-416a551e.zip
Add constructor to KApplication that allows ARGB visuals to be manually disabled
This allows the GTK Qt theme engine to work with a KApplication object when a window compositor is enabled git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/kdelibs@1260463 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
-rw-r--r--kdecore/kapplication.cpp19
-rw-r--r--kdecore/kapplication.h29
2 files changed, 47 insertions, 1 deletions
diff --git a/kdecore/kapplication.cpp b/kdecore/kapplication.cpp
index 2583728e2..1f0db7240 100644
--- a/kdecore/kapplication.cpp
+++ b/kdecore/kapplication.cpp
@@ -685,6 +685,23 @@ KApplication::KApplication( Display *dpy, bool allowStyles ) :
d->m_KAppDCOPInterface = new KAppDCOPInterface(this);
}
+KApplication::KApplication( Display *dpy, bool disable_argb, Qt::HANDLE visual, Qt::HANDLE colormap, bool allowStyles ) :
+ TQApplication( dpy, *KCmdLineArgs::qt_argc(), *KCmdLineArgs::qt_argv(),
+ disable_argb?visual:getX11RGBAVisual(dpy), disable_argb?colormap:getX11RGBAColormap(dpy) ),
+ KInstance( KCmdLineArgs::about), display(0L), d (new KApplicationPrivate)
+{
+ aIconPixmap.pm.icon = 0L;
+ aIconPixmap.pm.miniIcon = 0L;
+ read_app_startup_id();
+ useStyles = allowStyles;
+ if (disable_argb) argb_visual = false;
+ setName( instanceName() );
+ installSigpipeHandler();
+ parseCommandLine( );
+ init( true );
+ d->m_KAppDCOPInterface = new KAppDCOPInterface(this);
+}
+
KApplication::KApplication( Display *dpy, Qt::HANDLE visual, Qt::HANDLE colormap,
bool allowStyles ) :
TQApplication( dpy, *KCmdLineArgs::qt_argc(), *KCmdLineArgs::qt_argv(),
@@ -728,10 +745,10 @@ KApplication::KApplication( bool allowStyles, bool GUIenabled, KInstance* _insta
TQApplication( *KCmdLineArgs::qt_argc(), *KCmdLineArgs::qt_argv(),
GUIenabled ),
KInstance( _instance ),
- argb_visual(false),
#ifdef Q_WS_X11
display(0L),
#endif
+ argb_visual(false),
d (new KApplicationPrivate)
{
aIconPixmap.pm.icon = 0L;
diff --git a/kdecore/kapplication.h b/kdecore/kapplication.h
index c16f105f2..25ecb6ee3 100644
--- a/kdecore/kapplication.h
+++ b/kdecore/kapplication.h
@@ -152,6 +152,35 @@ public:
/**
* Constructor. Parses command-line arguments. Use this constructor when you
+ * you want ARGB support to be automatically detected and enabled.
+ *
+ * @param display Will be passed to Qt as the X display. The display must be
+ * valid and already opened.
+ *
+ * @param disable_argb Set to true to disable ARGB visuals in this application.
+ *
+ * @param display Will be passed to Qt as the X display. The display must be
+ * valid and already opened.
+ *
+ * @param visual A pointer to the X11 visual that should be used by the
+ * appliction. Note that only TrueColor visuals are supported on depths
+ * greater than 8 bpp. If this parameter is NULL, the default visual will
+ * be used instead.
+ *
+ * @param allowStyles Set to false to disable the loading on plugin based
+ * styles. This is only useful to applications that do not display a GUI
+ * normally. If you do create an application with @p allowStyles set to false
+ * that normally runs in the background but under special circumstances
+ * displays widgets call enableStyles() before displaying any widgets.
+ *
+ * @since KDE 3.5
+ *
+ * @see RGBADisplay()
+ */
+ KApplication(Display *display, bool disable_argb, Qt::HANDLE visual, Qt::HANDLE colormap, bool allowStyles);
+
+ /**
+ * Constructor. Parses command-line arguments. Use this constructor when you
* you need to use a non-default visual or colormap.
*
* @param display Will be passed to Qt as the X display. The display must be