Pimcommon

activitiesbasemanager.h
1/*
2 SPDX-FileCopyrightText: 2024-2025 Laurent Montel <montel@kde.org>
3
4 SPDX-License-Identifier: LGPL-2.0-or-later
5*/
6
7#pragma once
8
9#include "pimcommonactivities_export.h"
10#include <QObject>
11namespace KActivities
12{
13class Consumer;
14}
15namespace PimCommonActivities
16{
17class PIMCOMMONACTIVITIES_EXPORT ActivitiesBaseManager : public QObject
18{
19 Q_OBJECT
20public:
21 struct ActivitySettings {
22 QStringList activities;
23 bool enabled = false;
24 [[nodiscard]] bool contains(const QString &str) const;
25
26 void changeActivities(bool added, const QString &currentActivity);
27 };
28
29 explicit ActivitiesBaseManager(QObject *parent = nullptr);
30 ~ActivitiesBaseManager() override;
31
32 [[nodiscard]] bool isInCurrentActivity(const QStringList &lst) const;
33
34 [[nodiscard]] QString currentActivity() const;
35
36 [[nodiscard]] bool enabled() const;
37 void setEnabled(bool newEnabled);
38
39Q_SIGNALS:
40 void activitiesChanged();
41
42private:
43 KActivities::Consumer *const mActivitiesConsumer;
44 bool mEnabled = false;
45};
46}
47PIMCOMMONACTIVITIES_EXPORT QDebug operator<<(QDebug d, const PimCommonActivities::ActivitiesBaseManager::ActivitySettings &t);
This file is part of the KDE documentation.
Documentation copyright © 1996-2025 The KDE developers.
Generated on Fri Feb 28 2025 11:49:51 by doxygen 1.13.2 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.