File: physicalMemoryChart.cpp

package info (click to toggle)
kde-workspace 4%3A4.8.4-6
  • links: PTS, VCS
  • area: main
  • in suites: wheezy
  • size: 89,920 kB
  • sloc: cpp: 373,584; ansic: 35,020; xml: 7,435; perl: 1,550; sh: 1,329; ruby: 1,135; python: 646; asm: 566; makefile: 38
file content (63 lines) | stat: -rw-r--r-- 2,253 bytes parent folder | download | duplicates (3)
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
/***************************************************************************
 *   KT list view item task implementation.                                *
 *   --------------------------------------------------------------------  *
 *   Copyright (C) 1999, Gary Meyer <gary@meyer.net>                       *
 *   --------------------------------------------------------------------  *
 *   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.                                   *
 ***************************************************************************/

#include "physicalMemoryChart.h"

#include <klocale.h>
#include <kdebug.h>

#include "base.h"


PhysicalMemoryChart::PhysicalMemoryChart(QWidget* parent) :
	Chart(parent) {

	colorsInitialized = false;
}

void PhysicalMemoryChart::paintEvent(QPaintEvent* /*event*/) {
	/* RAM usage: */
	/* don't rely on the SHARED_MEM value since it may refer to
	 * the size of the System V sharedmem in 2.4.x. Calculate instead! */

	t_memsize bufferMemory;
	
	bufferMemory = 0;
#if !defined(__svr4__) || !defined(sun)
#if !defined(__NetBSD__) && !defined(__OpenBSD__)
	bufferMemory = ZERO_IF_NO_INFO(memoryInfos[BUFFER_MEM]);
#endif
#endif
	t_memsize cachedMemory = ZERO_IF_NO_INFO(memoryInfos[CACHED_MEM]);
	t_memsize freeMemory = ZERO_IF_NO_INFO(memoryInfos[FREE_MEM]);
	t_memsize totalMemory = ZERO_IF_NO_INFO(memoryInfos[TOTAL_MEM]) - bufferMemory - cachedMemory - freeMemory;
	
	QList<t_memsize> used;
	used.append(freeMemory);
	used.append(cachedMemory);
	used.append(bufferMemory);
	used.append(totalMemory);
	
	if (!colorsInitialized) {
		colorsInitialized = true;
		texts.append(i18n("Free Physical Memory"));
		colors.append(COLOR_FREE_MEMORY); // free 
		texts.append(i18n("Disk Cache"));
		colors.append(QColor(88, 176, 36)); // cached 
		texts.append(i18n("Disk Buffers"));
		colors.append(QColor(118, 237, 49)); // buffer
		texts.append(i18n("Application Data"));
		colors.append(COLOR_USED_MEMORY); // used+shared
	}
	
	drawChart(memoryInfos[TOTAL_MEM], used, colors, texts);

}