Diffstat (limited to 'noncore/applets/keyhelper/keyhelperapplet/extension/TaskSwitcher.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r-- | noncore/applets/keyhelper/keyhelperapplet/extension/TaskSwitcher.cpp | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/noncore/applets/keyhelper/keyhelperapplet/extension/TaskSwitcher.cpp b/noncore/applets/keyhelper/keyhelperapplet/extension/TaskSwitcher.cpp new file mode 100644 index 0000000..c51eba5 --- a/dev/null +++ b/noncore/applets/keyhelper/keyhelperapplet/extension/TaskSwitcher.cpp | |||
@@ -0,0 +1,58 @@ | |||
1 | #include "TaskSwitcher.h" | ||
2 | |||
3 | TaskSwitcher::TaskSwitcher(const QString& kind) : m_kind(kind) | ||
4 | { | ||
5 | qDebug("TaskSwitcher::TaskSwitcher()"); | ||
6 | } | ||
7 | |||
8 | TaskSwitcher::~TaskSwitcher() | ||
9 | { | ||
10 | qDebug("TaskSwitcher::~TaskSwitcher()"); | ||
11 | } | ||
12 | |||
13 | bool TaskSwitcher::onKeyPress(int /*keycode*/) | ||
14 | { | ||
15 | if(m_applist.isEmpty()){ | ||
16 | /* get list */ | ||
17 | const QList<QWSWindow>& list = qwsServer->clientWindows(); | ||
18 | QWSWindow* w; | ||
19 | for(QListIterator<QWSWindow> it(list); (w=it.current()); ++it){ | ||
20 | if(w->isVisible()){ | ||
21 | QString app = w->client()->identity(); | ||
22 | qDebug("applist[%s]", app.latin1()); | ||
23 | if(app != NULL && m_applist.contains(app) == false){ | ||
24 | m_applist.append(app); | ||
25 | } | ||
26 | } | ||
27 | } | ||
28 | m_appit = m_applist.begin(); | ||
29 | } | ||
30 | if(m_applist.count() > 1){ | ||
31 | /* switch next */ | ||
32 | next(); | ||
33 | if(*m_appit == "launcher"){ | ||
34 | next(); | ||
35 | } | ||
36 | Global::execute(*m_appit); | ||
37 | } else if(m_applist.count() == 1 | ||
38 | && *m_appit != "launcher"){ | ||
39 | Global::execute(*m_appit); | ||
40 | } else { | ||
41 | qDebug("no applications"); | ||
42 | } | ||
43 | return(true); | ||
44 | } | ||
45 | |||
46 | bool TaskSwitcher::onModRelease(int /*keycode*/) | ||
47 | { | ||
48 | m_applist.clear(); | ||
49 | return(false); | ||
50 | } | ||
51 | |||
52 | void TaskSwitcher::next() | ||
53 | { | ||
54 | ++m_appit; | ||
55 | if(m_appit == m_applist.end()){ | ||
56 | m_appit = m_applist.begin(); | ||
57 | } | ||
58 | } | ||