aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorGravatar Alexey Uzhva2007-04-17 10:44:21 +0000
committerGravatar Alexey Uzhva2007-04-17 10:44:21 +0000
commit58c14fed961e4ac016fe1cb49071446111495894 (patch)
tree7ab21bfc11ef31afc8b5e148048fc1e907cfaac6 /src
parentBug on markAllMessagesAsHistoric(). I'm gona restore this function as soon as... (diff)
downloadKVIrc-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.h4
-rw-r--r--src/kvirc/ui/kvi_frame.cpp14
-rw-r--r--src/kvirc/ui/kvi_frame.h8
-rw-r--r--src/kvirc/ui/kvi_splash.cpp44
-rw-r--r--src/kvirc/ui/kvi_splash.h6
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;