ayatana-commits team mailing list archive
-
ayatana-commits team
-
Mailing list archive
-
Message #00183
[Branch ~agateau/libindicate-qt/trunk] Rev 92: Added a new indicator to show count
------------------------------------------------------------
revno: 92
committer: Aurelien Gateau <aurelien.gateau@xxxxxxxxxxxxx>
branch nick: libindicate-qt
timestamp: Tue 2009-09-15 17:45:55 +0200
message:
Added a new indicator to show count
modified:
examples/qim-client.cpp
examples/qim-client.h
--
lp:libindicate-qt
https://code.launchpad.net/~agateau/libindicate-qt/trunk
Your team ayatana-commits is subscribed to branch lp:libindicate-qt.
To unsubscribe from this branch go to https://code.launchpad.net/~agateau/libindicate-qt/trunk/+edit-subscription.
=== modified file 'examples/qim-client.cpp'
--- examples/qim-client.cpp 2009-09-15 15:32:26 +0000
+++ examples/qim-client.cpp 2009-09-15 15:45:55 +0000
@@ -21,10 +21,15 @@
void Controller::slotServerDisplay()
{
qDebug() << "A listener wants us to display the server";
- if (mIndicator) {
- delete mIndicator;
- mIndicator = 0;
- QTimer::singleShot(2000, this, SLOT(createIndicator()));
+ if (mAttentionIndicator) {
+ delete mAttentionIndicator;
+ mAttentionIndicator = 0;
+ QTimer::singleShot(2000, this, SLOT(createAttentionIndicator()));
+ }
+ if (mCountIndicator) {
+ delete mCountIndicator;
+ mCountIndicator = 0;
+ QTimer::singleShot(2000, this, SLOT(createCountIndicator()));
}
}
@@ -38,51 +43,71 @@
qDebug() << __FUNCTION__ << interest;
}
-void Controller::createIndicator()
+void Controller::createAttentionIndicator()
{
- qDebug() << "Creating an indicator";
- mIndicator = new QIndicate::Indicator(this);
+ qDebug() << "Creating an attention indicator";
+ mAttentionIndicator = new QIndicate::Indicator(this);
mPos = (mPos + 1) % mUserList.count();
- mIndicator->setIndicatorProperty("name", mUserList[mPos]);
+ mAttentionIndicator->setIndicatorProperty("name", mUserList[mPos]);
- mIndicator->setIndicatorProperty("time", QDateTime::currentDateTime());
+ mAttentionIndicator->setIndicatorProperty("time", QDateTime::currentDateTime());
QImage image(SOURCE_DIR "/test.png");
- mIndicator->setIndicatorProperty("icon", image);
-
- QObject::connect(mIndicator, SIGNAL(display(QIndicate::Indicator*)),
- SLOT(slotIndicatorDisplay()));
-
- mIndicator->show();
-
- QTimer::singleShot(1000, this, SLOT(modifyIndicator()));
-}
-
-void Controller::modifyIndicator()
-{
- if (!mIndicator) {
+ mAttentionIndicator->setIndicatorProperty("icon", image);
+
+ QObject::connect(mAttentionIndicator, SIGNAL(display(QIndicate::Indicator*)),
+ SLOT(slotIndicatorDisplay(QIndicate::Indicator*)));
+
+ mAttentionIndicator->show();
+
+ QTimer::singleShot(1000, this, SLOT(modifyAttentionIndicator()));
+}
+
+void Controller::createCountIndicator()
+{
+ qDebug() << "Creating a count indicator";
+ mCountIndicator = new QIndicate::Indicator(this);
+
+ mCountIndicator->setIndicatorProperty("name", "Inbox");
+ mCountIndicator->setCountProperty(5);
+
+ QObject::connect(mCountIndicator, SIGNAL(display(QIndicate::Indicator*)),
+ SLOT(slotIndicatorDisplay(QIndicate::Indicator*)));
+
+ mCountIndicator->show();
+}
+
+void Controller::modifyAttentionIndicator()
+{
+ if (!mAttentionIndicator) {
return;
}
qDebug() << __FUNCTION__;
- bool attention = !mIndicator->drawAttentionProperty();
+ bool attention = !mAttentionIndicator->drawAttentionProperty();
QString message = attention
? " wants to talk to you now!"
: " does not want to talk anymore";
- mIndicator->setIndicatorProperty("name", mUserList[mPos] + message);
- mIndicator->setDrawAttentionProperty(attention);
+ mAttentionIndicator->setIndicatorProperty("name", mUserList[mPos] + message);
+ mAttentionIndicator->setDrawAttentionProperty(attention);
- QTimer::singleShot(2000, this, SLOT(modifyIndicator()));
+ QTimer::singleShot(2000, this, SLOT(modifyAttentionIndicator()));
}
-void Controller::slotIndicatorDisplay()
+void Controller::slotIndicatorDisplay(QIndicate::Indicator* indicator)
{
- qDebug() << "A listener wants us to display the indicator";
- Q_ASSERT(mIndicator);
- delete mIndicator;
- mIndicator = 0;
- QTimer::singleShot(2000, this, SLOT(createIndicator()));
+ qDebug() << "A listener wants us to display an indicator";
+ Q_ASSERT(indicator);
+ if (indicator == mCountIndicator) {
+ delete mCountIndicator;
+ mCountIndicator = 0;
+ QTimer::singleShot(2000, this, SLOT(createCountIndicator()));
+ } else {
+ delete mAttentionIndicator;
+ mAttentionIndicator = 0;
+ QTimer::singleShot(2000, this, SLOT(createAttentionIndicator()));
+ }
}
int main (int argc, char ** argv)
@@ -108,7 +133,8 @@
QObject::connect(server, SIGNAL(interestAdded(QIndicate::Interest)), &controller, SLOT(slotInterestAdded(QIndicate::Interest)));
QObject::connect(server, SIGNAL(interestRemoved(QIndicate::Interest)), &controller, SLOT(slotInterestRemoved(QIndicate::Interest)));
- controller.createIndicator();
+ controller.createAttentionIndicator();
+ controller.createCountIndicator();
return app.exec();
}
=== modified file 'examples/qim-client.h'
--- examples/qim-client.h 2009-07-29 14:39:34 +0000
+++ examples/qim-client.h 2009-09-15 15:45:55 +0000
@@ -26,15 +26,17 @@
}
public Q_SLOTS:
- void createIndicator();
- void modifyIndicator();
+ void createCountIndicator();
+ void createAttentionIndicator();
+ void modifyAttentionIndicator();
void slotServerDisplay();
void slotInterestAdded(QIndicate::Interest);
void slotInterestRemoved(QIndicate::Interest);
- void slotIndicatorDisplay();
+ void slotIndicatorDisplay(QIndicate::Indicator*);
public:
- QIndicate::Indicator* mIndicator;
+ QIndicate::Indicator* mCountIndicator;
+ QIndicate::Indicator* mAttentionIndicator;
QStringList mUserList;
int mPos;
};