/*************************************************************************** * $Id$ ** * Copyright (C) 1992-2000 Trolltech AS. All rights reserved. ** * This file is part of an example program for Qt. This example * program may be used, distributed and modified without limitation. ** ****************************************************************************/ import org.trinitydesktop.qt.*; import java.util.Calendar; class Biff extends TQWidget { private Calendar lastModified; private TQPixmap hasNewMail = new TQPixmap(); private TQPixmap noNewMail = new TQPixmap(); private String mailbox; private boolean gotMail; public Biff( ) { this(null, null); } public Biff( TQWidget parent, String name ) { super( parent, name, WType_Modal ); // TQFileInfo fi = new TQFileInfo(System.getProperty("MAIL")); TQFileInfo fi = new TQFileInfo(""); if ( !fi.exists() ) { String s = "/var/spool/mail/"; s += System.getProperty("user.name"); fi.setFile( s ); } if ( fi.exists() ) { mailbox = fi.absFilePath(); startTimer( 1000 ); } setMinimumSize( 48, 48 ); setMaximumSize( 48, 48 ); resize( 48, 48 ); hasNewMail.loadFromData( bmp.hasmail_bmp_data ); noNewMail.loadFromData( bmp.nomail_bmp_data ); gotMail = false; lastModified = fi.lastModified(); } protected void timerEvent( TQTimerEvent event ) { TQFileInfo fi = new TQFileInfo( mailbox ); boolean newState = ( fi.lastModified() != lastModified && fi.lastModified().after( fi.lastRead() ) ); if ( newState != gotMail ) { if ( gotMail ) lastModified = fi.lastModified(); gotMail = newState; repaint( false ); } } protected void paintEvent( TQPaintEvent event ) { if ( gotMail ) bitBlt( this, 0, 0, hasNewMail ); else bitBlt( this, 0, 0, noNewMail ); } protected void mousePressEvent( TQMouseEvent event ) { TQFileInfo fi = new TQFileInfo( mailbox ); lastModified = fi.lastModified(); } }