39
45
//#include <iostream>
41
KNutDock::KNutDock(KNutVarData::upsInfoDef* activeUpsInfo, KNutVarData::SettingDataDef* settingData, KNutUpsData* upsRecords){
47
KNutDock::KNutDock(KNutVarData::upsInfoDef* activeUpsInfo, KNutVarData::SettingDataDef* settingData, KNutUpsData* upsRecords, QWidget* ) : KSystemTrayIcon (NULL) {
44
50
m_settingData = settingData;
45
51
m_upsRecords = upsRecords;
46
52
m_activeUpsInfo = activeUpsInfo;
48
//saves backgroundcolor of kicker
49
backgroundColor = paletteBackgroundColor();
54
//saves backgroundcolor of kicker
55
//+++++++ bude potreba zjistit tuto hodnotu odjinut
56
KColorScheme sysTrayColorScheme(QPalette::Active,KColorScheme::View);
58
m_backgroundGlobalBrush = sysTrayColorScheme.background(KColorScheme::NormalBackground);
60
m_textBrush = sysTrayColorScheme.foreground(KColorScheme::NormalText);
61
m_textColor = m_textBrush.color();
62
//m_textBrush.setColor();
51
64
m_typeOfIcon = m_settingData->typeOfKIcon;
53
if (!m_settingData->customKIconColor) m_myBGColor = backgroundColor;
54
else m_myBGColor = m_settingData->kIconBackgroundColor;
56
m_toolTipFlags=m_settingData->toolTipFlags;
66
if (!m_settingData->customKIconColor) {
67
m_backgroundBrush = m_backgroundGlobalBrush;
70
m_backgroundBrush = QBrush(m_settingData->kIconBackgroundColor);
74
m_toolTipFlags=m_settingData->toolTipDockFlags;
61
KIconLoader *loader = KGlobal::iconLoader();
62
m_mainPix = loader->loadIcon ("knutclient",KIcon::Small,16);
64
// aplications's own icons
65
m_errorPix = UserIcon ("knc_error");
66
m_connectPix = UserIcon ("knc_conn");
67
m_upsPix = UserIcon ("knc_ups");
68
m_battPix = UserIcon ("knc_batt");
75
m_loadLayer = new QPixmap(24,24);
76
m_chargeLayer = new QPixmap(24,24);
77
m_mainLayer = new QPixmap(24,24);
83
m_mainLayer = new QImage(22,22,QImage::Format_ARGB32);
84
m_backgroundLayer = new QImage(22,22,QImage::Format_ARGB32);
85
setIconBackgroundLayer();
88
setToolTip("KNutClient");
81
90
changeKIcon(); // this function calls function repaintIcon
92
// Uses own working of signal activated because in parent class signal activated is connected to activatedOrHide,
93
// but procedure activatedOrHide doesn't work when parent object is 0.
94
connect (this, SIGNAL (activated ( QSystemTrayIcon::ActivationReason )), this, SLOT(slotActivated ( QSystemTrayIcon::ActivationReason )));
86
98
KNutDock::~KNutDock(){
88
if (m_statusLayer) delete m_statusLayer;
89
if (m_runtimeLayer) delete m_runtimeLayer;
93
100
delete m_mainLayer;
95
delete m_upsServerMenu;
101
delete m_backgroundLayer;
107
void KNutDock::loadIcons (void) {
108
m_errorIcon = KIcon(UserIcon("knc_error"));
109
m_connectionIcon = KIcon (UserIcon("knc_conn"));
111
m_idleIcon = KIcon (UserIcon("knc_main.png"));
115
void KNutDock::setIconBackgroundLayer (void) {
117
paint.begin(m_backgroundLayer);
118
paint.fillRect(QRect(0,0,22,22),m_backgroundBrush);
123
void KNutDock::loadImages (void) {
124
// aplications's own icons -- there are beckground for dock icons
125
m_upsPix = UserIcon("knc_ups").toImage();
126
m_battPix = UserIcon("knc_batt").toImage();
99
130
void KNutDock::changeUps (void) {
101
132
m_upsServerMenu->clear();
106
137
void KNutDock::clearDockValues(void){
108
initImage(); // paints standart icon
140
initSysTrayImage(); // paints standart icon
115
144
void KNutDock::changeToolTip(void){
117
m_toolTipFlags=m_settingData->toolTipFlags;
146
m_toolTipFlags=m_settingData->toolTipDockFlags;
118
147
toolTip(m_runtimeValue, m_statusValue, m_batteryChargeValue, m_upsLoadValue);
122
151
void KNutDock::changeKIBColor(void) {
124
if (!m_settingData->customKIconColor) m_myBGColor = backgroundColor;
125
else m_myBGColor = m_settingData->kIconBackgroundColor; // uses defined color
153
if (!m_settingData->customKIconColor) {
154
m_backgroundBrush = m_backgroundGlobalBrush;
157
m_backgroundBrush = QBrush(m_settingData->kIconBackgroundColor);
159
setIconBackgroundLayer();
127
160
repaintDock(true);
130
163
void KNutDock::changeKIcon (void) {
132
164
m_typeOfIcon = m_settingData->typeOfKIcon;
133
if ( m_typeOfIcon == generalKI) {
137
m_mainLayer=new QPixmap(24,24);
140
if (!m_statusLayer) {
141
m_statusLayer = new QPixmap(24,24);
143
if (!m_runtimeLayer) {
144
m_runtimeLayer = new QPixmap(24,24);
146
paintStatus(m_statusValue);
147
paintRuntime(m_runtimeValue, m_statusValue);
149
else { // picture Icon
150
delete m_statusLayer;
152
delete m_runtimeLayer;
155
paintLoad(m_upsLoadValue);
156
paintCharge(m_batteryChargeValue);
158
166
m_statusWarningValue = m_statusValue & (KNutNet::CAL | KNutNet::TRIM | KNutNet::BOOST
159
167
| KNutNet::OVER | KNutNet::RB);
160
168
repaintDock(true);
163
void KNutDock::initImage(void) {
164
setPixmap(m_mainPix);
166
m_dataOkOld = m_dataOk;
171
void KNutDock::initSysTrayImage(void) {
173
m_dataOk = m_dataOkOld= idle; //status of ups connecting -- ups isn't connected
169
176
void KNutDock::setNewUPS(void) {
175
181
void KNutDock::repaintDock (const bool always) {
183
if (m_activeUpsInfo->upsNet == 0) return;
185
m_dataOkOld=m_dataOk;
187
if (m_activeUpsInfo->netError) m_dataOk = error; // error is value not variable
188
else { // makes OKIcon when is needed and sets m_dataOk - status of Icon
189
if ((m_activeUpsInfo->upsNet->getState() == KNutNet::Connected) &&
190
(m_activeUpsInfo->upsNet->readStatus() != KNutNet::NS)) { // paints icons with information values //m_statusValue : NS is NONE STATUS
192
if (dataValueIsChanged() || always) makeOkIcon();
193
toolTip(m_runtimeValue, m_statusValue, m_batteryChargeValue, m_upsLoadValue);
196
if ((m_activeUpsInfo->upsNet->getState() == KNutNet::Connecting) ||
197
(m_activeUpsInfo->upsNet->getState() == KNutNet::HostLookup))
198
m_dataOk = connecting;
199
else m_dataOk = idle;
203
if (m_dataOk == ok) {
204
setIcon(KIcon( QPixmap::fromImage(*m_mainLayer)));
207
if ((m_dataOk != m_dataOkOld) or always) {
208
toolTip(0, -1, 0, 0);
209
m_dataOkOld=m_dataOk;
210
if (m_dataOk == connecting) setIcon(m_connectionIcon); // knutNet is in connecting state
212
if (m_dataOk == error) setIcon(m_errorIcon); // knutNet is in error state
214
setIcon(m_idleIcon); // knutNet is in idle state
222
bool KNutDock::dataValueIsChanged(void) {
176
225
QString nutStringVar;
228
int myStatusBatValue;
177
229
int myRuntimeValue;
178
230
int myUpsLoadValue;
180
int myStatusBatValue;
181
231
int myBatteryChargeValue;
182
bool repaintNow = false;
183
// value repaintNow is seted when some ups values are changed
189
if (m_activeUpsInfo->upsNet == 0) { repaint(); return;}
191
m_dataOkOld=m_dataOk;
193
if ((m_activeUpsInfo->upsNet->getState() == KNutNet::Connected) // paints icons with information values
194
&& (!m_activeUpsInfo->netError)) {
195
// ups is connected dataOK is ok (program shows icon of connecting UPS)
196
m_dataOk = ok; // pro paint event udava ze mam pouzit nase ikony
233
bool repaintNow = false; //value isn't changed
235
// **********reads values of STATUS ***************
236
myStatusValue = m_activeUpsInfo->upsNet->readStatus();
237
myStatusBatValue = myStatusValue & KNutNet::OB; // OB = UPS runs on battery
239
// **********reads value of RUNTIME***************
198
240
if (!m_activeUpsInfo->upsNet->existName(m_activeUpsInfo->runtimeVar)) {
199
241
nutStringVar = m_activeUpsInfo->upsNet->readStringVar(m_activeUpsInfo->runtimeVar);
200
//std::cout << "KNutDock::repaintDock RUNTIME " << nutStringVar << std::endl;
201
242
if (nutStringVar.isEmpty()) myRuntimeValue=knc::numberVarError;
203
244
myRuntimeValue = (int)nutStringVar.toFloat(&okFloat);
207
248
else myRuntimeValue = knc::numberVarError;
209
myStatusValue = m_activeUpsInfo->upsNet->readStatus();
212
switch (m_typeOfIcon) {
214
// *********STATUS****************
215
if (myStatusValue !=m_statusValue ) {
216
m_statusValue = myStatusValue;
217
paintStatus(m_statusValue);
221
// **********RUNTIME***********
222
myStatusBatValue = myStatusValue & KNutNet::OB; // OB = UPS runs on battery
223
if ((myRuntimeValue != m_runtimeValue) || (myStatusBatValue != m_statusBatValue)) {
224
// when runtime is changed or flags OB is changed we must repaint icons
225
// when OB is changed same items in icon will change color
226
m_runtimeValue = myRuntimeValue; // runtime is old value of runtime, one is defined like global value of class
227
m_statusBatValue = myStatusBatValue;
228
paintRuntime(m_runtimeValue, m_statusValue);
234
// *********STATUS****************
235
if (myStatusValue !=m_statusValue ) {
236
m_statusValue = myStatusValue;
237
m_statusWarningValue = myStatusValue & (KNutNet::CAL | KNutNet::TRIM | KNutNet::BOOST
238
| KNutNet::OVER | KNutNet::RB);
242
// **********RUNTIME***********
243
if (myRuntimeValue != m_runtimeValue) {
244
m_runtimeValue = myRuntimeValue;
248
} ///////////////////// end of models
250
// Other values are for all modes
252
// **********UPS LOAD***************
250
// **********reads value of UPS LOAD***************
253
251
if (m_activeUpsInfo->nutVariables == 1) valueName = "LOADPCT";
254
252
else valueName = "ups.load";
255
253
if (!m_activeUpsInfo->upsNet->existName(valueName)) {
282
274
else myBatteryChargeValue=knc::numberVarError;
277
// **********STATUS**************
278
if (myStatusValue !=m_statusValue ) {
279
m_statusValue = myStatusValue;
280
m_statusWarningValue = myStatusValue & (KNutNet::CAL | KNutNet::TRIM | KNutNet::BOOST
281
| KNutNet::OVER | KNutNet::RB);
285
// **********RUNTIME***********
286
if (myRuntimeValue != m_runtimeValue) {
287
m_runtimeValue = myRuntimeValue; // runtime is old value of runtime, one is defined like global value of class
291
// ************LOAD********************
292
if (myUpsLoadValue != m_upsLoadValue) {
293
m_upsLoadValue = myUpsLoadValue;
298
// ***********CHARGE******************
284
299
if (myBatteryChargeValue != m_batteryChargeValue) {
285
300
m_batteryChargeValue = myBatteryChargeValue;
286
if (m_typeOfIcon == generalKI)paintCharge(m_batteryChargeValue);
287
301
repaintNow = true;
289
// ************* End of values********************
291
if (repaintNow || always || (m_dataOk != m_dataOkOld)) {
294
switch (m_typeOfIcon) {
296
m_mainLayer->fill(m_myBGColor);
297
// copyBlt (m_mainLayer,0,0,m_runtimeLayer,0,0,24,24);
298
bitBlt (m_mainLayer,0,0,m_runtimeLayer,0,0,24,24,AndROP);
299
bitBlt (m_mainLayer,0,0,m_loadLayer,0,0,24,24,AndROP);
300
bitBlt (m_mainLayer,0,0,m_chargeLayer,0,0,24,24,AndROP);
301
bitBlt (m_mainLayer,0,0,m_statusLayer,0,0,24,24,AndROP);
304
// if (m_statusValue & KNutNet::OL) bitBlt (m_mainLayer,0,0,m_loadLayer,0,0,24,24,AndROP); // icon of UPS
305
if (m_statusValue & KNutNet::OL) { // ONLINE - icon of UPS
308
copyBlt (m_mainLayer,0,0,&m_upsPix,0,0,24,24); // icon of UPS
310
paint.begin(m_mainLayer);
311
if (m_upsLoadValue == knc::numberVarError) myLoad=0;
312
else myLoad = abs(m_upsLoadValue/10);
314
if (m_upsLoadValue != knc::numberVarError) {
315
if (myLoad > 12) myLoad=12;
316
if (myLoad > 10) myLoad++; // preskocime rysku pro 100 %
317
if (myLoad < 9) paint.setPen(QColor(0,192,0)); //green
319
if (myLoad < 11) paint.setPen(QColor(255,255,0)); //yellow
320
else paint.setPen(QColor(255,0,0));//red
322
for (int i = 19; i < 22; i++) paint.drawLine(i,13,i,13-myLoad +1);
325
paint.setPen(QColor(168,220,255));
326
for (int i = 20; i < 23; i++ ) paint.drawLine(i,1,i,13-myLoad);
329
paint.setPen(QColor(Qt::black)); // line for 100 % load
330
paint.drawLine(19,3,22,3);
331
if (!m_statusWarningValue) paintOKPoint(paint);
332
else paintErrorPoint(paint);
337
copyBlt (m_mainLayer,0,0,&m_battPix,0,0,24,24); // icon of Battery
338
paint.begin(m_mainLayer);
339
if (m_batteryChargeValue != knc::numberVarError) {
340
if (m_batteryChargeValue < 40) paint.setPen(Qt::red);
341
else paint.setPen(Qt::black);
342
if (m_batteryChargeValue < 40) paint.setPen(Qt::red);
344
if (m_batteryChargeValue < 50) paint.setPen(Qt::yellow);
345
else paint.setPen(Qt::green);
347
int delka = abs((16*m_batteryChargeValue)/100);
348
delka += abs((delka-1)/4) -1;
349
paint.drawLine (2,7,2+delka,7);
350
paint.drawLine (2,8,2+delka,8);
351
paint.drawLine (2,9,2+delka,9);
357
toolTip(m_runtimeValue, m_statusValue, m_batteryChargeValue, m_upsLoadValue);
359
setPixmap(*m_mainLayer);
362
else { // KNutNet->state isn't connected
363
// we must test activeUpsInfo->netError because error can rise higher level
364
if (m_activeUpsInfo->netError)
365
m_dataOk = error; // error is value not variable
367
if ((m_activeUpsInfo->upsNet->getState() == KNutNet::Connecting) ||
368
(m_activeUpsInfo->upsNet->getState() == KNutNet::HostLookup))
369
m_dataOk = connecting;
370
else m_dataOk = idle;
372
if ((m_dataOk != m_dataOkOld) or always) {
373
toolTip(0, -1, 0, 0);
374
m_dataOkOld=m_dataOk;
375
if (m_dataOk == connecting) setPixmap(m_connectPix);
377
if (m_dataOk == error) setPixmap(m_errorPix);
379
setPixmap(m_mainPix);
304
// ************** STATUS BATT***************
305
// for set repaintNow only
306
if (myStatusBatValue != m_statusBatValue) {
307
m_statusBatValue = myStatusBatValue;
314
void KNutDock::makeOkIcon(void) {
317
switch (m_typeOfIcon) {
320
*m_mainLayer = m_backgroundLayer->copy(QRect(0,0,22,22));
321
paint.begin(m_mainLayer);
323
paintStatus(paint, m_statusValue);
325
paintRuntime(paint, m_runtimeValue, m_statusValue);
327
paintLoadGeneralKI(paint, m_upsLoadValue);
328
paintChargeGeneralKI(paint, m_batteryChargeValue);
334
if (m_statusValue & KNutNet::OL) { // ONLINE - icon of UPS
338
*m_mainLayer = m_upsPix.copy(QRect(0,0,22,22));
339
paint.begin(m_mainLayer);
341
if (m_upsLoadValue == knc::numberVarError) myLoad=0;
343
myLoad = (int)(((double)m_upsLoadValue/10)+0.5);
346
if (m_upsLoadValue != knc::numberVarError) {
347
if (myLoad > 12) myLoad=12;
348
if (myLoad > 10) myLoad++; // preskocime rysku pro 100 %
349
if (myLoad < 9) paint.setPen(QColor(0,192,0)); //green
351
if (myLoad < 11) paint.setPen(QColor(255,255,0)); //yellow
352
else paint.setPen(QColor(255,0,0));//red
354
for (int i = 19; i < 22; i++) paint.drawLine(i,12,i,12-myLoad +1);
357
paint.setPen(QColor(168,220,255));
358
for (int i = 20; i < 23; i++ ) paint.drawLine(i,0,i,12-myLoad);
361
paint.setPen(m_textColor); // line for 100 % load
362
paint.drawLine(18,2,21,2);
364
paintNumbers (m_upsLoadValue, -2, 15, &paint );
366
if (!m_statusWarningValue) paintOKPoint(paint);
367
else paintErrorPoint(paint);
370
else { // offline -- battery icon
371
*m_mainLayer = m_battPix.copy(QRect(0,0,22,22));
372
paint.begin(m_mainLayer);
373
paintChargePictureKI(paint, m_batteryChargeValue);
377
} ///////////////////// end of models
389
380
void KNutDock::toolTip (int runtime, int status, int batteryCharge, int upsLoad ) {
556
555
//------------------------------------------
558
void KNutDock::mousePressEvent(QMouseEvent *e) {
560
//qDebug("KNutDock::mousePressEvent");
561
if( e->button()==LeftButton ) emit activeMainWindow();
562
if( e->button()==RightButton ) m_menu->popup(e->globalPos());
568
void KNutDock::paintEvent (QPaintEvent *e) {
570
KSystemTray::paintEvent(e);
571
if ((m_activeUpsInfo->upsNet->getState() == KNutNet::Connected) and
572
(m_statusValue != KNutNet::NS)) { // When driver isn't connected, getState is connected and m_statusValue is NS // NONE STATUS
573
if (m_typeOfIcon == pictureKI) {
574
QPainter painter(this);
576
if (m_statusValue & KNutNet::OL) { // ONLINE - icon of UPS
577
painter.setPen(Qt::black);
578
paintNumbers (m_upsLoadValue, -2, 15, &painter );
580
else { // OFFLINE icon of battery
581
if (m_batteryChargeValue != knc::numberVarError) {
582
if (m_batteryChargeValue < 40) painter.setPen(Qt::red);
583
else painter.setPen(Qt::black);
584
paintNumbers(m_batteryChargeValue,-2,16,&painter);
587
painter.setPen(Qt::black);
588
paintDash (3,16,&painter);
589
paintDash (8,16,&painter);
557
//bool KNutDock::event(QEvent *e) {
559
// if ( e->type() == QEvent::MouseButtonPress) {
560
// qDebug("KNutDock::mousePressEvent");
561
// QMouseEvent *mouseEvent = static_cast<QMouseEvent*>(e);
562
// if( mouseEvent->button()==Qt::LeftButton ) emit activeMainWindow();
563
// if( mouseEvent->button()==Qt::RightButton ) m_menu->popup(mouseEvent->globalPos());
566
// return KSystemTrayIcon::event( e );
615
590
void KNutDock::createUpsMenu(void) {
591
QActionGroup *upsGroup = new QActionGroup(this);
617
593
int n = m_upsRecords->getCount();
618
594
for (int i =0; i < n; i++) {
619
if (m_activeUpsInfo->record.name == m_upsRecords->getName(i))
620
m_upsServerMenu->insertItem(kapp->miniIcon(),m_upsRecords->getName(i), this, SLOT(slotUpsName(int)),0,101+i);
622
m_upsServerMenu->insertItem(m_upsRecords->getName(i), this, SLOT(slotUpsName(int)),0,101+i);
596
KAction *upsAction = new KAction (m_upsRecords->getName(i),this);
597
upsAction->setCheckable (true);
598
upsGroup->addAction(upsAction);
599
if (m_activeUpsInfo->record.name == m_upsRecords->getName(i)) {
600
upsAction->setChecked(true);
602
m_upsServerMenu->addAction(upsAction);
604
connect( upsGroup, SIGNAL( triggered(QAction *) ), this, SLOT(slotUpsName(QAction *) ));
626
607
void KNutDock::createMainMenu(void) {
628
m_menu = new KPopupMenu;
629
m_upsServerMenu = new KPopupMenu;
608
m_menu = new KMenu();
610
QString KNCName = KGlobal::config()->componentData().aboutData()->appName();
611
m_menu->addTitle (KIcon(KNCName),KNCName);
612
m_menu->addSeparator();
614
m_upsServerMenu = (KMenu *)m_menu->addMenu(KIcon(),"UPS");
615
m_menu->addSeparator();
617
m_menu->addAction(KIcon("view-list-tree"),i18n("&Showing UPS variables and commands"), this, SLOT(slotPrintUPSVars()));
618
m_menu->addAction(i18n("&Running instant commands"), this, SLOT(slotInstComms()));
619
m_menu->addAction(i18n("Setting R&W variables"), this, SLOT(slotRWVars()));
620
m_menu->addSeparator();
621
m_menu->addAction(KIcon("view-refresh"),i18n("Reconnect"), this, SLOT(slotRefreshConnection()));
622
m_menu->addSeparator();
623
m_menu->addAction(KIcon("configure"),i18n("&Preferences"), this, SLOT(slotPreferences()));
624
m_menu->addSeparator();
625
m_menu->addAction(KIcon(KNCName),i18n("&About KNutClient"), this, SLOT(slotShowMyAbout()));
626
m_menu->addSeparator();
627
m_menu->addAction(i18n("&Minimize"), this, SLOT(slotMinimize()));
628
m_menu->addSeparator();
629
m_menu->addAction (KIcon("application-exit"),i18n("&Exit"),this ,SLOT(slotExitApplication()));
632
m_menu->insertTitle (kapp->miniIcon(),"knutclient");
633
m_menu->insertSeparator();
634
m_menu->insertItem("UPS",m_upsServerMenu);
635
m_menu->insertSeparator();
636
m_menu->insertItem(i18n("&Showing UPS variables and commands"), this, SLOT(slotPrintUPSVars()));
637
m_menu->insertItem(i18n("&Running instant commands"), this, SLOT(slotInstComms()));
638
m_menu->insertItem(i18n("Setting R&W variables"), this, SLOT(slotRWVars()));
639
m_menu->insertSeparator();
640
m_menu->insertItem(SmallIcon("reload"),i18n("Reconnect"), this, SLOT(slotRefreshConnection()));
641
m_menu->insertSeparator();
642
m_menu->insertItem(SmallIcon("configure"),i18n("&Preferences"), this, SLOT(slotPreferences()));
643
m_menu->insertSeparator();
644
m_menu->insertItem(kapp->miniIcon(),i18n("&About KNutClient"), this, SLOT(slotShowMyAbout()));
645
m_menu->insertSeparator();
646
m_menu->insertItem(i18n("&Minimize"), this, SLOT(slotMinimize()));
647
m_menu->insertSeparator();
648
m_menu->insertItem (SmallIcon("exit"),i18n("&Exit"),this ,SLOT(slotExitApplication()));
632
setContextMenu(m_menu);
652
void KNutDock::paintCharge (int charge ) {
636
void KNutDock::paintChargeGeneralKI (QPainter &paint, int charge ) {
655
m_chargeLayer->fill(Qt::white);
656
paint.begin(m_chargeLayer);
657
638
if (charge > 199) charge = 199;
659
640
if (m_typeOfIcon == generalKI) {
660
641
if (charge != knc::numberVarError) {
661
642
if (charge < 40) paint.setPen(Qt::red);
662
else paint.setPen(Qt::black);
643
else paint.setPen(m_textColor);
663
644
paintNumbers(charge,8,2,&paint);
666
paint.setPen(Qt::black);
647
paint.setPen(m_textColor);
667
648
paintDash (13,2,&paint);
668
649
paintDash (18,2,&paint);
655
void KNutDock::paintChargePictureKI (QPainter &paint, int charge ) {
657
if (charge != knc::numberVarError) {
658
if (m_batteryChargeValue < 40) paint.setPen(Qt::red);
659
else paint.setPen(m_textColor);
661
paintNumbers(m_batteryChargeValue,-2,15,&paint);
663
if (m_batteryChargeValue < 40) paint.setPen(Qt::red);
664
else paint.setPen(Qt::green);
666
int delka = abs((16*m_batteryChargeValue)/100);
667
delka += abs((delka-1)/4) -1;
668
paint.drawLine (1,7,1+delka,7);
669
paint.drawLine (1,8,1+delka,8);
670
paint.drawLine (1,9,1+delka,9);
672
paint.setPen(m_textColor);
674
paint.drawLine (5,6,5,10);
675
paint.drawLine (10,6,10,10);
676
paint.drawLine (15,6,15,10);
673
if (charge != knc::numberVarError) {
674
if (charge < 40) paint.setPen(Qt::red);
675
else paint.setPen(Qt::black);
676
paintNumbers(charge,-2,16,&paint);
678
if (charge < 40) paint.setPen(Qt::red);
680
if (charge < 50) paint.setPen(Qt::yellow);
681
else paint.setPen(Qt::green);
683
int delka = abs((16*charge)/100);
684
delka += abs((delka-1)/4) -1;
685
paint.drawLine (2,7,2+delka,7);
686
paint.drawLine (2,8,2+delka,8);
687
paint.drawLine (2,9,2+delka,9);
690
paint.setPen(Qt::black);
691
paintDash (3,16,&paint);
692
paintDash (8,16,&paint);
680
paint.setPen(m_textColor);
681
paintDash (3,15,&paint);
682
paintDash (8,15,&paint);
700
686
void KNutDock::paintErrorPoint ( QPainter& paint ) {
702
paint.setPen(QColor(0,0,255));
688
// paint.setPen(QColor(0,0,255));
703
689
paint.setPen(QColor(255,0,0));
691
paint.drawLine(19,17,21,17);
705
692
paint.drawLine(19,18,21,18);
706
693
paint.drawLine(19,19,21,19);
707
paint.drawLine(19,20,21,20);
711
696
void KNutDock::paintOKPoint (QPainter& paint ) {
713
698
paint.setPen(QColor(0,255,0));
699
paint.drawLine(19,17,21,17);
714
700
paint.drawLine(19,18,21,18);
715
701
paint.drawLine(19,19,21,19);
716
paint.drawLine(19,20,21,20);
720
void KNutDock::paintStatus (int status ) {
705
void KNutDock::paintStatus (QPainter &paint, int status ) {
724
m_statusLayer->fill(Qt::white);
725
paint.begin(m_statusLayer);
727
709
if (status & KNutNet::OL) {
728
paint.setPen(Qt::black);
710
paint.setPen(m_textColor);
729
711
paintChar (1,2,'P',&paint);
867
839
// painting - kreslim
868
840
switch (number) {
870
p->drawRect(x,y,4,7);
842
p->drawRect(x,y,3,6);
873
845
p->drawLine (x+3,y,x+3,y+6);
876
848
p->drawLine(x,y,x+3,y);
849
p->drawLine(x+3,y,x+3,y+3);
850
p->drawLine(x+3,y+3,x,y+3);
851
p->drawLine(x,y+3,x,y+6);
852
p->drawLine(x,y+6,x+3,y+6);
883
855
p->drawLine(x,y,x+3,y);
856
p->drawLine(x+3,y,x+3,y+6);
857
p->drawLine(x+3,y+6,x,y+6);
886
858
p->drawLine(x,y+3,x+3,y+3);
889
861
p->drawLine(x,y,x,y+3);
862
p->drawLine(x,y+3,x+3,y+3);
891
863
p->drawLine (x+3,y,x+3,y+6);
894
866
p->drawLine(x+3,y,x,y);
867
p->drawLine(x,y,x,y+3);
868
p->drawLine(x,y+3,x+3,y+3);
869
p->drawLine(x+3,y+3,x+3,y+6);
870
p->drawLine(x+3,y+6,x,y+6);
901
p->drawRect(x,y+3,4,4);
873
p->drawRect(x,y+3,3,3);
902
874
p->drawLine(x,y+3,x,y);
875
p->drawLine(x,y,x+3,y);
906
878
p->drawLine(x,y,x+3,y);
879
p->drawLine(x+3,y,x+3,y+6);
910
p->drawRect(x,y,4,7);
882
p->drawRect(x,y,3,6);
911
883
p->drawLine(x,y+3,x+3,y+3);
914
p->drawRect(x,y,4,4);
886
p->drawRect(x,y,3,3);
915
887
p->drawLine(x+3,y+3,x+3,y+6);
888
p->drawLine(x+3,y+6,x,y+6);