author | alwin <alwin> | 2005-03-12 02:17:12 (UTC) |
---|---|---|
committer | alwin <alwin> | 2005-03-12 02:17:12 (UTC) |
commit | c30ae1086dfe8bebe1790161ba7df6c5472ded9f (patch) (side-by-side diff) | |
tree | 2d98b84fd3fd3aa0e78eec5eb039bbd9088008da | |
parent | f6fa2808753f84a66037d8ca4f62f7ce412a386b (diff) | |
download | opie-c30ae1086dfe8bebe1790161ba7df6c5472ded9f.zip opie-c30ae1086dfe8bebe1790161ba7df6c5472ded9f.tar.gz opie-c30ae1086dfe8bebe1790161ba7df6c5472ded9f.tar.bz2 |
if there are new mails the taskbar icon stays 'cause not all
machines have a (working) mail-LED and users wonders why them don't
get a notification.
Inserted a block for SIGPIPE - that would let opie crash otherwise if
happen.
-rw-r--r-- | noncore/net/mail/taskbarapplet/mailapplet.cpp | 16 | ||||
-rw-r--r-- | noncore/net/mail/taskbarapplet/mailapplet.h | 3 |
2 files changed, 11 insertions, 8 deletions
diff --git a/noncore/net/mail/taskbarapplet/mailapplet.cpp b/noncore/net/mail/taskbarapplet/mailapplet.cpp index 9c0d32f..ce1e7ac 100644 --- a/noncore/net/mail/taskbarapplet/mailapplet.cpp +++ b/noncore/net/mail/taskbarapplet/mailapplet.cpp @@ -9,30 +9,30 @@ #include <opie2/odevice.h> #include <libmailwrapper/settings.h> #include "mailapplet.h" /* UNIX */ #include <signal.h> using namespace Opie::Core; MailApplet::MailApplet( QWidget *parent ) -: QWidget( parent ) { +: QLabel( parent ) { m_config = new Config( "mail" ); m_config->setGroup( "Applet" ); - setFixedWidth( AppLnk::smallIconSize() ); + //setFixedWidth( AppLnk::smallIconSize() ); setFixedHeight( AppLnk::smallIconSize() ); hide(); m_newMails = 0; m_statusMail = 0l; /* for networking we must block SIGPIPE and Co. */ struct sigaction blocking_action,temp_action; blocking_action.sa_handler = SIG_IGN; sigemptyset(&(blocking_action.sa_mask)); blocking_action.sa_flags = 0; @@ -44,34 +44,37 @@ MailApplet::MailApplet( QWidget *parent ) } repaint( true ); } MailApplet::~MailApplet() { if ( m_statusMail ) delete m_statusMail; if ( m_config ) delete m_config; } -void MailApplet::paintEvent( QPaintEvent* ) { +void MailApplet::paintEvent( QPaintEvent*ev ) +{ QPainter p( this ); p.drawPixmap( 0, 0, Resource::loadPixmap( "mail/inbox" ) ); + QLabel::paintEvent(ev); +#if 0 QFont f( "vera", AppLnk::smallIconSize() ); QFontMetrics fm( f ); p.setFont( f ); p.setPen( Qt::blue ); p.drawText( AppLnk::smallIconSize()/3, AppLnk::smallIconSize() - 2, QString::number( m_newMails ) ); +#endif return; - } void MailApplet::mouseReleaseEvent( QMouseEvent* e ) { slotClicked(); } void MailApplet::slotClicked() { QCopEnvelope e( "QPE/System", "execute(QString)" ); e << QString( "opiemail" ); ODevice *device = ODevice::inst(); if ( !device-> ledList().isEmpty() ) { @@ -125,30 +128,29 @@ void MailApplet::slotCheck() { if ( !device->ledList().isEmpty() ) { OLed led = ( device->ledList().contains( Led_Mail ) ) ? Led_Mail : device->ledList()[0]; device->setLedState( led, device->ledStateList( led ).contains( Led_BlinkSlow ) ? Led_BlinkSlow : Led_On ); } } if ( m_config->readBoolEntry( "PlaySound", false ) ) device->playAlarmSound(); } Config cfg( "mail" ); cfg.setGroup( "Status" ); cfg.writeEntry( "newMails", m_newMails ); { - odebug << "QCop abschicken" << oendl; QCopEnvelope env( "QPE/Pim", "newMails(int)" ); env << m_newMails; } - odebug << "QCop abschicken done" << oendl; - repaint( true ); + setText(QString::number( m_newMails )); +// repaint( true ); } else { ODevice *device = ODevice::inst(); if ( !isHidden() ) hide(); if ( !device->ledList().isEmpty() ) { OLed led = ( device->ledList().contains( Led_Mail ) ) ? Led_Mail : device->ledList()[0]; device->setLedState( led, Led_Off ); } if ( newMailsOld != m_newMails ) { Config cfg( "mail" ); cfg.setGroup( "Status" ); diff --git a/noncore/net/mail/taskbarapplet/mailapplet.h b/noncore/net/mail/taskbarapplet/mailapplet.h index b4d3742..f28f274 100644 --- a/noncore/net/mail/taskbarapplet/mailapplet.h +++ b/noncore/net/mail/taskbarapplet/mailapplet.h @@ -1,23 +1,24 @@ #ifndef MAILAPPLET_H #define MAILAPPLET_H #include <qbutton.h> +#include <qlabel.h> #include <libmailwrapper/statusmail.h> class Config; class QTimer; -class MailApplet : public QWidget { +class MailApplet : public QLabel { Q_OBJECT public: MailApplet( QWidget *parent = 0 ); ~MailApplet(); protected: void gotNewMail(); void mouseReleaseEvent( QMouseEvent* ); void paintEvent( QPaintEvent* ); |