KWin
Loading...
Searching...
No Matches
activities.h
Go to the documentation of this file.
1/*
2 KWin - the KDE window manager
3 This file is part of the KDE project.
4
5 SPDX-FileCopyrightText: 2013 Martin Gräßlin <mgraesslin@kde.org>
6
7 SPDX-License-Identifier: GPL-2.0-or-later
8*/
9#pragma once
10
11#include <QObject>
12#include <QStringList>
13#include <kwin_export.h>
14
15#include <PlasmaActivities/Controller>
16
17namespace KActivities
18{
19class Controller;
20}
21
22namespace KWin
23{
24class Window;
25
26class KWIN_EXPORT Activities : public QObject
27{
28 Q_OBJECT
29
30public:
31 explicit Activities();
32
33 bool stop(const QString &id);
34 bool start(const QString &id);
35 void setCurrent(const QString &activity);
41 void toggleWindowOnActivity(Window *window, const QString &activity, bool dont_activate);
42
43 QStringList running() const;
44 QStringList all() const;
45 const QString &current() const;
46 const QString &previous() const;
47
48 static QString nullUuid();
49
50 KActivities::Controller::ServiceStatus serviceStatus() const;
51
52Q_SIGNALS:
58 void currentChanged(const QString &id);
63 void added(const QString &id);
69 void removed(const QString &id);
70
71private Q_SLOTS:
72 void slotServiceStatusChanged();
73 void slotRemoved(const QString &activity);
74 void slotCurrentChanged(const QString &newActivity);
75 void reallyStop(const QString &id); // dbus deadlocks suck
76
77private:
78 QString m_previous;
79 QString m_current;
80 KActivities::Controller *m_controller;
81};
82
83inline QStringList Activities::all() const
84{
85 return m_controller->activities();
86}
87
88inline const QString &Activities::current() const
89{
90 return m_current;
91}
92
93inline const QString &Activities::previous() const
94{
95 return m_previous;
96}
97
98inline QStringList Activities::running() const
99{
100 return m_controller->activities(KActivities::Info::Running);
101}
102
103inline QString Activities::nullUuid()
104{
105 // cloned from kactivities/src/lib/core/consumer.cpp
106 return QStringLiteral("00000000-0000-0000-0000-000000000000");
107}
108
109}
void added(const QString &id)
const QString & current() const
Definition activities.h:88
QStringList all() const
Definition activities.h:83
QStringList running() const
Definition activities.h:98
static QString nullUuid()
Definition activities.h:103
void currentChanged(const QString &id)
void removed(const QString &id)
const QString & previous() const
Definition activities.h:93