From 0c7d4bb71f9bb7ec47eccd57523c38dac41abed1 Mon Sep 17 00:00:00 2001 From: tpearson Date: Mon, 28 Feb 2011 03:25:47 +0000 Subject: Fix the following problems under Qt4: * Konsole compilation failure * ksplash exit failure * kicker rounded tip masking behaviour * kwin auto-exit issue git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/kdebase@1223001 283d02a7-25f6-0310-bc7c-ecb5cbfe19da --- kicker/kicker/ui/k_mnu.cpp | 4 ++++ kicker/libkicker/kickertip.cpp | 10 +++++----- konsole/konsole/schema.h | 2 +- ksplashml/wndmain.cpp | 3 +++ ksplashml/wndmain.h | 15 +++++++++++++-- kwin/main.cpp | 4 ++++ 6 files changed, 30 insertions(+), 8 deletions(-) diff --git a/kicker/kicker/ui/k_mnu.cpp b/kicker/kicker/ui/k_mnu.cpp index 06fc689f6..b6d0db296 100644 --- a/kicker/kicker/ui/k_mnu.cpp +++ b/kicker/kicker/ui/k_mnu.cpp @@ -120,6 +120,9 @@ void PanelKMenu::hideMenu() { hide(); +#ifdef USE_QT4 + // The hacks below aren't needed any more because Qt4 supports true transparency for the fading logout screen +#else // USE_QT4 // Try to redraw the area under the menu // Qt makes this surprisingly difficult to do in a timely fashion! while (isShown() == true) @@ -143,6 +146,7 @@ void PanelKMenu::hideMenu() delaytimer->start( 100, TRUE ); // Wait for 100 milliseconds while (windowTimerTimedOut == false) kapp->eventLoop()->processEvents(TQEventLoop::ExcludeUserInput, 1000); +#endif // USE_QT4 } void PanelKMenu::windowClearTimeout() diff --git a/kicker/libkicker/kickertip.cpp b/kicker/libkicker/kickertip.cpp index 69e0897f8..47a66f845 100644 --- a/kicker/libkicker/kickertip.cpp +++ b/kicker/libkicker/kickertip.cpp @@ -283,9 +283,9 @@ void KickerTip::plainMask() { TQPainter maskPainter(&m_mask); - m_mask.fill(Qt::black); + m_mask.fill(Qt::color0); - maskPainter.setBrush(Qt::white); + maskPainter.setBrush(Qt::color1); maskPainter.setPen(Qt::NoPen); //maskPainter.drawRoundRect(m_mask.rect(), 1600 / m_mask.rect().width(), 1600 / m_mask.rect().height()); drawRoundRect(maskPainter, m_mask.rect()); @@ -297,9 +297,9 @@ void KickerTip::dissolveMask() { TQPainter maskPainter(&m_mask); - m_mask.fill(Qt::black); + m_mask.fill(Qt::color0); - maskPainter.setBrush(Qt::white); + maskPainter.setBrush(Qt::color1); maskPainter.setPen(Qt::NoPen); //maskPainter.drawRoundRect(m_mask.rect(), 1600 / m_mask.rect().width(), 1600 / m_mask.rect().height()); drawRoundRect(maskPainter, m_mask.rect()); @@ -450,7 +450,7 @@ bool KickerTip::isTippingFor(const TQWidget* w) const void KickerTip::tipperDestroyed(TQObject* o) { - // we can't do a dynamic cast because we are in the process of dieing + // we can't do a dynamic cast because we are in the process of dying // so static it is. untipFor(TQT_TQWIDGET(o)); } diff --git a/konsole/konsole/schema.h b/konsole/konsole/schema.h index de48e3cbd..1027a6c9e 100644 --- a/konsole/konsole/schema.h +++ b/konsole/konsole/schema.h @@ -189,7 +189,7 @@ public: { return TQPtrList::at(i); } ; #ifdef USE_QT4 const ColorSchema *tqat(unsigned int i) - { return at(i); ; + { return at(i); } ; #endif // USE_QT4 void sort() {TQPtrList::sort();}; diff --git a/ksplashml/wndmain.cpp b/ksplashml/wndmain.cpp index f382ba7a6..c037438ab 100644 --- a/ksplashml/wndmain.cpp +++ b/ksplashml/wndmain.cpp @@ -311,6 +311,9 @@ void KSplash::startupComplete() void KSplash::close() { TQWidget::close(); +#ifdef USE_QT4 + exit(0); +#endif // USE_QT4 } void KSplash::hide() diff --git a/ksplashml/wndmain.h b/ksplashml/wndmain.h index c1fa4ae45..40457ad0d 100644 --- a/ksplashml/wndmain.h +++ b/ksplashml/wndmain.h @@ -39,6 +39,7 @@ class KConfig; class KSplash: public TQWidget, virtual public KSplashIface { Q_OBJECT + TQ_OBJECT public: KSplash(const char *name = "ksplash"); @@ -53,9 +54,19 @@ public: ASYNC setStartupItemCount( int count ); ASYNC programStarted( TQString programIcon, TQString programName, TQString description ); ASYNC startupComplete(); - ASYNC close(); - ASYNC hide(); ASYNC show(); + ASYNC hide(); + + // [FIXME] How can I more easily let Qt know about these slots? moc-tqt perhaps? + // More importantly, how was this code even running under Qt3? + // Was it somehow running the TQWidget::close() slot instead of the KSplash::close() non-slot method? + // Either way it looks like accidental/undefined behaviour to me... +#ifndef Q_MOC_RUN + ASYNC close(); +#else // Q_MOC_RUN +public slots: + void close(); +#endif // Q_MOC_RUN signals: void stepsChanged(int); diff --git a/kwin/main.cpp b/kwin/main.cpp index 96cb793ba..ee1f66c68 100644 --- a/kwin/main.cpp +++ b/kwin/main.cpp @@ -86,6 +86,10 @@ int x11ErrorHandler(Display *d, XErrorEvent *e) Application::Application( ) : KApplication( ), owner( screen_number ) { +#ifdef USE_QT4 + // I'm special... + setQuitOnLastWindowClosed(false); +#endif // USE_QT4 KCmdLineArgs* args = KCmdLineArgs::parsedArgs(); if (!config()->isImmutable() && args->isSet("lock")) { -- cgit v1.2.3