00001 
00002 
00003 
00004 
00005 
00006 
00007 
00008 
00009 
00010 
00011 
00012 
00013 
00014 
00015 
00016 
00017 
00018 #include <tqpixmap.h>
00019 #include <tqpainter.h>
00020 #include <tqtooltip.h>
00021 
00022 #include <tdepopupmenu.h>
00023 #include <tdestandarddirs.h>
00024 #include <tdeglobalsettings.h>
00025 #include <tdelocale.h>
00026 #include <kdebug.h>
00027 
00028 #include "kshowmail.h"
00029 #include "kshowmaildock.h"
00030 
00031 KShowMailDock::KShowMailDock(TQWidget* parent, TDEAction *actionRefresh )
00032 : KSystemTray (parent, 0),
00033       m_background (TQPixmap(::locate ("data", "kshowmail/pics/kshowmail24.png")))
00034 {
00035 
00036   drawText ("?", TQt::red);
00037   TQToolTip::add (this, i18n("KShowmail: a powerful pop3 email checker"));
00038 
00039   show();
00040 
00041   actionRefresh->plug( contextMenu() );
00042   
00043   connect (contextMenu(),TQ_SIGNAL(activated(int)),this, TQ_SIGNAL(sigActivated(int)));
00044   connect (contextMenu(),TQ_SIGNAL(highlighted(int)),this, TQ_SIGNAL(sigHighlighted(int)));
00045 }
00046 
00047 void KShowMailDock::drawText (const TQString str, const TQColor& color)
00048 {
00049   setPixmap (m_background);
00050   TQPixmap* pix = pixmap ();
00051    if (pix && !pix->isNull ())
00052   {
00053     TQPainter p (pix);
00054 
00055      p.setFont (TDEGlobalSettings::windowTitleFont());
00056     p.setPen (color);
00057      p.drawText  (0,0,24,24,TQPainter::AlignCenter,str,str.length());
00058   }
00059   else
00060     kdError () << "No pixmap for traybar !" << endl;
00061 }
00062 
00063 void KShowMailDock::drawNumber (int n, const TQColor& color)
00064 {
00065   setPixmap (m_background);
00066   TQPixmap* pix = pixmap ();
00067    if (pix && !pix->isNull ())
00068   {
00069     TQString num (TQString::number(n));
00070     TQPainter p (pix);
00071      p.setFont (TDEGlobalSettings::toolBarFont());
00072     p.setPen (color);
00073      p.drawText  (0,0,24,24,TQPainter::AlignCenter,num,num.length());
00074   }
00075   else
00076     kdError () << "No pixmap for traybar !" << endl;
00077 }
00078 
00079 void KShowMailDock::clear ()
00080 {
00081   setPixmap (m_background);
00082 }
00083