-rw-r--r-- | core/pim/today/plugins/mail/mailpluginwidget.cpp | 38 | ||||
-rw-r--r-- | core/pim/today/plugins/mail/mailpluginwidget.h | 8 |
2 files changed, 35 insertions, 11 deletions
diff --git a/core/pim/today/plugins/mail/mailpluginwidget.cpp b/core/pim/today/plugins/mail/mailpluginwidget.cpp index 646996a..f717116 100644 --- a/core/pim/today/plugins/mail/mailpluginwidget.cpp +++ b/core/pim/today/plugins/mail/mailpluginwidget.cpp @@ -1,80 +1,98 @@ /* * mailpluginwidget.cpp * - * copyright : (c) 2002,2003 by Maximilian Reiß + * copyright : (c) 2002,2003,2004 by Maximilian Reiß * email : harlekin@handhelds.org * */ /*************************************************************************** * * * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * * the Free Software Foundation; either version 2 of the License, or * * (at your option) any later version. * * * ***************************************************************************/ #include <qpe/config.h> #include <qpe/qcopenvelope_qws.h> #include "mailpluginwidget.h" MailPluginWidget::MailPluginWidget( QWidget *parent, const char* name) : QWidget(parent, name ) { m_mailLabel = 0l; m_layout = 0l; if ( m_mailLabel ) { delete m_mailLabel; } m_mailLabel = new OClickableLabel( this ); - //m_mailLabel->setMaximumHeight( 15 ); connect( m_mailLabel, SIGNAL( clicked() ), this, SLOT( startMail() ) ); if ( m_layout ) { delete m_layout; } m_layout = new QHBoxLayout( this ); m_layout->setAutoAdd( true ); + +#if defined(Q_WS_QWS) +#if !defined(QT_NO_COP) + QCopChannel *qCopChannel = new QCopChannel( "QPE/Pim" , this ); + connect ( qCopChannel, SIGNAL( received( const QCString &, const QByteArray &) ), + this, SLOT ( channelReceived( const QCString &, const QByteArray &) ) ); +#endif +#endif + readConfig(); getInfo(); } + +void MailPluginWidget::channelReceived( const QCString &msg, const QByteArray & data ) { + QDataStream stream( data, IO_ReadOnly ); + if ( msg == "outgoingMails(int)" ) { + stream >> m_outgoing; + } else if ( msg == "newMails(int)" ) { + stream >> m_newMails; + } + getInfo(); +} MailPluginWidget::~MailPluginWidget() { delete m_mailLabel; delete m_layout; } void MailPluginWidget::readConfig() { Config cfg( "todaymailplugin" ); cfg.setGroup( "config" ); + + Config cfg2( "mail" ); + cfg2.setGroup( "Status" ); + + m_newMails = cfg2.readNumEntry( "newmails", 0 ); + m_outgoing = cfg2.readNumEntry( "outgoing", 0 ); } void MailPluginWidget::refresh() { getInfo(); } void MailPluginWidget::getInfo() { - Config cfg( "opiemail" ); - cfg.setGroup( "today" ); - - int NEW_MAILS = cfg.readNumEntry( "newmails", 0 ); - int OUTGOING = cfg.readNumEntry( "outgoing", 0 ); - //QString output = QObject::tr( "<b>%1</b> new mail(s), <b>%2</b> outgoing" ).arg( NEW_MAILS ).arg( OUTGOING ); - m_mailLabel->setText( QObject::tr( "<b>%1</b> new mail(s), <b>%2</b> outgoing" ).arg( NEW_MAILS ).arg( OUTGOING ) ); + m_mailLabel->setText( QObject::tr( "<b>%1</b> new mail(s), <b>%2</b> outgoing" ).arg( m_newMails ).arg( m_outgoing ) ); } /** * launches datebook */ void MailPluginWidget::startMail() { QCopEnvelope e("QPE/System", "execute(QString)"); - e << QString( "mail" ); + e << QString( "opiemail" ); } diff --git a/core/pim/today/plugins/mail/mailpluginwidget.h b/core/pim/today/plugins/mail/mailpluginwidget.h index a3b1388..6d16d2c 100644 --- a/core/pim/today/plugins/mail/mailpluginwidget.h +++ b/core/pim/today/plugins/mail/mailpluginwidget.h @@ -1,20 +1,20 @@ /* * mailpluginwidget.h * - * copyright : (c) 2002,2003 by Maximilian Reiß + * copyright : (c) 2002,2003,2004 by Maximilian Reiß * email : harlekin@handhelds.org * */ /*************************************************************************** * * * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * * the Free Software Foundation; either version 2 of the License, or * * (at your option) any later version. * * * ***************************************************************************/ #ifndef MAIL_PLUGIN_WIDGET_H #define MAIL_PLUGIN_WIDGET_H #include <qlayout.h> @@ -26,19 +26,25 @@ class MailPluginWidget : public QWidget { Q_OBJECT public: MailPluginWidget( QWidget *parent, const char *name ); ~MailPluginWidget(); void refresh(); protected slots: void startMail(); private: OClickableLabel* m_mailLabel; QHBoxLayout* m_layout; void readConfig(); void getInfo(); + + int m_newMails; + int m_outgoing; + +private slots: + void channelReceived(const QCString &msg, const QByteArray & data); }; #endif |