You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
52 lines
1.2 KiB
52 lines
1.2 KiB
Index: krandrapp.cpp
|
|
===================================================================
|
|
--- kcontrol/randr/krandrapp.cpp (revision 1261452)
|
|
+++ kcontrol/randr/krandrapp.cpp (working copy)
|
|
@@ -28,13 +28,20 @@
|
|
KRandRApp::KRandRApp()
|
|
: m_tray(new KRandRSystemTray(0L, "RANDRTray"))
|
|
{
|
|
+ connect(&m_eventMergingTimer, TQT_SIGNAL(timeout()), this, TQT_SLOT(handleX11ConfigChangeEvent()));
|
|
m_tray->show();
|
|
}
|
|
|
|
+void KRandRApp::handleX11ConfigChangeEvent()
|
|
+{
|
|
+ m_eventMergingTimer.stop();
|
|
+ m_tray->configChanged();
|
|
+}
|
|
+
|
|
bool KRandRApp::x11EventFilter(XEvent* e)
|
|
{
|
|
if (e->type == m_tray->screenChangeNotifyEvent()) {
|
|
- m_tray->configChanged();
|
|
+ m_eventMergingTimer.start(1000, TRUE);
|
|
}
|
|
return KApplication::x11EventFilter( e );
|
|
}
|
|
Index: krandrapp.h
|
|
===================================================================
|
|
--- kcontrol/randr/krandrapp.h (revision 1261452)
|
|
+++ kcontrol/randr/krandrapp.h (working copy)
|
|
@@ -19,6 +19,7 @@
|
|
#ifndef KRANDRAPP_H
|
|
#define KRANDRAPP_H
|
|
|
|
+#include <tqtimer.h>
|
|
#include <kuniqueapplication.h>
|
|
|
|
class KRandRSystemTray;
|
|
@@ -32,8 +33,12 @@
|
|
|
|
virtual bool x11EventFilter(XEvent * e);
|
|
|
|
+private slots:
|
|
+ void handleX11ConfigChangeEvent();
|
|
+
|
|
private:
|
|
KRandRSystemTray* m_tray;
|
|
+ TQTimer m_eventMergingTimer;
|
|
};
|
|
|
|
#endif
|