1
/***************************************************************************
3
* Copyright (C) 2009 Marco Martin <notmart@gmail.com> *
5
* This program is free software; you can redistribute it and/or modify *
6
* it under the terms of the GNU General Public License as published by *
7
* the Free Software Foundation; either version 2 of the License, or *
8
* (at your option) any later version. *
10
* This program is distributed in the hope that it will be useful, *
11
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
12
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
13
* GNU General Public License for more details. *
15
* You should have received a copy of the GNU General Public License *
16
* along with this program; if not, write to the *
17
* Free Software Foundation, Inc., *
18
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA . *
19
***************************************************************************/
21
#ifndef DBUSSYSTEMTRAYTASK_H
22
#define DBUSSYSTEMTRAYTASK_H
24
#include "../../core/task.h"
26
#include <Plasma/DataEngine>
38
class DBusSystemTrayTaskPrivate;
40
class DBusSystemTrayTask : public Task
44
friend class DBusSystemTrayProtocol;
47
DBusSystemTrayTask(const QString &name, Plasma::DataEngine *service, QObject *parent);
48
~DBusSystemTrayTask();
50
QGraphicsWidget* createWidget(Plasma::Applet *host);
52
bool isEmbeddable() const;
53
virtual QString name() const;
54
virtual QString typeId() const;
55
virtual QIcon icon() const;
58
void syncToolTip(const QString &title, const QString &subTitle, const QIcon &toolTipIcon);
59
void syncMovie(const QString &);
60
void syncIcons(const Plasma::DataEngine::Data &properties);
63
void syncStatus(QString status);
64
void updateMovieFrame();
65
void blinkAttention();
66
void dataUpdated(const QString &taskName, const Plasma::DataEngine::Data &taskData);
70
QString m_serviceName;
76
QIcon m_attentionIcon;
77
QString m_attentionIconName;
80
Plasma::DataEngine *m_dataEngine;
81
Plasma::Service *m_service;
84
bool m_embeddable : 1;