summaryrefslogtreecommitdiffstats
path: root/src/knutmessagemanager.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/knutmessagemanager.h')
-rw-r--r--src/knutmessagemanager.h131
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