diff options
| author | 2007-04-17 10:44:21 +0000 | |
|---|---|---|
| committer | 2007-04-17 10:44:21 +0000 | |
| commit | 58c14fed961e4ac016fe1cb49071446111495894 (patch) | |
| tree | 7ab21bfc11ef31afc8b5e148048fc1e907cfaac6 /src | |
| parent | Bug on markAllMessagesAsHistoric(). I'm gona restore this function as soon as... (diff) | |
| download | KVIrc-58c14fed961e4ac016fe1cb49071446111495894.tar.gz KVIrc-58c14fed961e4ac016fe1cb49071446111495894.tar.bz2 KVIrc-58c14fed961e4ac016fe1cb49071446111495894.zip | |
fixed global acceleratorn under qt4; improved css support
git-svn-id: https://svn.kvirc.de/svn/trunk/kvirc@509 17fca916-40b9-46aa-a4ea-0a15b648b75c
Diffstat (limited to 'src')
| -rw-r--r-- | src/kvilib/tal/kvi_tal_hbox_qt4.h | 4 | ||||
| -rw-r--r-- | src/kvirc/ui/kvi_frame.cpp | 14 | ||||
| -rw-r--r-- | src/kvirc/ui/kvi_frame.h | 8 | ||||
| -rw-r--r-- | src/kvirc/ui/kvi_splash.cpp | 44 | ||||
| -rw-r--r-- | src/kvirc/ui/kvi_splash.h | 6 |
5 files changed, 68 insertions, 8 deletions
diff --git a/src/kvilib/tal/kvi_tal_hbox_qt4.h b/src/kvilib/tal/kvi_tal_hbox_qt4.h index c89e8016b..e58dbd20b 100644 --- a/src/kvilib/tal/kvi_tal_hbox_qt4.h +++ b/src/kvilib/tal/kvi_tal_hbox_qt4.h @@ -33,8 +33,8 @@ class KVILIB_API KviTalHBox : public Q3HBox { Q_OBJECT public: - KviTalHBox(QWidget * pParent) - : Q3HBox(pParent) {}; + KviTalHBox(QWidget * pParent,char* name=0) + : Q3HBox(pParent,name) {}; virtual ~KviTalHBox() {}; }; diff --git a/src/kvirc/ui/kvi_frame.cpp b/src/kvirc/ui/kvi_frame.cpp index 7d5e47a80..362e6595c 100644 --- a/src/kvirc/ui/kvi_frame.cpp +++ b/src/kvirc/ui/kvi_frame.cpp @@ -84,6 +84,7 @@ #ifdef COMPILE_USE_QT4 #include <qdesktopwidget.h> #include <qevent.h> + #include <QShortcut> #else #include <qaccel.h> #endif @@ -339,7 +340,17 @@ KviMexToolBar * KviFrame::moduleExtensionToolBar(int extensionId) KviAccel * KviFrame::installAccelerators(QWidget * wnd) { - KviAccel *ac = new KviAccel(wnd ? (QWidget *)wnd : (QWidget *)this); + QWidget * pParent = wnd ? (QWidget *)wnd : (QWidget *)this; +#ifdef COMPILE_USE_QT4 + new QShortcut(QKeySequence(Qt::Key_Left + Qt::ALT),pParent,SLOT(switchToPrevWindow())); + new QShortcut(QKeySequence(Qt::Key_Right + Qt::ALT),pParent,SLOT(switchToNextWindow())); + new QShortcut(QKeySequence(Qt::Key_Up + Qt::CTRL),pParent,SLOT(maximizeWindow())); + new QShortcut(QKeySequence(Qt::Key_Down + Qt::CTRL),pParent,SLOT(minimizeWindow())); + new QShortcut(QKeySequence(Qt::Key_Escape +Qt::CTRL),pParent,SLOT(minimizeWindow())); + new QShortcut(QKeySequence(Qt::Key_Left + Qt::ALT + Qt::SHIFT),pParent,SLOT(switchToPrevWindowInContext())); + new QShortcut(QKeySequence(Qt::Key_Right + Qt::ALT + Qt::SHIFT),pParent,SLOT(switchToNextWindowInContext())); +#endif + KviAccel *ac = new KviAccel(pParent); static int accel_table[] = { Qt::Key_Left + Qt::ALT , // prev window @@ -405,6 +416,7 @@ void KviFrame::accelActivated(int id) int keys = (int)(acc->key(id)); KviTaskBarItem *item = 0; + debug("accel"); switch(keys) { case (Qt::Key_Left+Qt::ALT): switchToPrevWindow(); break; diff --git a/src/kvirc/ui/kvi_frame.h b/src/kvirc/ui/kvi_frame.h index c39241328..b645adbee 100644 --- a/src/kvirc/ui/kvi_frame.h +++ b/src/kvirc/ui/kvi_frame.h @@ -215,11 +215,13 @@ protected: virtual void moveEvent(QMoveEvent *e); virtual bool focusNextPrevChild(bool next); virtual void windowActivationChange(bool bOldActive); - + void updatePseudoTransparency(); KviAccel * installAccelerators(QWidget * wnd); + virtual void hideEvent ( QHideEvent * e); +protected slots: void switchToNextWindow(); void switchToPrevWindow(); void switchToNextWindowInContext(); @@ -227,9 +229,7 @@ protected: void maximizeWindow(); void minimizeWindow(); - - virtual void hideEvent ( QHideEvent * e); -protected slots: + void accelActivated(int id); void enteredSdiMode(); void leftSdiMode(); diff --git a/src/kvirc/ui/kvi_splash.cpp b/src/kvirc/ui/kvi_splash.cpp index 152e98897..9a90d3632 100644 --- a/src/kvirc/ui/kvi_splash.cpp +++ b/src/kvirc/ui/kvi_splash.cpp @@ -106,6 +106,15 @@ KviSplashScreen::KviSplashScreen() m_pTimer = new QTimer(this); connect(m_pTimer,SIGNAL(timeout()),this,SLOT(suicide())); delete pix; + +#ifdef COMPILE_USE_QT4 + setWindowOpacity(0); + m_bIncreasing=true; + m_rTransparency=0; + m_pFadeTimer= new QTimer(this); + connect(m_pFadeTimer,SIGNAL(timeout()),this,SLOT(fadeTimerShot())); + m_pFadeTimer->start(6); +#endif } // We don't need messages on the splash: they just add work to the translators and nobody can read them anyway :D @@ -155,15 +164,20 @@ void KviSplashScreen::setProgress(int progress) g_pApp->processEvents(); //damn... } -#define KVI_SPLASH_SCREEN_MINIMUM_TIMEOUT_IN_MSECS 4000 +#define KVI_SPLASH_SCREEN_MINIMUM_TIMEOUT_IN_MSECS 2000 void KviSplashScreen::die() { +#ifdef COMPILE_USE_QT4 + m_bIncreasing = false; + m_pFadeTimer->start(6); +#else QTime now = QTime::currentTime(); int mSecs = m_creationTime.msecsTo(now); int mRemaining = KVI_SPLASH_SCREEN_MINIMUM_TIMEOUT_IN_MSECS - mSecs; if(mRemaining < 0)mRemaining = 0; m_pTimer->start(mRemaining,true); +#endif } @@ -177,4 +191,32 @@ void KviSplashScreen::suicide() } +void KviSplashScreen::fadeTimerShot() +{ +#ifdef COMPILE_USE_QT4 + if(m_bIncreasing) + { + m_rTransparency+=0.05; + setWindowOpacity(m_rTransparency); + if(m_rTransparency>=1) + { + m_pFadeTimer->stop(); + m_bIncreasing=false; + } + + + } else { + m_rTransparency-=0.02; + setWindowOpacity(m_rTransparency); + if(m_rTransparency<=0) + { + m_pFadeTimer->stop(); + m_bIncreasing=true; + suicide(); + } + } +#endif +} + + #include "kvi_splash.moc" diff --git a/src/kvirc/ui/kvi_splash.h b/src/kvirc/ui/kvi_splash.h index bbd339fdd..2e7da11ad 100644 --- a/src/kvirc/ui/kvi_splash.h +++ b/src/kvirc/ui/kvi_splash.h @@ -46,6 +46,11 @@ private: QTimer * m_pTimer; QTime m_creationTime; QPixmap * m_pOverlay; +#ifdef COMPILE_USE_QT4 + bool m_bIncreasing; + qreal m_rTransparency; + QTimer * m_pFadeTimer; +#endif protected: virtual void showEvent(QShowEvent * e); virtual void hideEvent(QHideEvent * e); @@ -55,6 +60,7 @@ public: //void message(QString); protected slots: void suicide(); + void fadeTimerShot(); }; extern KVIRC_API KviSplashScreen * g_pSplashScreen; |
