Back to index

kdeartwork  4.3.2
banner.h
Go to the documentation of this file.
00001 //-----------------------------------------------------------------------------
00002 //
00003 // kbanner - Basic screen saver for KDE
00004 //
00005 // Copyright (c)  Martin R. Jones 1996
00006 //
00007 
00008 #ifndef BANNER_H
00009 #define BANNER_H
00010 
00011 #include <qtimer.h>
00012 
00013 #include <kscreensaver.h>
00014 #include <kdialog.h>
00015 
00016 #define SATURATION 150
00017 #define VALUE 255
00018 
00019 class QLineEdit;
00020 class KColorButton;
00021 class KRandomSequence;
00022 
00023 class KBannerSaver : public KScreenSaver
00024 {
00025     Q_OBJECT
00026 public:
00027     KBannerSaver( WId id );
00028     virtual ~KBannerSaver();
00029 
00030     void setSpeed( int spd );
00031     void setFont( const QString &family, int size, const QColor &color,
00032                   bool b, bool i );
00033     void setMessage( const QString &msg );
00034     void setTimeDisplay();
00035     void setCyclingColor(bool on);
00036     void setColor( QColor &color);
00037 
00038 private:
00039     void readSettings();
00040     void initialize();
00041 
00042 protected slots:
00043     void slotTimeout();
00044 
00045 protected:
00046     void paintEvent(QPaintEvent *event);
00047 
00048     QFont   font;
00049     QTimer    timer;
00050     QString   fontFamily;
00051     int              fontSize;
00052     bool      bold;
00053     bool      italic;
00054     QColor    fontColor;
00055     bool      cyclingColor;
00056     int              currentHue;
00057     bool      needUpdate;
00058     QString   message;
00059     bool      showTime;
00060     int              xpos, ypos, step, fsize;
00061     KRandomSequence *krnd;
00062     int              speed;
00063     QPixmap   pixmap;
00064     QSize     pixmapSize;
00065 };
00066 
00067 
00068 class KBannerSetup : public KDialog
00069 {
00070     Q_OBJECT
00071 public:
00072     KBannerSetup( QWidget *parent = NULL );
00073 
00074 protected:
00075     void readSettings();
00076     void fillFontSizes();
00077 
00078 private slots:
00079     void slotFamily( const QFont & );
00080     void slotSize( int );
00081     void slotSizeEdit(const QString &);
00082     void slotColor(const QColor &);
00083     void slotCyclingColor(bool on);
00084     void slotBold( bool );
00085     void slotItalic( bool );
00086     void slotSpeed( int );
00087     void slotMessage( const QString & );
00088     void slotOk();
00089     void slotHelp();
00090     void slotTimeToggled(bool on);
00091 
00092 private:
00093     QWidget *preview;
00094     KColorButton *colorPush;
00095     KBannerSaver *saver;
00096     QLineEdit *ed;
00097     QComboBox* comboSizes;
00098 
00099     QString message;
00100     bool    showTime;
00101     QString fontFamily;
00102     int           fontSize;
00103     QColor  fontColor;
00104     bool    cyclingColor;
00105     bool    bold;
00106     bool    italic;
00107     int           speed;
00108     QList<int> sizes;
00109 };
00110 
00111 #endif
00112