Commit a7905269da91355ae5ac8cf920a35d122db536d8
1 parent
453d18662f
Exists in
master
and in
2 other branches
설정 메뉴 화면 기본 구조 완성
- 설정 메뉴 화면 기본 구조 완성
Showing
5 changed files
with
296 additions
and
36 deletions
Show diff stats
app/gui/oven_control/config.cpp
1 | 1 | #include <QDebug> |
2 | +#include <QDateTime> | |
2 | 3 | #include "config.h" |
3 | 4 | |
4 | 5 | using namespace Define; |
... | ... | @@ -63,11 +64,45 @@ QString Config::getValueString(Define::ConfigType idx){ |
63 | 64 | case 1: |
64 | 65 | qstrTemp.sprintf(config_format[(uint32_t)idx], configlist.values[(uint32_t)idx].f32); |
65 | 66 | break; |
67 | + case 2: | |
68 | + qstrTemp = tr(config_format[(uint32_t)idx]); | |
66 | 69 | } |
70 | + return qstrTemp; | |
67 | 71 | } |
72 | + | |
73 | + QDateTime qdt = QDateTime::currentDateTime(); | |
74 | + | |
68 | 75 | switch(idx){ |
69 | 76 | case config_language: |
70 | - qstrTemp = tr(language_menu[configlist.items.language.d32]); | |
77 | + if(configlist.items.language.d32 >=3) configlist.items.language.d32 = 0; | |
78 | + qstrTemp = tr(language_menu[configlist.items.language.d32]); | |
79 | + break; | |
80 | + | |
81 | + case config_datetime: | |
82 | + qstrTemp = qdt.toString("yyyy.MM.dd hh:mm"); | |
83 | + break; | |
84 | + | |
85 | + case config_temptype: | |
86 | + if(configlist.items.temptype.d32 >=2 ) configlist.items.temptype.d32 = 0; | |
87 | + qstrTemp = tr(temptype_menu[configlist.items.temptype.d32]); | |
88 | + break; | |
89 | + case config_best_dish_weight: | |
90 | + if(configlist.items.best_dish_weight.d32 >=4) configlist.items.best_dish_weight.d32 = 0; | |
91 | + qstrTemp = tr(best_dish_weight_menu[configlist.items.best_dish_weight.d32]); | |
92 | + break; | |
93 | + case config_party_dish_weight: | |
94 | + if(configlist.items.party_dish_weight.d32 >=4) configlist.items.party_dish_weight.d32 = 0; | |
95 | + qstrTemp = tr(best_dish_weight_menu[configlist.items.party_dish_weight.d32]); | |
96 | + break; | |
97 | + case config_time_type: | |
98 | + if(configlist.items.time_type.d32 >=2) configlist.items.time_type.d32 = 0; | |
99 | + qstrTemp = tr(time_type_menu[configlist.items.time_type.d32]); | |
100 | + break; | |
101 | + case config_resttime_format: | |
102 | + if(configlist.items.resttime_format.d32 >=2) configlist.items.resttime_format.d32 = 0; | |
103 | + qstrTemp = tr(rest_time_type_menu[configlist.items.resttime_format.d32]); | |
104 | + break; | |
105 | + default: | |
71 | 106 | break; |
72 | 107 | } |
73 | 108 | return qstrTemp; | ... | ... |
app/gui/oven_control/config.h
... | ... | @@ -8,7 +8,7 @@ |
8 | 8 | #define STRUCT_PACK __attribute__ ((packed)) |
9 | 9 | |
10 | 10 | |
11 | -#define MAX_CONFIG_COUNT 14 | |
11 | +#define MAX_CONFIG_COUNT 21 | |
12 | 12 | |
13 | 13 | namespace Define |
14 | 14 | { |
... | ... | @@ -27,6 +27,14 @@ namespace Define |
27 | 27 | config_time_type, |
28 | 28 | config_resttime_format, |
29 | 29 | config_marster_vol, |
30 | + config_keypad_sound1, | |
31 | + config_keypad_sound2, | |
32 | + config_request_loadexec, | |
33 | + config_programstep_finish, | |
34 | + config_cooktime_finish, | |
35 | + config_stoperror_distinguish, | |
36 | + config_sound_factory_reset, | |
37 | + config_invalid = 65535 | |
30 | 38 | }; |
31 | 39 | |
32 | 40 | typedef union _config_item{ |
... | ... | @@ -58,6 +66,13 @@ namespace Define |
58 | 66 | config_item time_type; |
59 | 67 | config_item resttime_format; |
60 | 68 | config_item marster_vol; |
69 | + config_item keypad_sound1; | |
70 | + config_item keypad_sound2; | |
71 | + config_item request_loadexec; | |
72 | + config_item programstep_finish; | |
73 | + config_item cooktime_finish; | |
74 | + config_item stoperror_distinguish; | |
75 | + config_item sound_factory_reset; | |
61 | 76 | }items; |
62 | 77 | }STRUCT_PACK config_lists; |
63 | 78 | } |
... | ... | @@ -79,15 +94,39 @@ class Config : public QObject |
79 | 94 | "English" |
80 | 95 | }; |
81 | 96 | |
97 | + const char temptype_menu[2][16]{ | |
98 | + "섭씨(℃)\0", | |
99 | + "화씨(℉)\0" | |
100 | + }; | |
101 | + | |
102 | + const char best_dish_weight_menu[4][16]={ | |
103 | + "700g\0", | |
104 | + "700-899g\0", | |
105 | + "900-1099g\0", | |
106 | + "1100g" | |
107 | + }; | |
108 | + | |
109 | + const char time_type_menu[2][16]={ | |
110 | + "24h\0", | |
111 | + "am/pm\0" | |
112 | + }; | |
113 | + | |
114 | + const char rest_time_type_menu[2][16] = { | |
115 | + "잔여시간\0", | |
116 | + "타겟시간\0" | |
117 | + }; | |
82 | 118 | |
83 | - /* config_data_type Description | |
84 | - * 80 = Custom | |
119 | + | |
120 | + | |
121 | + /* config_data_type & Formatter Description | |
122 | + * 80 = use Cutom Formatter | |
85 | 123 | * 0 = int |
86 | 124 | * 1 = float |
125 | + * 2 = only String, | |
87 | 126 | */ |
88 | 127 | const uint8_t config_data_type[MAX_CONFIG_COUNT] = { |
89 | - 0x80, 0x80, 0x80, 0, 0, 0, 0, 0, 0, 0, | |
90 | - 0x80,0x80,0x80,0 | |
128 | + 0x80, 0x80, 0x80, 0x00, 0x00, 0x80, 0x80, 0x00, 0x80, 0x00, 0x80, 0x80, 0x80, //Settings | |
129 | + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02 | |
91 | 130 | }; |
92 | 131 | |
93 | 132 | const char config_format_kr[MAX_CONFIG_COUNT][64]={ |
... | ... | @@ -101,10 +140,17 @@ class Config : public QObject |
101 | 140 | "%d", |
102 | 141 | "%d", |
103 | 142 | "%d min", //9 |
143 | + "%S", //10 | |
104 | 144 | "%S", |
105 | - "%S", | |
106 | - "%S", | |
107 | - "%d" | |
145 | + "%S", //end of Settings | |
146 | + "%d" ,//start of Sound | |
147 | + "%d번", | |
148 | + "%d번", | |
149 | + "%d번", | |
150 | + "%d번", | |
151 | + "%d번", | |
152 | + "%d번", | |
153 | + "공장초기화" | |
108 | 154 | }; |
109 | 155 | |
110 | 156 | char config_format[MAX_CONFIG_COUNT][64]; |
... | ... | @@ -119,11 +165,18 @@ class Config : public QObject |
119 | 165 | "연회용 접시무게", |
120 | 166 | "ILC 조리선반 개수", |
121 | 167 | "ILC 조리선반 순서", |
122 | - "ILC 조리 온습도 대기시간", //9 | |
123 | - "조리시간 포맷", | |
168 | + "ILC 조리 온습도 대기시간", | |
169 | + "조리시간 포맷", //10 | |
124 | 170 | "실시간 포맷", |
125 | - "잔여시간 포맷", | |
126 | - "마스터 볼륨" | |
171 | + "잔여시간 포맷", //12 | |
172 | + "마스터 볼륨", //13 | |
173 | + "키패드 소리 - 1", | |
174 | + "키패드 소리 - 2 ", //15 | |
175 | + "프로그램 단계 종료", | |
176 | + "적재/실행 요청", | |
177 | + "조리시간 종료", | |
178 | + "과정 중단/오류 식별", //19 | |
179 | + "음향설정 초기화" //20 | |
127 | 180 | }; |
128 | 181 | |
129 | 182 | QSet<uint32_t> m_setFavorite; |
... | ... | @@ -152,8 +205,6 @@ public: |
152 | 205 | |
153 | 206 | Define::config_lists configlist; |
154 | 207 | |
155 | - | |
156 | - | |
157 | 208 | signals: |
158 | 209 | |
159 | 210 | public slots: | ... | ... |
app/gui/oven_control/configwindow.cpp
... | ... | @@ -3,30 +3,45 @@ |
3 | 3 | |
4 | 4 | #include "functiontestwindow.h" |
5 | 5 | #include "engineermenuwindow.h" |
6 | +#include "config.h" | |
7 | + | |
8 | + | |
6 | 9 | |
7 | -#include "configpanelbutton.h" | |
8 | 10 | |
9 | 11 | ConfigWindow::ConfigWindow(QWidget *parent) : |
10 | 12 | QMainWindow(parent), |
11 | 13 | ui(new Ui::ConfigWindow) |
12 | 14 | { |
15 | + uint32_t idx; | |
13 | 16 | ui->setupUi(this); |
14 | 17 | |
15 | 18 | ui->clockContainer->setParent(ui->upperStack); |
16 | 19 | setAttribute(Qt::WA_DeleteOnClose); |
17 | 20 | |
18 | 21 | ui->scrollAreaMenuLayout->setAlignment(Qt::AlignTop); |
22 | + | |
19 | 23 | ConfigPanelButton *configbtn; |
20 | - for(int i = 0;i <20;i++){ | |
21 | - configbtn = new ConfigPanelButton(this,i); | |
22 | - configbtn->showFavoriteButton(); | |
23 | - configbtn->setText("TEST"); | |
24 | - configbtn->setValue("test"); | |
25 | - ui->scrollAreaMenuLayout->addWidget(configbtn); | |
26 | - connect(configbtn,SIGNAL(clicked(uint16_t)),SLOT(onConfigBtnClicked(uint16_t))); | |
24 | +// for(int i = 0;i <20;i++){ | |
25 | +// configbtn = new ConfigPanelButton(this,i); | |
26 | +// configbtn->showFavoriteButton(); | |
27 | +// configbtn->setText("TEST"); | |
28 | +// configbtn->setValue("test"); | |
29 | +// ui->scrollAreaMenuLayout->addWidget(configbtn); | |
30 | +// connect(configbtn,SIGNAL(clicked(uint16_t)),SLOT(onConfigBtnClicked(uint16_t))); | |
31 | +// } | |
32 | + Config* cfg = Config::getInstance(); | |
33 | + | |
34 | + QSetIterator<uint32_t> itr = cfg->getConstBeginFavorite(); | |
35 | + while(itr.hasNext()) itr.next(); | |
36 | + | |
37 | + while(itr.hasPrevious()){ | |
38 | + idx = itr.previous(); | |
39 | + //configbtn = new ConfigPanelButton(this,idx); | |
27 | 40 | } |
28 | 41 | |
42 | + m_nCurConfigPos = config_menu_favorite; | |
29 | 43 | |
44 | + reloadUi(); | |
30 | 45 | |
31 | 46 | } |
32 | 47 | |
... | ... | @@ -52,16 +67,60 @@ void ConfigWindow::on_pushButton_3_clicked() |
52 | 67 | w->showFullScreen(); |
53 | 68 | } |
54 | 69 | |
55 | -void ConfigWindow::on_pushButton_8_clicked() | |
70 | +void ConfigWindow::on_pushButton_8_clicked() //설정 버튼 | |
56 | 71 | { |
57 | - | |
72 | + if(m_nCurConfigPos != config_menu_setting){ | |
73 | + m_nCurConfigPos = config_menu_setting; | |
74 | + reloadUi(); | |
75 | + } | |
58 | 76 | } |
59 | 77 | |
60 | 78 | void ConfigWindow::onConfigBtnClicked(uint16_t id){ |
61 | - qDebug() << "pressed id " << id; | |
79 | + qDebug() << "config id prsess : " << id; | |
62 | 80 | } |
63 | 81 | |
64 | 82 | |
65 | 83 | void ConfigWindow::onConfigCheckBtnClicked(uint16_t id, bool checked){ |
66 | 84 | |
67 | 85 | } |
86 | + | |
87 | +void ConfigWindow::reloadUi(void){ | |
88 | + QWidget** pws = m_vectorMenuList.data(); | |
89 | + QWidget* pw; | |
90 | + ConfigPanelButton *pcb; | |
91 | + Config* cfg = Config::getInstance(); | |
92 | + QString strtemp=""; | |
93 | + for(int i = 0; i < m_vectorMenuList.count();i++){ | |
94 | + pw = pws[i]; | |
95 | + ui->scrollAreaMenuLayout->removeWidget(pw); | |
96 | + delete pw; | |
97 | + } | |
98 | + m_vectorMenuList.clear(); | |
99 | + | |
100 | + if(m_nCurConfigPos != config_menu_favorite){ | |
101 | + for(int i=0 ; i < m_arrMaxMenuCount[m_nCurConfigPos] ;i++){ | |
102 | + pcb = new ConfigPanelButton(this,m_arrConfigListInfos[m_nCurConfigPos][i]); | |
103 | + qDebug() <<m_arrConfigListInfos[m_nCurConfigPos][i] << cfg->getTitleString(m_arrConfigListInfos[m_nCurConfigPos][i]); | |
104 | + strtemp = cfg->getTitleString(m_arrConfigListInfos[m_nCurConfigPos][i]); | |
105 | + pcb->setText(strtemp); | |
106 | + strtemp = cfg->getValueString(m_arrConfigListInfos[m_nCurConfigPos][i]); | |
107 | + pcb->setValue(strtemp); | |
108 | + pcb->showFavoriteButton(); | |
109 | + pcb->setFavoriteCheck(cfg->isFavorite(m_arrConfigListInfos[m_nCurConfigPos][i])); | |
110 | + ui->scrollAreaMenuLayout->addWidget(pcb); | |
111 | + m_vectorMenuList.append(pcb); | |
112 | + connect(pcb ,SIGNAL(clicked(uint16_t)),SLOT(onConfigBtnClicked(uint16_t))); | |
113 | + } | |
114 | + } | |
115 | + | |
116 | + ui->scrollAreaMenu->adjustSize(); //Display 전 Contents 사이즈 수정 깜빡임 제거함. | |
117 | + | |
118 | +} | |
119 | + | |
120 | +void ConfigWindow::on_pushButton_7_clicked() //음향 관리 | |
121 | +{ | |
122 | + if(m_nCurConfigPos != config_menu_sound){ | |
123 | + m_nCurConfigPos = config_menu_sound; | |
124 | + reloadUi(); | |
125 | + } | |
126 | +} | ... | ... |
app/gui/oven_control/configwindow.h
... | ... | @@ -2,8 +2,24 @@ |
2 | 2 | #define CONFIGWINDOW_H |
3 | 3 | |
4 | 4 | #include <QMainWindow> |
5 | +#include <QVector> | |
5 | 6 | |
6 | 7 | #include "udphandler.h" |
8 | +#include "configpanelbutton.h" | |
9 | +#include "config.h" | |
10 | + | |
11 | +using namespace Define; | |
12 | + | |
13 | +enum CONFIG_MENU_POS{ | |
14 | + config_menu_favorite = -1, | |
15 | + config_menu_setting =0, | |
16 | + config_menu_sound, | |
17 | + config_menu_system, | |
18 | + config_menu_energy, | |
19 | + config_menu_expert, | |
20 | + config_menu_display, | |
21 | + config_menu_service | |
22 | +}; | |
7 | 23 | |
8 | 24 | namespace Ui { |
9 | 25 | class ConfigWindow; |
... | ... | @@ -15,8 +31,19 @@ class ConfigWindow : public QMainWindow |
15 | 31 | |
16 | 32 | private: |
17 | 33 | const uint16_t m_arrMaxMenuCount[7] ={ |
18 | - 9,7, | |
34 | + 9,8,0, | |
19 | 35 | }; |
36 | + const Define::ConfigType m_arrConfigListInfos[7][20] = { | |
37 | + {config_language, config_datetime, config_temptype,config_backlight, config_stop_delay , config_best_dish_weight,config_party_dish_weight, config_time_type,config_resttime_format,}, | |
38 | + {config_marster_vol,config_keypad_sound1,config_keypad_sound2,config_request_loadexec,config_programstep_finish,config_cooktime_finish,config_stoperror_distinguish,config_sound_factory_reset}, | |
39 | + {config_invalid,}, | |
40 | + {config_invalid,}, | |
41 | + {config_invalid,}, | |
42 | + {config_invalid,}, | |
43 | + {config_invalid,} | |
44 | + }; | |
45 | + void reloadUi(void); | |
46 | + | |
20 | 47 | public: |
21 | 48 | explicit ConfigWindow(QWidget *parent = 0); |
22 | 49 | ~ConfigWindow(); |
... | ... | @@ -31,12 +58,16 @@ private slots: |
31 | 58 | void on_pushButton_8_clicked(); |
32 | 59 | |
33 | 60 | |
61 | + void on_pushButton_7_clicked(); | |
62 | + | |
34 | 63 | public slots: |
35 | 64 | void onConfigBtnClicked(uint16_t id); |
36 | 65 | void onConfigCheckBtnClicked(uint16_t id, bool checked); |
37 | 66 | |
38 | 67 | private: |
39 | 68 | Ui::ConfigWindow *ui; |
69 | + QVector<QWidget *> m_vectorMenuList; | |
70 | + CONFIG_MENU_POS m_nCurConfigPos; | |
40 | 71 | }; |
41 | 72 | |
42 | 73 | #endif // CONFIGWINDOW_H | ... | ... |
app/gui/oven_control/configwindow.ui
... | ... | @@ -30,6 +30,30 @@ font-size: 30px; |
30 | 30 | </string> |
31 | 31 | </property> |
32 | 32 | <widget class="QWidget" name="centralwidget"> |
33 | + <property name="styleSheet"> | |
34 | + <string notr="true">QScrollBar:vertical { | |
35 | +border: none; | |
36 | +background: transparent; | |
37 | +width: 35px; | |
38 | +margin: 30px 15px 30px 0px; | |
39 | +} | |
40 | +QScrollBar::handle:vertical { | |
41 | +background: #B7B7B7; | |
42 | +border-radius: 10px; | |
43 | +min-height: 100px; | |
44 | +} | |
45 | +QScrollBar::add-line:vertical, QScrollBar::sub-line:vertical { | |
46 | +border: none; | |
47 | +background: none; | |
48 | +height: 0px; | |
49 | +} | |
50 | +QScrollBar::up-arrow:vertical, QScrollBar::down-arrow:vertical { | |
51 | +border: none; | |
52 | +} | |
53 | +QScrollBar::add-page:vertical, QScrollBar::sub-page:vertical { | |
54 | +background: none; | |
55 | +}</string> | |
56 | + </property> | |
33 | 57 | <widget class="QStackedWidget" name="upperStack"> |
34 | 58 | <property name="geometry"> |
35 | 59 | <rect> |
... | ... | @@ -84,11 +108,20 @@ font-size: 30px; |
84 | 108 | </property> |
85 | 109 | <property name="styleSheet"> |
86 | 110 | <string notr="true">QPushButton { background-image: url(:/images/config/050_setting_btn_01.png); } |
87 | -QPushButton:pressed, QPushButton:focus { background-image: url(:/images/config/050_setting_btn_01_ov.png); }</string> | |
111 | +QPushButton:pressed, QPushButton:focus, QPushButton:checked { background-image: url(:/images/config/050_setting_btn_01_ov.png); }</string> | |
88 | 112 | </property> |
89 | 113 | <property name="text"> |
90 | 114 | <string>즐겨찾기</string> |
91 | 115 | </property> |
116 | + <property name="checkable"> | |
117 | + <bool>true</bool> | |
118 | + </property> | |
119 | + <property name="checked"> | |
120 | + <bool>true</bool> | |
121 | + </property> | |
122 | + <property name="autoExclusive"> | |
123 | + <bool>true</bool> | |
124 | + </property> | |
92 | 125 | <property name="style" stdset="0"> |
93 | 126 | <string>type</string> |
94 | 127 | </property> |
... | ... | @@ -117,11 +150,17 @@ QPushButton:pressed, QPushButton:focus { background-image: url(:/images/config/0 |
117 | 150 | </property> |
118 | 151 | <property name="styleSheet"> |
119 | 152 | <string notr="true">QPushButton { background-image: url(:/images/config/050_setting_btn_02.png); } |
120 | -QPushButton:pressed, QPushButton:focus { background-image: url(:/images/config/050_setting_btn_02_ov.png); }</string> | |
153 | +QPushButton:pressed, QPushButton:focus,QPushButton:checked { background-image: url(:/images/config/050_setting_btn_02_ov.png); }</string> | |
121 | 154 | </property> |
122 | 155 | <property name="text"> |
123 | 156 | <string>설정</string> |
124 | 157 | </property> |
158 | + <property name="checkable"> | |
159 | + <bool>true</bool> | |
160 | + </property> | |
161 | + <property name="autoExclusive"> | |
162 | + <bool>true</bool> | |
163 | + </property> | |
125 | 164 | <property name="style" stdset="0"> |
126 | 165 | <string>type</string> |
127 | 166 | </property> |
... | ... | @@ -150,11 +189,17 @@ QPushButton:pressed, QPushButton:focus { background-image: url(:/images/config/0 |
150 | 189 | </property> |
151 | 190 | <property name="styleSheet"> |
152 | 191 | <string notr="true">QPushButton { background-image: url(:/images/config/050_setting_btn_03.png); } |
153 | -QPushButton:pressed, QPushButton:focus { background-image: url(:/images/config/050_setting_btn_03_ov.png); }</string> | |
192 | +QPushButton:pressed, QPushButton:focus, QPushButton:checked { background-image: url(:/images/config/050_setting_btn_03_ov.png); }</string> | |
154 | 193 | </property> |
155 | 194 | <property name="text"> |
156 | 195 | <string>음향 관리</string> |
157 | 196 | </property> |
197 | + <property name="checkable"> | |
198 | + <bool>true</bool> | |
199 | + </property> | |
200 | + <property name="autoExclusive"> | |
201 | + <bool>true</bool> | |
202 | + </property> | |
158 | 203 | <property name="style" stdset="0"> |
159 | 204 | <string>type</string> |
160 | 205 | </property> |
... | ... | @@ -183,11 +228,17 @@ QPushButton:pressed, QPushButton:focus { background-image: url(:/images/config/0 |
183 | 228 | </property> |
184 | 229 | <property name="styleSheet"> |
185 | 230 | <string notr="true">QPushButton { background-image: url(:/images/config/050_setting_btn_04.png); } |
186 | -QPushButton:pressed, QPushButton:focus { background-image: url(:/images/config/050_setting_btn_04_ov.png); }</string> | |
231 | +QPushButton:pressed, QPushButton:focus,QPushButton:checked { background-image: url(:/images/config/050_setting_btn_04_ov.png); }</string> | |
187 | 232 | </property> |
188 | 233 | <property name="text"> |
189 | 234 | <string>시스템 관리</string> |
190 | 235 | </property> |
236 | + <property name="checkable"> | |
237 | + <bool>true</bool> | |
238 | + </property> | |
239 | + <property name="autoExclusive"> | |
240 | + <bool>true</bool> | |
241 | + </property> | |
191 | 242 | <property name="style" stdset="0"> |
192 | 243 | <string>type</string> |
193 | 244 | </property> |
... | ... | @@ -207,11 +258,17 @@ QPushButton:pressed, QPushButton:focus { background-image: url(:/images/config/0 |
207 | 258 | </property> |
208 | 259 | <property name="styleSheet"> |
209 | 260 | <string notr="true">QPushButton { background-image: url(:/images/config/050_setting_btn_05.png); } |
210 | -QPushButton:pressed, QPushButton:focus { background-image: url(:/images/config/050_setting_btn_05_ov.png); }</string> | |
261 | +QPushButton:pressed, QPushButton:focus ,QPushButton:checked{ background-image: url(:/images/config/050_setting_btn_05_ov.png); }</string> | |
211 | 262 | </property> |
212 | 263 | <property name="text"> |
213 | 264 | <string>에너지 관리</string> |
214 | 265 | </property> |
266 | + <property name="checkable"> | |
267 | + <bool>true</bool> | |
268 | + </property> | |
269 | + <property name="autoExclusive"> | |
270 | + <bool>true</bool> | |
271 | + </property> | |
215 | 272 | <property name="style" stdset="0"> |
216 | 273 | <string>type</string> |
217 | 274 | </property> |
... | ... | @@ -240,11 +297,17 @@ QPushButton:pressed, QPushButton:focus { background-image: url(:/images/config/0 |
240 | 297 | </property> |
241 | 298 | <property name="styleSheet"> |
242 | 299 | <string notr="true">QPushButton { background-image: url(:/images/config/050_setting_btn_06.png); } |
243 | -QPushButton:pressed, QPushButton:focus { background-image: url(:/images/config/050_setting_btn_06_ov.png); }</string> | |
300 | +QPushButton:pressed, QPushButton:focus,QPushButton:checked { background-image: url(:/images/config/050_setting_btn_06_ov.png); }</string> | |
244 | 301 | </property> |
245 | 302 | <property name="text"> |
246 | 303 | <string>전문가 설정</string> |
247 | 304 | </property> |
305 | + <property name="checkable"> | |
306 | + <bool>true</bool> | |
307 | + </property> | |
308 | + <property name="autoExclusive"> | |
309 | + <bool>true</bool> | |
310 | + </property> | |
248 | 311 | <property name="style" stdset="0"> |
249 | 312 | <string>type</string> |
250 | 313 | </property> |
... | ... | @@ -273,11 +336,17 @@ QPushButton:pressed, QPushButton:focus { background-image: url(:/images/config/0 |
273 | 336 | </property> |
274 | 337 | <property name="styleSheet"> |
275 | 338 | <string notr="true">QPushButton { background-image: url(:/images/config/050_setting_btn_07.png); } |
276 | -QPushButton:pressed, QPushButton:focus { background-image: url(:/images/config/050_setting_btn_07_ov.png); }</string> | |
339 | +QPushButton:pressed, QPushButton:focus,QPushButton:checked { background-image: url(:/images/config/050_setting_btn_07_ov.png); }</string> | |
277 | 340 | </property> |
278 | 341 | <property name="text"> |
279 | 342 | <string>화면 관리</string> |
280 | 343 | </property> |
344 | + <property name="checkable"> | |
345 | + <bool>true</bool> | |
346 | + </property> | |
347 | + <property name="autoExclusive"> | |
348 | + <bool>true</bool> | |
349 | + </property> | |
281 | 350 | <property name="style" stdset="0"> |
282 | 351 | <string>type</string> |
283 | 352 | </property> |
... | ... | @@ -306,11 +375,17 @@ QPushButton:pressed, QPushButton:focus { background-image: url(:/images/config/0 |
306 | 375 | </property> |
307 | 376 | <property name="styleSheet"> |
308 | 377 | <string notr="true">QPushButton { background-image: url(:/images/config/050_setting_btn_08.png); } |
309 | -QPushButton:pressed, QPushButton:focus { background-image: url(:/images/config/050_setting_btn_08_ov.png); }</string> | |
378 | +QPushButton:pressed, QPushButton:focus ,QPushButton:checked{ background-image: url(:/images/config/050_setting_btn_08_ov.png); }</string> | |
310 | 379 | </property> |
311 | 380 | <property name="text"> |
312 | 381 | <string>서비스</string> |
313 | 382 | </property> |
383 | + <property name="checkable"> | |
384 | + <bool>true</bool> | |
385 | + </property> | |
386 | + <property name="autoExclusive"> | |
387 | + <bool>true</bool> | |
388 | + </property> | |
314 | 389 | <property name="style" stdset="0"> |
315 | 390 | <string>type</string> |
316 | 391 | </property> |
... | ... | @@ -410,7 +485,7 @@ QPushButton:pressed { border-image: url(:/images/bottom_bar/help_ov.png); }</str |
410 | 485 | </rect> |
411 | 486 | </property> |
412 | 487 | <property name="styleSheet"> |
413 | - <string notr="true"/> | |
488 | + <string notr="true">background-color : transparent;</string> | |
414 | 489 | </property> |
415 | 490 | <property name="frameShape"> |
416 | 491 | <enum>QFrame::NoFrame</enum> |
... | ... | @@ -446,9 +521,18 @@ QPushButton:pressed { border-image: url(:/images/bottom_bar/help_ov.png); }</str |
446 | 521 | <property name="sizeConstraint"> |
447 | 522 | <enum>QLayout::SetDefaultConstraint</enum> |
448 | 523 | </property> |
524 | + <property name="leftMargin"> | |
525 | + <number>20</number> | |
526 | + </property> | |
527 | + <property name="topMargin"> | |
528 | + <number>30</number> | |
529 | + </property> | |
449 | 530 | <property name="rightMargin"> |
450 | 531 | <number>0</number> |
451 | 532 | </property> |
533 | + <property name="bottomMargin"> | |
534 | + <number>26</number> | |
535 | + </property> | |
452 | 536 | </layout> |
453 | 537 | </widget> |
454 | 538 | </widget> | ... | ... |