summaryrefslogtreecommitdiffstats
path: root/kcontrol/info/memory.h
blob: 7f6778c75f9127dc6fa065c363c43a78b64fdf89 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
#ifndef _MEMORY_H_KDEINFO_INCLUDED_
#define _MEMORY_H_KDEINFO_INCLUDED_

#include <qwidget.h>
#include <qframe.h>
#include <qlabel.h>
#include <qtabdialog.h>
#include <qpushbutton.h>
#include <qtimer.h>

#include <kcmodule.h>
#include <kaboutdata.h>
#include <config.h>

#ifdef HAVE_LONG_LONG
/* better to use long-long, because some 32bit-machines have more total 
   memory (with swap) than just the 4GB which fits into a 32bit-long */
typedef unsigned long long t_memsize;
#else
typedef unsigned long t_memsize;
#endif

#define COLOR_USED_MEMORY QColor(255,0,0)
#define COLOR_USED_SWAP   QColor(255,134,64)
#define COLOR_FREE_MEMORY QColor(127,255,212)

class KMemoryWidget:public KCModule {
  Q_OBJECT 
	  
  public:
    KMemoryWidget(QWidget * parent, const char *name = 0);
    ~KMemoryWidget();

    QString quickHelp() const;

  private:
    QString Not_Available_Text;
    QTimer *timer;

    bool ram_colors_initialized,
	swap_colors_initialized, 
	all_colors_initialized;

    QColor ram_colors[4];
    QString ram_text[4];
    
    QColor swap_colors[2];
    QString swap_text[2];
    
    QColor all_colors[3];
    QString all_text[3];

    void update();

    bool Display_Graph(int widgetindex,
		      int count,
		      t_memsize total,
		      t_memsize *used, 
		      QColor *color,
		      QString *text);
    public slots:
    void update_Values();
};


#endif // _MEMORY_H_KDEINFO_INCLUDED_