-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathselectscreen.cpp
More file actions
129 lines (115 loc) · 3.51 KB
/
Copy pathselectscreen.cpp
File metadata and controls
129 lines (115 loc) · 3.51 KB
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
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
//
// C++ Implementation: SelectScreen
//
// Description:
//
//
// Author: Jacek Kosek <jacek.kosek@pwr.wroc.pl>, (C) 2009
//
// Copyright: See COPYING file that comes with this distribution
//
//
#include <QKeyEvent>
#include <QEvent>
#include <QSettings>
#include <QString>
#include <QTime>
#include "selectscreen.h"
#include "buzzer.h"
SelectScreen::SelectScreen(Buzzer* buzzer, QWidget *parent, Qt::WFlags f)
:QMainWindow(parent, f)
{
setWindowFlags(windowFlags()|Qt::FramelessWindowHint);
mBuzzer = buzzer;
part =1;
size =1;
setupUi(this);
humanView->setScript("../resources/humanView.qjs" );
settings = new QSettings(UserConfigFileName, QSettings::IniFormat);
updateStatus();
}
void SelectScreen::showSelectScreen(){
show();updateStatus();
}
void SelectScreen::updateStatus(){
const int powerDefault[] = {
//small //medium //large
80, 90, 100, //shoulder
50, 70, 70, //elbow
50, 50, 70, //wirst
80, 100, 100, //hip
50, 70, 90, //knee
50, 70, 70, //ankle
};
const QTime timeDefault[] = {
//small //medium //large
QTime(0,3,0), QTime(0,5,0), QTime(0,7,0), //shoulder
QTime(0,2,0), QTime(0,2,0), QTime(0,3,30), //elbow
QTime(0,1,30), QTime(0,2,0), QTime(0,2,30), //wirst
QTime(0,3,0), QTime(0,4,0), QTime(0,6,0), //hip
QTime(0,3,0), QTime(0,3,0), QTime(0,4,0), //knee
QTime(0,2,0), QTime(0,2,30), QTime(0,3,0) //ankle
};
int operationNumer = (part - 1) * 3 + size;
backLabel->setText(QString(trUtf8("Wyjście")));
selectLabel->setText(QString(trUtf8("Wybierz")));
QString powerStr=QString("operation_power_%1").arg(operationNumer);
QString timeStr =QString("operation_time_%1" ).arg(operationNumer);
power = settings->value(powerStr, powerDefault[operationNumer-1]).toInt();
time = settings->value(timeStr, timeDefault[operationNumer-1]).toTime();
qDebug("part: %d, size: %d, zabieg: %d",part,size,operationNumer);
QString textLabel=QString(trUtf8("Inten.: %1%, czas: %2"))
.arg(power).arg(time.toString("mm:ss"));
statuslabel->setText(textLabel);
}
void SelectScreen::keyPressEvent( QKeyEvent * event )
{
//mBuzzer->beep();
//ESCAPE SWITCH
if (event->key() == Qt::Key_Escape) {
emit(SendShowMenuScreen(mainView));hide();
} else
if (event->key() == Qt::Key_Tab) {
part++;if (part>6) part = 1;
humanView->setPName("part");
humanView->setPValue(part);
updateStatus();
} else
if (event->key() == Qt::Key_Backtab) {
part--;if (part<1) part = 6;
humanView->setPName("part");
humanView->setPValue(part);
updateStatus();
} else
if ((event->key() == Qt::Key_Play)||(event->key() == Qt::Key_F2)) {
OperationScreenType operationType;
operationType.operationType = part;
operationType.power = power;
operationType.time = &time;
emit(SendShowOperationScreen(operationType));
}
}
bool SelectScreen::event(QEvent *event){
if (event->type() == QEvent::ShortcutOverride) {
//mBuzzer->beep();
QKeyEvent *ke = static_cast<QKeyEvent *>(event);
if (ke->key() == Qt::Key_Up){
size++;if (size>3) size = 1;
humanView->setPName("size");
humanView->setPValue(size);
updateStatus();
return true;
}
if (ke->key() == Qt::Key_Down) {
size--;if (size<1) size = 3;
humanView->setPName("size");
humanView->setPValue(size);
updateStatus();
return true;
}
}
if (event->type() == QEvent::LanguageChange) {
menuNameLabel->setText(trUtf8("Wybierz zabieg"));
}
return QWidget::event(event);
}