File indexing completed on 2024-05-12 16:59:36

0001 /*
0002  *   SPDX-FileCopyrightText: 2011 Aaron Seigo <aseigo@kde.org>
0003  *
0004  *   SPDX-License-Identifier: LGPL-2.0-or-later
0005  */
0006 
0007 #ifndef CONTENTTRACKER_H
0008 #define CONTENTTRACKER_H
0009 
0010 #include <QObject>
0011 #include <QPointer>
0012 
0013 class OrgKdeActivityManagerSLCInterface;
0014 
0015 class ContentTracker : public QObject
0016 {
0017     Q_OBJECT
0018     Q_PROPERTY(QString uri READ uri NOTIFY changed)
0019     Q_PROPERTY(QString mimeType READ mimeType NOTIFY changed)
0020     Q_PROPERTY(QString title READ title NOTIFY changed)
0021 
0022 public:
0023     explicit ContentTracker(QObject *parent = nullptr);
0024     ~ContentTracker() override;
0025 
0026     QString uri() const;
0027     QString mimeType() const;
0028     QString title() const;
0029 
0030 Q_SIGNALS:
0031     void changed();
0032 
0033 protected:
0034     void connectToActivityManager();
0035 
0036 private Q_SLOTS:
0037     void focusChanged(const QString &uri, const QString &mimetype, const QString &title);
0038     void serviceChange(const QString &name, const QString &oldOwner, const QString &newOwner);
0039 
0040 private:
0041     QPointer<OrgKdeActivityManagerSLCInterface> m_activityManagerIface;
0042     QString m_uri;
0043     QString m_mimetype;
0044     QString m_title;
0045     int m_window;
0046 };
0047 
0048 #endif