diff options
Diffstat (limited to 'src/knutmessagemanager.h')
-rw-r--r-- | src/knutmessagemanager.h | 131 |
1 files changed, 131 insertions, 0 deletions
diff --git a/src/knutmessagemanager.h b/src/knutmessagemanager.h new file mode 100644 index 0000000..3267c6e --- /dev/null +++ b/src/knutmessagemanager.h @@ -0,0 +1,131 @@ +/*************************************************************************** + knutmessagemanager.h - description + ------------------- + begin : So led 24 2004 + copyright : (C) 2004 by Daniel Prynych + email : Daniel.Prynych@alo.cz + ***************************************************************************/ + +/*************************************************************************** + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation; either version 2 of the License, or * + * (at your option) any later version. * + * * + ***************************************************************************/ + +#ifndef KNUTMESSAGEMANAGER_H +#define KNUTMESSAGEMANAGER_H + +#include "knutmessage.h" + +#include <qobject.h> + +/** + *@author Daniel Prynych + */ + +namespace knc { + +enum LevelOfMessage { + infoLevel, // status RB, TRIM, CAL, TRIM + lowWarningLevel, // OVER, + warningLevel, // OB .. + errorLevel, // connection error + criticalLevel // Status BL, OFF + }; + + } + +class QString; + +/** + * Tato trida slouzi pro ovladani vyskakovacich oken (pop-up) + * Okno pracuji nezavisle na ostatnich oknech a NEPOZASTAVUJI jejich cinnost. + * + * @author Daniel Prynych + * @short window message manager + * @version 0.1 + */ +class KNutMessageManager : public QObject { + Q_OBJECT + public: +/** + * Konstruktor - vytvori instanci tridy. + * + * @since 0.1 + */ + KNutMessageManager( QObject *parent=0, const char *name=0); + +/** + * Destruktor. + * + * @since 0.1.1 + **/ + ~KNutMessageManager(); + +/** + * Pozada o zobrazeni okna. Pokud je zobrazeno okne s vyssi prioritou, neni funkce provedena. + * + * @param text Text of message, which will be showed in window + * + * @param text Text zpravy ktera se zobrazi v okne. + * @param messageLevel urcuje prioritu zpravy. + * @param useInfoIcon urcuje ktera icona se zobrazi. Pokud je nastaven na true, je vzdy zobrazena icona + * info, pokud je false je nastavena icona v zavislosti na priorite zpravy. + * + * @since 0.2 + **/ + void addMessage (QString text, knc::LevelOfMessage messageLevel = knc::infoLevel, bool useInfoIcon = false, bool useShortTimeOfValidity = false); + + +/** + * Close window, when one is existed + * Zrusi okno, pokud existuje; + * + * @since 0.1.1 + **/ + void deleteMessage (void); + + + private slots: + +/** + * @internal + * Je aktivovan, kdyz bylo pozadano o zruseni okna stisknutim praveho widgetu nebo vnejsimi udalostmi (KDE Logout). + * + * @since 0.1.2 + **/ + void slotFinishedMessage (void); + +/** + * @internal + * Je aktivovan, kdyz bylo pozadano o zruseni okna stsknutim OK nebo vyprsenim casoveho terminu + * + * @since 0.1.2 + **/ + void slotEndMessage (void); + + +/** + * @internal + / Is activated when window was moved + * Je aktivovan, kdyz bylo okno presunuto + * + * @since 0.1.2 + **/ + void slotMessageMoved (int x,int y); + + + private: + static const long int TimeOfValidity = 600; //600 sec or 10n min + static const long int ShortTimeOfValidity = 60; // 60 sec or one min + KNutMessage* m_myMess; + knc::LevelOfMessage m_myMessLevel; + int m_xPos; + int m_yPos; + + }; + +#endif |