diff options
Diffstat (limited to 'qtjava/javalib/examples/biff/Biff.java')
-rw-r--r-- | qtjava/javalib/examples/biff/Biff.java | 80 |
1 files changed, 80 insertions, 0 deletions
diff --git a/qtjava/javalib/examples/biff/Biff.java b/qtjava/javalib/examples/biff/Biff.java new file mode 100644 index 00000000..b3107da4 --- /dev/null +++ b/qtjava/javalib/examples/biff/Biff.java @@ -0,0 +1,80 @@ +/*************************************************************************** +* $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.kde.qt.*; +import java.util.Calendar; + +class Biff extends QWidget +{ +private Calendar lastModified; +private QPixmap hasNewMail = new QPixmap(); +private QPixmap noNewMail = new QPixmap(); +private String mailbox; +private boolean gotMail; + +public Biff( ) +{ + this(null, null); +} +public Biff( QWidget parent, String name ) +{ + super( parent, name, WType_Modal ); +// QFileInfo fi = new QFileInfo(System.getProperty("MAIL")); + QFileInfo fi = new QFileInfo(""); + 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( QTimerEvent event ) +{ + QFileInfo fi = new QFileInfo( 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( QPaintEvent event ) +{ + if ( gotMail ) + bitBlt( this, 0, 0, hasNewMail ); + else + bitBlt( this, 0, 0, noNewMail ); +} + + +protected void mousePressEvent( QMouseEvent event ) +{ + QFileInfo fi = new QFileInfo( mailbox ); + lastModified = fi.lastModified(); +} +} |