Common Source Code Project for Qt (a.k.a for FM-7).
Revision | 8515ed64b59c2be25e11fbae8668b7fe54f511ad (tree) |
---|---|
Zeit | 2017-07-18 16:42:13 |
Autor | K.Ohta <whatisthis.sowhat@gmai...> |
Commiter | K.Ohta |
[UI][Qt][WIP] Modifing virtual medias displaying area.
@@ -1,15 +1,14 @@ | ||
1 | 1 | |
2 | 2 | #include <QApplication> |
3 | 3 | #include <QVBoxLayout> |
4 | +#include <QHBoxLayout> | |
4 | 5 | #include <QLabel> |
5 | 6 | #include <QPixmap> |
6 | -#include <QDockWidget> | |
7 | - | |
8 | 7 | #include "dock_disks.h" |
9 | 8 | |
10 | -#define NEW_LABELS(lim,_l,name,_p,mes,zero) { \ | |
11 | - QString tmps, tmpss; \ | |
12 | - for(int i = 0; i < lim; i++) { \ | |
9 | +#define NEW_LABELS(lim,_l,name,_p,mes,zero) { \ | |
10 | + QString tmps, tmpss; \ | |
11 | + for(int i = 0; i < lim; i++) { \ | |
13 | 12 | if(zero) { \ |
14 | 13 | tmpss.setNum(i); \ |
15 | 14 | } else { \ |
@@ -17,30 +16,29 @@ | ||
17 | 16 | } \ |
18 | 17 | tmps = name; \ |
19 | 18 | tmps = tmps + tmpss; \ |
19 | + _p[i] = tmps; \ | |
20 | 20 | _l[i] = new QLabel(tmps, this); \ |
21 | - _p[i] = new QLabel(mes, this); \ | |
22 | 21 | _l[i]->setVisible(false); \ |
23 | - _p[i]->setVisible(false); \ | |
24 | 22 | VBox->addWidget(_l[i]); \ |
25 | - VBox->addWidget(_p[i]); \ | |
26 | 23 | } \ |
27 | 24 | } |
28 | 25 | |
29 | -#define RELEASE_LABELS(lim,_l,_p) { \ | |
26 | +#define RELEASE_LABELS(lim,_l) { \ | |
30 | 27 | for(int i = 0; i < lim; i++) { \ |
31 | 28 | if(_l[i] != NULL) delete _l[i]; \ |
32 | - if(_p[i] != NULL) delete _p[i]; \ | |
33 | 29 | _l[i] = NULL; \ |
34 | - _p[i] = NULL; \ | |
35 | 30 | } \ |
36 | 31 | } |
37 | 32 | |
38 | -CSP_DockDisks::CSP_DockDisks(QWidget *parent, Qt::WindowFlags flags) : QDockWidget(parent, flags) | |
33 | +CSP_DockDisks::CSP_DockDisks(QWidget *parent, Qt::WindowFlags flags, bool vertical) : QDockWidget(parent, flags) | |
39 | 34 | { |
40 | 35 | QString ns, ms; |
41 | - QWidget *Widget = new QWidget(this); | |
42 | - VBox = new QVBoxLayout(Widget); | |
36 | + WidgetV = new QWidget(this); | |
37 | + WidgetH = new QWidget(this); | |
38 | + VBox = new QVBoxLayout(WidgetV); | |
39 | + HBox = new QHBoxLayout(WidgetH); | |
43 | 40 | VBox->setAlignment(Qt::AlignTop); |
41 | + HBox->setAlignment(Qt::AlignRight); | |
44 | 42 | |
45 | 43 | ns = QApplication::translate("DockDisks", "Binary", 0); |
46 | 44 | ms = QApplication::translate("DockDisks", "*EMPTY*", 0); |
@@ -77,24 +75,30 @@ CSP_DockDisks::CSP_DockDisks(QWidget *parent, Qt::WindowFlags flags) : QDockWid | ||
77 | 75 | ns = QApplication::translate("DockDisks", "Laser Disc", 0); |
78 | 76 | ms = QApplication::translate("DockDisks", "*EMPTY*", 0); |
79 | 77 | NEW_LABELS(2,lLaserDisc,ns,pLaserDisc,ms,false); |
80 | - | |
81 | - Widget->setLayout(VBox); | |
82 | - this->setWidget(Widget); | |
78 | + | |
79 | + this->setFloating(true); | |
80 | + WidgetV->setLayout(VBox); | |
81 | + //WidgetH->setLayout(HBox); | |
82 | + //if(vertical) { | |
83 | + this->setWidget(WidgetV); | |
84 | + //} else { | |
85 | + // this->setWidget(WidgetH); | |
86 | + //} | |
83 | 87 | } |
84 | 88 | |
85 | 89 | |
86 | 90 | |
87 | 91 | CSP_DockDisks::~CSP_DockDisks() |
88 | 92 | { |
89 | - RELEASE_LABELS(8,lBinary,pBinary); | |
90 | - RELEASE_LABELS(8,lFloppyDisk,pFloppyDisk); | |
91 | - RELEASE_LABELS(2,lCMT,pCMT); | |
92 | - RELEASE_LABELS(8,lBubble,pBubble); | |
93 | - RELEASE_LABELS(8,lCart,pCart); | |
94 | - RELEASE_LABELS(8,lQuickDisk,pQuickDisk); | |
95 | - RELEASE_LABELS(2,lCompactDisc,pCompactDisc); | |
96 | - RELEASE_LABELS(8,lHardDisk,pHardDisk); | |
97 | - RELEASE_LABELS(2,lLaserDisc,pLaserDisc); | |
93 | + RELEASE_LABELS(8,lBinary); | |
94 | + RELEASE_LABELS(8,lFloppyDisk); | |
95 | + RELEASE_LABELS(2,lCMT); | |
96 | + RELEASE_LABELS(8,lBubble); | |
97 | + RELEASE_LABELS(8,lCart); | |
98 | + RELEASE_LABELS(8,lQuickDisk); | |
99 | + RELEASE_LABELS(2,lCompactDisc); | |
100 | + RELEASE_LABELS(8,lHardDisk); | |
101 | + RELEASE_LABELS(2,lLaserDisc); | |
98 | 102 | } |
99 | 103 | |
100 | 104 | void CSP_DockDisks::updateLabel(int dom, int localnum, QString str) |
@@ -102,46 +106,55 @@ void CSP_DockDisks::updateLabel(int dom, int localnum, QString str) | ||
102 | 106 | switch(dom) { |
103 | 107 | case CSP_DockDisks_Domain_Binary: |
104 | 108 | if((localnum < 8) && (localnum >= 0)) { |
109 | + pBinary[localnum] = str; | |
105 | 110 | lBinary[localnum]->setText(str); |
106 | 111 | } |
107 | 112 | break; |
108 | 113 | case CSP_DockDisks_Domain_Bubble: |
109 | 114 | if((localnum < 8) && (localnum >= 0)) { |
115 | + pBubble[localnum] = str; | |
110 | 116 | lBubble[localnum]->setText(str); |
111 | 117 | } |
112 | 118 | break; |
113 | 119 | case CSP_DockDisks_Domain_Cart: |
114 | 120 | if((localnum < 8) && (localnum >= 0)) { |
121 | + pCart[localnum] = str; | |
115 | 122 | lCart[localnum]->setText(str); |
116 | 123 | } |
117 | 124 | break; |
118 | 125 | case CSP_DockDisks_Domain_CMT: |
119 | 126 | if((localnum < 2) && (localnum >= 0)) { |
127 | + pCMT[localnum] = str; | |
120 | 128 | lCMT[localnum]->setText(str); |
121 | 129 | } |
122 | 130 | break; |
123 | 131 | case CSP_DockDisks_Domain_CD: |
124 | 132 | if((localnum < 2) && (localnum >= 0)) { |
133 | + pCompactDisc[localnum] = str; | |
125 | 134 | lCompactDisc[localnum]->setText(str); |
126 | 135 | } |
127 | 136 | break; |
128 | 137 | case CSP_DockDisks_Domain_FD: |
129 | 138 | if((localnum < 8) && (localnum >= 0)) { |
139 | + pFloppyDisk[localnum] = str; | |
130 | 140 | lFloppyDisk[localnum]->setText(str); |
131 | 141 | } |
132 | 142 | break; |
133 | 143 | case CSP_DockDisks_Domain_HD: |
134 | 144 | if((localnum < 8) && (localnum >= 0)) { |
145 | + pHardDisk[localnum] = str; | |
135 | 146 | lHardDisk[localnum]->setText(str); |
136 | 147 | } |
137 | 148 | break; |
138 | 149 | case CSP_DockDisks_Domain_LD: |
139 | 150 | if((localnum < 2) && (localnum >= 0)) { |
151 | + pLaserDisc[localnum] = str; | |
140 | 152 | lLaserDisc[localnum]->setText(str); |
141 | 153 | } |
142 | 154 | break; |
143 | 155 | case CSP_DockDisks_Domain_QD: |
144 | 156 | if((localnum < 8) && (localnum >= 0)) { |
157 | + pQuickDisk[localnum] = str; | |
145 | 158 | lQuickDisk[localnum]->setText(str); |
146 | 159 | } |
147 | 160 | break; |
@@ -155,47 +168,56 @@ void CSP_DockDisks::updateMessage(int dom, int localnum, QString str) | ||
155 | 168 | switch(dom) { |
156 | 169 | case CSP_DockDisks_Domain_Binary: |
157 | 170 | if((localnum < 8) && (localnum >= 0)) { |
158 | - pBinary[localnum]->setText(str); | |
171 | + str = pBinary[localnum] + str; | |
172 | + lBinary[localnum]->setText(str); | |
159 | 173 | } |
160 | 174 | break; |
161 | 175 | case CSP_DockDisks_Domain_Bubble: |
162 | 176 | if((localnum < 8) && (localnum >= 0)) { |
163 | - pBubble[localnum]->setText(str); | |
177 | + str = pBubble[localnum] + str; | |
178 | + lBubble[localnum]->setText(str); | |
164 | 179 | } |
165 | 180 | break; |
166 | 181 | case CSP_DockDisks_Domain_Cart: |
167 | 182 | if((localnum < 8) && (localnum >= 0)) { |
168 | - pCart[localnum]->setText(str); | |
183 | + str = pCart[localnum] + str; | |
184 | + lCart[localnum]->setText(str); | |
169 | 185 | } |
170 | 186 | break; |
171 | 187 | case CSP_DockDisks_Domain_CMT: |
172 | 188 | if((localnum < 2) && (localnum >= 0)) { |
173 | - pCMT[localnum]->setText(str); | |
189 | + str = pCMT[localnum] + str; | |
190 | + lCMT[localnum]->setText(str); | |
174 | 191 | } |
175 | 192 | break; |
176 | 193 | case CSP_DockDisks_Domain_CD: |
177 | 194 | if((localnum < 2) && (localnum >= 0)) { |
178 | - pCompactDisc[localnum]->setText(str); | |
195 | + str = pCompactDisc[localnum] + str; | |
196 | + lCompactDisc[localnum]->setText(str); | |
179 | 197 | } |
180 | 198 | break; |
181 | 199 | case CSP_DockDisks_Domain_FD: |
182 | 200 | if((localnum < 8) && (localnum >= 0)) { |
183 | - pFloppyDisk[localnum]->setText(str); | |
201 | + str = pFloppyDisk[localnum] + str; | |
202 | + lFloppyDisk[localnum]->setText(str); | |
184 | 203 | } |
185 | 204 | break; |
186 | 205 | case CSP_DockDisks_Domain_HD: |
187 | 206 | if((localnum < 8) && (localnum >= 0)) { |
188 | - pHardDisk[localnum]->setText(str); | |
207 | + str = pHardDisk[localnum] + str; | |
208 | + lHardDisk[localnum]->setText(str); | |
189 | 209 | } |
190 | 210 | break; |
191 | 211 | case CSP_DockDisks_Domain_LD: |
192 | 212 | if((localnum < 2) && (localnum >= 0)) { |
193 | - pLaserDisc[localnum]->setText(str); | |
213 | + str = pLaserDisc[localnum] + str; | |
214 | + lLaserDisc[localnum]->setText(str); | |
194 | 215 | } |
195 | 216 | break; |
196 | 217 | case CSP_DockDisks_Domain_QD: |
197 | 218 | if((localnum < 8) && (localnum >= 0)) { |
198 | - pQuickDisk[localnum]->setText(str); | |
219 | + str = pQuickDisk[localnum] + str; | |
220 | + lQuickDisk[localnum]->setText(str); | |
199 | 221 | } |
200 | 222 | break; |
201 | 223 | default: |
@@ -209,55 +231,46 @@ void CSP_DockDisks::setVisible(int dom, int localnum, bool enabled) | ||
209 | 231 | case CSP_DockDisks_Domain_Binary: |
210 | 232 | if((localnum < 8) && (localnum >= 0)) { |
211 | 233 | lBinary[localnum]->setVisible(enabled); |
212 | - pBinary[localnum]->setVisible(enabled); | |
213 | 234 | } |
214 | 235 | break; |
215 | 236 | case CSP_DockDisks_Domain_Bubble: |
216 | 237 | if((localnum < 8) && (localnum >= 0)) { |
217 | 238 | lBubble[localnum]->setVisible(enabled); |
218 | - pBubble[localnum]->setVisible(enabled); | |
219 | 239 | } |
220 | 240 | break; |
221 | 241 | case CSP_DockDisks_Domain_Cart: |
222 | 242 | if((localnum < 8) && (localnum >= 0)) { |
223 | 243 | lCart[localnum]->setVisible(enabled); |
224 | - pCart[localnum]->setVisible(enabled); | |
225 | 244 | } |
226 | 245 | break; |
227 | 246 | case CSP_DockDisks_Domain_CMT: |
228 | 247 | if((localnum < 2) && (localnum >= 0)) { |
229 | 248 | lCMT[localnum]->setVisible(enabled); |
230 | - pCMT[localnum]->setVisible(enabled); | |
231 | 249 | } |
232 | 250 | break; |
233 | 251 | case CSP_DockDisks_Domain_CD: |
234 | 252 | if((localnum < 2) && (localnum >= 0)) { |
235 | 253 | lCompactDisc[localnum]->setVisible(enabled); |
236 | - pCompactDisc[localnum]->setVisible(enabled); | |
237 | 254 | } |
238 | 255 | break; |
239 | 256 | case CSP_DockDisks_Domain_FD: |
240 | 257 | if((localnum < 8) && (localnum >= 0)) { |
241 | 258 | lFloppyDisk[localnum]->setVisible(enabled); |
242 | - pFloppyDisk[localnum]->setVisible(enabled); | |
243 | 259 | } |
244 | 260 | break; |
245 | 261 | case CSP_DockDisks_Domain_HD: |
246 | 262 | if((localnum < 8) && (localnum >= 0)) { |
247 | 263 | lHardDisk[localnum]->setVisible(enabled); |
248 | - pHardDisk[localnum]->setVisible(enabled); | |
249 | 264 | } |
250 | 265 | break; |
251 | 266 | case CSP_DockDisks_Domain_LD: |
252 | 267 | if((localnum < 2) && (localnum >= 0)) { |
253 | 268 | lLaserDisc[localnum]->setVisible(enabled); |
254 | - pLaserDisc[localnum]->setVisible(enabled); | |
255 | 269 | } |
256 | 270 | break; |
257 | 271 | case CSP_DockDisks_Domain_QD: |
258 | 272 | if((localnum < 8) && (localnum >= 0)) { |
259 | 273 | lQuickDisk[localnum]->setVisible(enabled); |
260 | - pQuickDisk[localnum]->setVisible(enabled); | |
261 | 274 | } |
262 | 275 | break; |
263 | 276 | default: |
@@ -270,47 +283,47 @@ void CSP_DockDisks::setPixmap(int dom, int localnum, const QPixmap &pix) | ||
270 | 283 | switch(dom) { |
271 | 284 | case CSP_DockDisks_Domain_Binary: |
272 | 285 | if((localnum < 8) && (localnum >= 0)) { |
273 | - pBinary[localnum]->setPixmap(pix); | |
286 | + lBinary[localnum]->setPixmap(pix); | |
274 | 287 | } |
275 | 288 | break; |
276 | 289 | case CSP_DockDisks_Domain_Bubble: |
277 | 290 | if((localnum < 8) && (localnum >= 0)) { |
278 | - pBubble[localnum]->setPixmap(pix); | |
291 | + lBubble[localnum]->setPixmap(pix); | |
279 | 292 | } |
280 | 293 | break; |
281 | 294 | case CSP_DockDisks_Domain_Cart: |
282 | 295 | if((localnum < 8) && (localnum >= 0)) { |
283 | - pCart[localnum]->setPixmap(pix); | |
296 | + lCart[localnum]->setPixmap(pix); | |
284 | 297 | } |
285 | 298 | break; |
286 | 299 | case CSP_DockDisks_Domain_CMT: |
287 | 300 | if((localnum < 2) && (localnum >= 0)) { |
288 | - pCMT[localnum]->setPixmap(pix); | |
301 | + lCMT[localnum]->setPixmap(pix); | |
289 | 302 | } |
290 | 303 | break; |
291 | 304 | case CSP_DockDisks_Domain_CD: |
292 | 305 | if((localnum < 2) && (localnum >= 0)) { |
293 | - pCompactDisc[localnum]->setPixmap(pix); | |
306 | + lCompactDisc[localnum]->setPixmap(pix); | |
294 | 307 | } |
295 | 308 | break; |
296 | 309 | case CSP_DockDisks_Domain_FD: |
297 | 310 | if((localnum < 8) && (localnum >= 0)) { |
298 | - pFloppyDisk[localnum]->setPixmap(pix); | |
311 | + lFloppyDisk[localnum]->setPixmap(pix); | |
299 | 312 | } |
300 | 313 | break; |
301 | 314 | case CSP_DockDisks_Domain_HD: |
302 | 315 | if((localnum < 8) && (localnum >= 0)) { |
303 | - pHardDisk[localnum]->setPixmap(pix); | |
316 | + lHardDisk[localnum]->setPixmap(pix); | |
304 | 317 | } |
305 | 318 | break; |
306 | 319 | case CSP_DockDisks_Domain_LD: |
307 | 320 | if((localnum < 2) && (localnum >= 0)) { |
308 | - pLaserDisc[localnum]->setPixmap(pix); | |
321 | + lLaserDisc[localnum]->setPixmap(pix); | |
309 | 322 | } |
310 | 323 | break; |
311 | 324 | case CSP_DockDisks_Domain_QD: |
312 | 325 | if((localnum < 8) && (localnum >= 0)) { |
313 | - pQuickDisk[localnum]->setPixmap(pix); | |
326 | + lQuickDisk[localnum]->setPixmap(pix); | |
314 | 327 | } |
315 | 328 | break; |
316 | 329 | default: |
@@ -2,6 +2,7 @@ | ||
2 | 2 | #define _CSP_QT_DOCKWIDGET_BASE_H |
3 | 3 | |
4 | 4 | #include <QObject> |
5 | +#include <QToolBar> | |
5 | 6 | #include <QDockWidget> |
6 | 7 | #include <QIcon> |
7 | 8 | #include <QString> |
@@ -24,11 +25,16 @@ enum { | ||
24 | 25 | |
25 | 26 | QT_BEGIN_NAMESPACE |
26 | 27 | class QVBoxLayout; |
28 | +class QHBoxLayout; | |
27 | 29 | |
28 | 30 | class CSP_DockDisks : public QDockWidget { |
29 | 31 | Q_OBJECT |
30 | 32 | protected: |
31 | 33 | QVBoxLayout *VBox; |
34 | + QHBoxLayout *HBox; | |
35 | + QWidget *WidgetV; | |
36 | + QWidget *WidgetH; | |
37 | + | |
32 | 38 | QLabel *lBinary[8]; |
33 | 39 | QLabel *lBubble[8]; |
34 | 40 | QLabel *lCart[8]; |
@@ -39,17 +45,18 @@ protected: | ||
39 | 45 | QLabel *lLaserDisc[2]; |
40 | 46 | QLabel *lQuickDisk[8]; |
41 | 47 | |
48 | + QString pBinary[8]; | |
49 | + QString pBubble[8]; | |
50 | + QString pCart[8]; | |
51 | + QString pCMT[2]; | |
52 | + QString pCompactDisc[2]; | |
53 | + QString pFloppyDisk[8]; | |
54 | + QString pHardDisk[8]; | |
55 | + QString pLaserDisc[2]; | |
56 | + QString pQuickDisk[8]; | |
57 | + | |
42 | 58 | public: |
43 | - QLabel *pBinary[8]; | |
44 | - QLabel *pBubble[8]; | |
45 | - QLabel *pCart[8]; | |
46 | - QLabel *pCMT[2]; | |
47 | - QLabel *pCompactDisc[2]; | |
48 | - QLabel *pFloppyDisk[8]; | |
49 | - QLabel *pHardDisk[8]; | |
50 | - QLabel *pLaserDisc[2]; | |
51 | - QLabel *pQuickDisk[8]; | |
52 | - CSP_DockDisks(QWidget *parent, Qt::WindowFlags flags = 0); | |
59 | + CSP_DockDisks(QWidget *parent, Qt::WindowFlags flags = 0, bool vertical = false); | |
53 | 60 | ~CSP_DockDisks(); |
54 | 61 | |
55 | 62 | public slots: |
@@ -20,6 +20,7 @@ | ||
20 | 20 | #include <QHBoxLayout> |
21 | 21 | #include <QVBoxLayout> |
22 | 22 | #include <QDockWidget> |
23 | +#include <QToolBar> | |
23 | 24 | |
24 | 25 | #include "commonclasses.h" |
25 | 26 | #include "display_about.h" |
@@ -332,8 +333,9 @@ void Ui_MainWindowBase::setupUi(void) | ||
332 | 333 | |
333 | 334 | |
334 | 335 | bitmapImage = NULL; |
335 | - driveData = new CSP_DockDisks(this, 0); | |
336 | - MainWindow->setDockOptions(QMainWindow::AnimatedDocks | QMainWindow::AllowTabbedDocks | QMainWindow::VerticalTabs); | |
336 | + driveData = new CSP_DockDisks(this, 0, true); | |
337 | + //driveData = new CSP_DockDisks(this, 0); | |
338 | + MainWindow->setDockOptions(QMainWindow::AnimatedDocks); | |
337 | 339 | if(using_flags->is_use_fd()) { |
338 | 340 | int i; |
339 | 341 | for(i = 0; i < using_flags->get_max_drive(); i++) driveData->setVisible(CSP_DockDisks_Domain_FD, i, true); |
@@ -371,7 +373,10 @@ void Ui_MainWindowBase::setupUi(void) | ||
371 | 373 | |
372 | 374 | MainWindow->setCentralWidget(graphicsView); |
373 | 375 | MainWindow->setFocusProxy(graphicsView); |
374 | - MainWindow->addDockWidget(Qt::RightDockWidgetArea, driveData); | |
376 | + //driveData->setAllowedAreas(Qt::RightToolBarArea | Qt::BottomToolBarArea); | |
377 | + //MainWindow->addToolBar(Qt::BottomToolBarArea, driveData); | |
378 | + MainWindow->addDockWidget(Qt::LeftDockWidgetArea, driveData); | |
379 | + //MainWindow->setCorner(Qt::BottomRightCorner, Qt::BottomDockWidgetArea); | |
375 | 380 | MainWindow->centralWidget()->adjustSize(); |
376 | 381 | MainWindow->adjustSize(); |
377 | 382 |