File: activityinfo.h

package info (click to toggle)
plasma-workspace 4%3A6.3.6-2
  • links: PTS, VCS
  • area: main
  • in suites: trixie
  • size: 104,900 kB
  • sloc: cpp: 125,434; xml: 31,579; python: 3,976; perl: 572; sh: 234; javascript: 74; ruby: 39; ansic: 13; makefile: 9
file content (96 lines) | stat: -rw-r--r-- 2,420 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
/*
    SPDX-FileCopyrightText: 2016 Eike Hein <hein@kde.org>

    SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL
*/

#pragma once

#include <QObject>
#include <qqmlregistration.h>

#include <memory>

#include "taskmanager_export.h"

namespace TaskManager
{
/**
 * @short Provides basic activity information.
 *
 * This class provides basic information about the activities defined in
 * the system.
 *
 * @NOTE: This is a placeholder, to be moved into KActivities (which it
 * wraps) or the Task Manager applet backend.
 *
 * @see KActivities
 *
 * @author Eike Hein <hein@kde.org>
 **/

class TASKMANAGER_EXPORT ActivityInfo : public QObject
{
    Q_OBJECT
    QML_ELEMENT

    Q_PROPERTY(QString currentActivity READ currentActivity NOTIFY currentActivityChanged)
    Q_PROPERTY(int numberOfRunningActivities READ numberOfRunningActivities NOTIFY numberOfRunningActivitiesChanged)

public:
    explicit ActivityInfo(QObject *parent = nullptr);
    ~ActivityInfo() override;

    /**
     * The currently active virtual desktop.
     *
     * @returns the number of the currently active virtual desktop.
     **/
    QString currentActivity() const;

    /**
     * The number of currently-running activities defined in the session.
     *
     * @returns the number of activities defined in the session.
     **/
    int numberOfRunningActivities() const;

    /**
     * The list of currently-running activities defined in the session.
     *
     * @returns the list of currently-running activities defined in the session.
     **/
    Q_INVOKABLE QStringList runningActivities() const;

    /**
     * The name of the activity of the given id.
     *
     * @param id An activity id string.
     * @returns the name of the activity of the given id.
     **/
    Q_INVOKABLE QString activityName(const QString &id);

    /**
     * The icon of the activity of the given id.
     *
     * @param id An activity id string.
     * @returns the name or file path of the activity of the given id.
     **/
    Q_INVOKABLE QString activityIcon(const QString &id);

Q_SIGNALS:
    void currentActivityChanged() const;
    void numberOfRunningActivitiesChanged() const;

    /**
     * The names of the running activities have changed.
     * @since 5.40.0
     **/
    void namesOfRunningActivitiesChanged() const;

private:
    class Private;
    std::unique_ptr<Private> d;
};

}