)
set_target_properties(CSPosd PROPERTIES
- SOVERSION 2.6.2
- VERSION 2.6.2
+ SOVERSION 2.6.3
+ VERSION 2.6.3
)
INSTALL(TARGETS CSPosd DESTINATION ${LIBCSP_INSTALL_DIR})
endif()
)
set_target_properties(CSPavio PROPERTIES
- SOVERSION 2.6.1
- VERSION 2.6.1
+ SOVERSION 2.6.2
+ VERSION 2.6.2
)
INSTALL(TARGETS CSPavio DESTINATION ${LIBCSP_INSTALL_DIR})
endif()
#include <SDL.h>
#include "emu_thread.h"
+#include "../gui/dock_disks.h"
#include "qt_gldraw.h"
#include "csp_logger.h"
} else {
alamp = QString::fromUtf8("○ ");
}
- tmpstr = QString::fromUtf8("FD");
- tmpstr = alamp + tmpstr + QString::number(i) + QString::fromUtf8(":");
+ tmpstr = alamp;
+ tmpstr = tmpstr + QString::fromUtf8(" ");
if(emu->d88_file[i].bank_num > 0) {
iname = QString::fromUtf8(emu->d88_file[i].disk_name[emu->d88_file[i].cur_bank]);
} else {
}
tmpstr = tmpstr + iname;
} else {
- tmpstr = QString::fromUtf8("× FD") + QString::number(i) + QString::fromUtf8(":");
- tmpstr = tmpstr + QString::fromUtf8(" ");
+ tmpstr = QString::fromUtf8("× ");
}
if(tmpstr != fd_text[i]) {
- emit sig_change_osd_fd(i, tmpstr);
+ emit sig_change_osd(CSP_DockDisks_Domain_FD, i, tmpstr);
fd_text[i] = tmpstr;
}
}
} else {
alamp = QString::fromUtf8("○ ");
}
- tmpstr = QString::fromUtf8("QD");
- tmpstr = alamp + tmpstr + QString::number(i) + QString::fromUtf8(":");
+ tmpstr = alamp;
+ tmpstr = tmpstr + QString::fromUtf8(" ");
iname = QString::fromUtf8("*Inserted*");
tmpstr = tmpstr + iname;
} else {
- tmpstr = QString::fromUtf8("× QD") + QString::number(i) + QString::fromUtf8(":");
- tmpstr = tmpstr + QString::fromUtf8(" ");
+ tmpstr = QString::fromUtf8("× ");
}
if(tmpstr != qd_text[i]) {
- emit sig_change_osd_qd(i, tmpstr);
+ emit sig_change_osd(CSP_DockDisks_Domain_QD, i, tmpstr);
qd_text[i] = tmpstr;
}
}
tmpstr = QString::fromUtf8(ts);
}
} else {
- tmpstr = QString::fromUtf8("EMPTY");
+ tmpstr = QString::fromUtf8(" EMPTY ");
}
if(tmpstr != cmt_text) {
- emit sig_change_osd_cmt(tmpstr);
+ emit sig_change_osd(CSP_DockDisks_Domain_CMT, 0, tmpstr);
cmt_text = tmpstr;
}
#endif
tmpstr = QString::fromUtf8("Not Inserted");
}
if(tmpstr != cdrom_text) {
- emit sig_change_osd_cdrom(tmpstr);
+ emit sig_change_osd(CSP_DockDisks_Domain_CD, 0, tmpstr);
cdrom_text = tmpstr;
}
#endif
for(i = 0; i < using_flags->get_max_bubble() ; i++) {
if(p_emu->is_bubble_casette_inserted(i)) {
alamp = QString::fromUtf8("● ");
- tmpstr = QString::fromUtf8("BUB");
- tmpstr = alamp + tmpstr + QString::number(i) + QString::fromUtf8(":");
+ tmpstr = alamp + QString::fromUtf8(" ");
} else {
- tmpstr = QString::fromUtf8("× BUB") + QString::number(i) + QString::fromUtf8(":");
+ tmpstr = QString::fromUtf8("×");
tmpstr = tmpstr + QString::fromUtf8(" ");
}
if(tmpstr != bubble_text[i]) {
- emit sig_change_osd_bubble(i, tmpstr);
+ emit sig_change_osd(CSP_DockDisks_Domain_Bubble, i, tmpstr);
bubble_text[i] = tmpstr;
}
}
connect(this, SIGNAL(sig_open_disk(int, QString, int)), hRunEmu, SLOT(do_open_disk(int, QString, int)));
connect(this, SIGNAL(sig_close_disk(int)), hRunEmu, SLOT(do_close_disk(int)));
connect(hRunEmu, SIGNAL(sig_update_recent_disk(int)), this, SLOT(do_update_recent_disk(int)));
- connect(hRunEmu, SIGNAL(sig_change_osd_fd(int, QString)), this, SLOT(do_change_osd_fd(int, QString)));
+ //connect(hRunEmu, SIGNAL(sig_change_osd_fd(int, QString)), this, SLOT(do_change_osd_fd(int, QString)));
drvs = 0;
# if defined(USE_FD1)
drvs = 1;
connect(this, SIGNAL(sig_play_tape(QString)), hRunEmu, SLOT(do_play_tape(QString)));
connect(this, SIGNAL(sig_rec_tape(QString)), hRunEmu, SLOT(do_rec_tape(QString)));
connect(this, SIGNAL(sig_close_tape(void)), hRunEmu, SLOT(do_close_tape(void)));
- connect(hRunEmu, SIGNAL(sig_change_osd_cmt(QString)), this, SLOT(do_change_osd_cmt(QString)));
+ //connect(hRunEmu, SIGNAL(sig_change_osd_cmt(QString)), this, SLOT(do_change_osd_cmt(QString)));
# if defined(USE_TAPE_BUTTON)
connect(this, SIGNAL(sig_cmt_push_play(void)), hRunEmu, SLOT(do_cmt_push_play(void)));
connect(this, SIGNAL(sig_cmt_push_stop(void)), hRunEmu, SLOT(do_cmt_push_stop(void)));
connect(this, SIGNAL(sig_write_protect_quickdisk(int, bool)), hRunEmu, SLOT(do_write_protect_quickdisk(int, bool)));
connect(this, SIGNAL(sig_open_quickdisk(int, QString)), hRunEmu, SLOT(do_open_quickdisk(int, QString)));
connect(this, SIGNAL(sig_close_quickdisk(int)), hRunEmu, SLOT(do_close_quickdisk(int)));
- connect(hRunEmu, SIGNAL(sig_change_osd_qd(int, QString)), this, SLOT(do_change_osd_qd(int, QString)));
+ //connect(hRunEmu, SIGNAL(sig_change_osd_qd(int, QString)), this, SLOT(do_change_osd_qd(int, QString)));
#endif
#if defined(USE_CART1)
connect(this, SIGNAL(sig_open_cart(int, QString)), hRunEmu, SLOT(do_open_cart(int, QString)));
#if defined(USE_COMPACT_DISC)
connect(this, SIGNAL(sig_open_cdrom(QString)), hRunEmu, SLOT(do_open_cdrom(QString)));
connect(this, SIGNAL(sig_close_cdrom()), hRunEmu, SLOT(do_eject_cdrom()));
- connect(hRunEmu, SIGNAL(sig_change_osd_cdrom(QString)), this, SLOT(do_change_osd_cdrom(QString)));
+ //connect(hRunEmu, SIGNAL(sig_change_osd_cdrom(QString)), this, SLOT(do_change_osd_cdrom(QString)));
#endif
#if defined(USE_LASER_DISC)
connect(this, SIGNAL(sig_open_laserdisc(QString)), hRunEmu, SLOT(do_open_laser_disc(QString)));
connect(this, SIGNAL(sig_open_bubble(int, QString, int)), hRunEmu, SLOT(do_open_bubble_casette(int, QString, int)));
connect(this, SIGNAL(sig_close_bubble(int)), hRunEmu, SLOT(do_close_bubble_casette(int)));
connect(hRunEmu, SIGNAL(sig_update_recent_bubble(int)), this, SLOT(do_update_recent_bubble(int)));
- connect(hRunEmu, SIGNAL(sig_change_osd_bubble(int, QString)), this, SLOT(do_change_osd_bubble(int, QString)));
+ //connect(hRunEmu, SIGNAL(sig_change_osd_bubble(int, QString)), this, SLOT(do_change_osd_bubble(int, QString)));
drvs = 0;
# if defined(USE_BUBBLE1)
drvs = 1;
}
#endif
+ connect(hRunEmu, SIGNAL(sig_change_osd(int, int, QString)), (QObject *)driveData, SLOT(updateMessage(int, int, QString)));
connect(this, SIGNAL(quit_emu_thread()), hRunEmu, SLOT(doExit()));
connect(hRunEmu, SIGNAL(sig_mouse_enable(bool)),
this, SLOT(do_set_mouse_enable(bool)));
+
+
#ifdef USE_TAPE_BUTTON
hRunEmu->set_tape_play(false);
#endif
tab_movie_general.h
tab_movie_h264.h
tab_movie_mpeg4.h
+
+ dock_disks.h
draw_thread.h
joy_thread.h
tab_movie_general.cpp
tab_movie_h264.cpp
tab_movie_mpeg4.cpp
+
+ dock_disks.cpp
draw_thread.cpp
joy_thread.cpp
)
set_target_properties(CSPgui PROPERTIES
- SOVERSION 2.7.2
- VERSION 2.7.2
+ SOVERSION 2.8.0
+ VERSION 2.8.0
)
INSTALL(TARGETS CSPgui DESTINATION ${LIBCSP_INSTALL_DIR})
endif()
int Ui_MainWindowBase::Calc_OSD_Wfactor()
{
- float wfactor;
- if(using_flags->is_use_fd() && using_flags->is_use_qd() && using_flags->is_use_tape()) {
- wfactor = (1280.0 - 400.0 - 100.0 - 100.0) / ((float)using_flags->get_max_qd() + (float)using_flags->get_max_drive());
- } else if(using_flags->is_use_fd() && using_flags->is_use_bubble() && using_flags->is_use_tape()) {
- wfactor = (1280.0 - 400.0 - 100.0 - 100.0 - 100.0 * (float)using_flags->get_max_bubble()) /
- (float)using_flags->get_max_drive();
- } else if(using_flags->is_use_fd() && using_flags->is_use_tape()) {
- wfactor = (1280.0 - 400.0 - 100.0 - 100.0) / (float)using_flags->get_max_drive();
- } else if(using_flags->is_use_qd() && using_flags->is_use_tape()) {
- wfactor = (1280.0 - 400.0 - 100.0 - 100.0) / (float)using_flags->get_max_qd();
- } else if(using_flags->is_use_fd()) {
- wfactor = (1280.0 - 400.0 - 100.0) / (float)using_flags->get_max_drive();
- } else if(using_flags->is_use_fd()) {
- wfactor = (1280.0 - 400.0 - 100.0) / (float)using_flags->get_max_qd();
- } else if(using_flags->is_use_fd() && using_flags->is_use_qd()) {
- wfactor = (1280.0 - 400.0 - 100.0) / ((float)using_flags->get_max_qd() + (float)using_flags->get_max_drive());
- } else {
- wfactor = 0.0;
- }
+ float wfactor = 0.0;
if(wfactor < 0.0) wfactor = 0.0;
return (int)wfactor;
}
void Ui_MainWindowBase::initStatusBar(void)
{
int i;
- int wfactor;
statusUpdateTimer = new QTimer;
messagesStatusBar = new QLabel;
//dummyStatusArea1 = new QWidget;
// QHBoxLayout *layout = new QHBoxLayout();
//statusbar->addWidget(layout, 0);
- messagesStatusBar->setFixedWidth(400);
+ messagesStatusBar->setFixedWidth(600);
statusbar->addPermanentWidget(messagesStatusBar, 0);
messagesStatusBar->setStyleSheet("font: 12pt \"Sans\";");
dummyStatusArea1 = new QWidget;
statusbar->addPermanentWidget(dummyStatusArea1, 1);
- wfactor = Calc_OSD_Wfactor();
- if(using_flags->is_use_fd()) {
- for(i = 0; i < using_flags->get_max_drive(); i++) osd_str_fd[i].clear();
- }
- if(using_flags->is_use_qd()) {
- for(i = 0; i < using_flags->get_max_qd(); i++) osd_str_qd[i].clear();
- }
- if(using_flags->is_use_tape()) {
- osd_str_cmt.clear();
- }
- if(using_flags->is_use_compact_disc()) {
- osd_str_cdrom.clear();
- }
- if(using_flags->is_use_laser_disc()) {
- osd_str_laserdisc.clear();
- }
- if(using_flags->is_use_bubble()) {
- for(i = 0; i < using_flags->get_max_bubble(); i++) osd_str_bubble[i].clear();
- }
+ //wfactor = Calc_OSD_Wfactor();
osd_led_data = 0x00000000;
tmps_n = QString::fromUtf8("font: ");
n_s.setNum(12);
tmps_n = tmps_n + n_s + QString::fromUtf8("pt \"Sans\";");
- if(using_flags->is_use_fd()) {
- for(i = 0; i < using_flags->get_max_drive(); i++) { // Will Fix
- fd_StatusBar[i] = new QLabel;
- fd_StatusBar[i]->setStyleSheet(tmps_n);
- fd_StatusBar[i]->setFixedWidth((wfactor > 200) ? 200 : wfactor);
- // fd_StatusBar[i]->setAlignment(Qt::AlignRight);
- statusbar->addPermanentWidget(fd_StatusBar[i]);
- }
- }
- if(using_flags->is_use_qd()) {
- for(i = 0; i < using_flags->get_max_qd(); i++) {
- qd_StatusBar[i] = new QLabel;
- qd_StatusBar[i]->setStyleSheet(tmps_n);
- qd_StatusBar[i]->setFixedWidth((wfactor > 150) ? 150 : wfactor);
- // qd_StatusBar[i]->setAlignment(Qt::AlignRight);
- statusbar->addPermanentWidget(qd_StatusBar[i]);
- }
- }
- if(using_flags->is_use_bubble()) {
- for(i = 0; i < using_flags->get_max_bubble(); i++) {
- bubble_StatusBar[i] = new QLabel;
- bubble_StatusBar[i]->setFixedWidth(100);
- bubble_StatusBar[i]->setStyleSheet(tmps_n);
- statusbar->addPermanentWidget(bubble_StatusBar[i]);
- }
- }
- if(using_flags->is_use_tape()) {
- cmt_StatusBar = new QLabel;
- cmt_StatusBar->setFixedWidth(100);
- cmt_StatusBar->setStyleSheet(tmps_n);;
- statusbar->addPermanentWidget(cmt_StatusBar);
- }
- if(using_flags->is_use_compact_disc()) {
- cdrom_StatusBar = new QLabel;
- cdrom_StatusBar->setFixedWidth(100);
- cdrom_StatusBar->setStyleSheet(tmps_n);
- statusbar->addPermanentWidget(cdrom_StatusBar);
- }
- if(using_flags->is_use_laser_disc()) {
- laserdisc_StatusBar = new QLabel;
- laserdisc_StatusBar->setFixedWidth(100);
- laserdisc_StatusBar->setStyleSheet(tmps_n);
- statusbar->addPermanentWidget(laserdisc_StatusBar);
- }
+
dummyStatusArea2 = new QWidget;
dummyStatusArea2->setFixedWidth(100);
if(using_flags->get_use_led_device() > 0) {
void Ui_MainWindowBase::resize_statusbar(int w, int h)
{
- int wfactor;
- QSize nowSize;
+ //QSize nowSize;
//double height, width;
double scaleFactor;
int ww;
int pt;
int i;
- int qd_width, fd_width;
int sfactor = 0;;
QString n_s;
QString tmps;
- nowSize = messagesStatusBar->size();
+ //nowSize = messagesStatusBar->size();
//height = (double)(nowSize.height());
//width = (double)(nowSize.width());
scaleFactor = (double)w / 1280.0;
statusbar->setFixedWidth(w);
pt = (int)(14.0 * scaleFactor);
if(pt < 4) pt = 4;
- sfactor = (int)(400.0 * scaleFactor);
- messagesStatusBar->setFixedWidth((int)(400.0 * scaleFactor));
+ sfactor = (int)(600.0 * scaleFactor);
+ messagesStatusBar->setFixedWidth((int)(600.0 * scaleFactor));
tmps = QString::fromUtf8("font: ");
n_s.setNum(pt);
tmps = tmps + n_s + QString::fromUtf8("pt \"Sans\";");
messagesStatusBar->setStyleSheet(tmps);
- wfactor = Calc_OSD_Wfactor();
-
- fd_width = wfactor;
- qd_width = wfactor;
- if(fd_width > 200) fd_width = 200;
- if(fd_width < 50) fd_width = 50;
- if(qd_width > 150) qd_width = 150;
- if(qd_width < 50) qd_width = 50;
-
- if(using_flags->is_use_fd()) {
- ww = (int)(scaleFactor * (double)fd_width);
- for(i = 0; i < using_flags->get_max_drive(); i++) { // Will Fix
- fd_StatusBar[i]->setStyleSheet(tmps);
- fd_StatusBar[i]->setFixedWidth(ww);
- sfactor += ww;
- }
- }
- if(using_flags->is_use_qd()) {
- ww = (int)(scaleFactor * (double)fd_width);
- for(i = 0; i < using_flags->get_max_qd(); i++) { // Will Fix
- qd_StatusBar[i]->setStyleSheet(tmps);
- qd_StatusBar[i]->setFixedWidth(ww);
- sfactor += ww;
- }
- }
- if(using_flags->is_use_tape()) {
- cmt_StatusBar->setFixedWidth((int)(100.0 * scaleFactor));
- cmt_StatusBar->setStyleSheet(tmps);
- sfactor += (int)(100.0 * scaleFactor);
- }
- if(using_flags->is_use_bubble()) {
- ww = (int)(scaleFactor * 100.0);
- for(i = 0; i < using_flags->get_max_bubble(); i++) { // Will Fix
- bubble_StatusBar[i]->setStyleSheet(tmps);
- bubble_StatusBar[i]->setFixedWidth(ww);
- sfactor += ww;
- }
- }
if(using_flags->get_use_led_device() > 0) {
led_graphicsView->setFixedWidth((int)(100.0 * scaleFactor));
}
led_graphicsView->setScene(led_gScene);
}
-void Ui_MainWindowBase::do_change_osd_qd(int drv, QString tmpstr)
-{
- if((drv < 0) || (drv > using_flags->get_max_qd())) return;
- osd_str_qd[drv] = tmpstr;
-}
-
-void Ui_MainWindowBase::do_change_osd_fd(int drv, QString tmpstr)
-{
- if((drv < 0) || (drv >= using_flags->get_max_drive())) return;
- osd_str_fd[drv] = tmpstr;
-}
-void Ui_MainWindowBase::do_change_osd_cdrom(QString tmpstr)
-{
- osd_str_cdrom = tmpstr;
-}
-void Ui_MainWindowBase::do_change_osd_laserdisc(QString tmpstr)
-{
- osd_str_laserdisc = tmpstr;
-}
-void Ui_MainWindowBase::do_change_osd_cmt(QString tmpstr)
-{
- osd_str_cmt = tmpstr;
-}
-void Ui_MainWindowBase::do_change_osd_bubble(int drv, QString tmpstr)
-{
- if((drv < 0) || (drv > using_flags->get_max_bubble())) return;
- osd_str_bubble[drv] = tmpstr;
-}
-
-
void Ui_MainWindowBase::redraw_status_bar(void)
{
- //int access_drv;
- //int tape_counter;
int i;
-
- if(using_flags->is_use_fd()) {
- for(i = 0; i < using_flags->get_max_drive(); i++) {
- if(osd_str_fd[i] != fd_StatusBar[i]->text()) fd_StatusBar[i]->setText(osd_str_fd[i]);
- }
- }
- if(using_flags->is_use_qd()) {
- for(i = 0; i < using_flags->get_max_qd(); i++) {
- if(osd_str_qd[i] != qd_StatusBar[i]->text()) qd_StatusBar[i]->setText(osd_str_qd[i]);
- }
- }
- if(using_flags->is_use_tape()) {
- if(osd_str_cmt != cmt_StatusBar->text()) cmt_StatusBar->setText(osd_str_cmt);
- }
- if(using_flags->is_use_compact_disc()) {
- if(osd_str_cdrom != cdrom_StatusBar->text()) cdrom_StatusBar->setText(osd_str_cdrom);
- }
- if(using_flags->is_use_laser_disc()) {
- if(osd_str_laserdisc != laserdisc_StatusBar->text()) laserdisc_StatusBar->setText(osd_str_laserdisc);
- }
- if(using_flags->is_use_bubble()) {
- for(i = 0; i < using_flags->get_max_bubble(); i++) {
- if(osd_str_bubble[i] != bubble_StatusBar[i]->text()) bubble_StatusBar[i]->setText(osd_str_bubble[i]);
- }
- }
}
--- /dev/null
+
+#include <QApplication>
+#include <QVBoxLayout>
+#include <QLabel>
+#include <QPixmap>
+#include <QDockWidget>
+
+#include "dock_disks.h"
+
+#define NEW_LABELS(lim,_l,name,_p,mes,zero) { \
+ QString tmps, tmpss; \
+ for(int i = 0; i < lim; i++) { \
+ if(zero) { \
+ tmpss.setNum(i); \
+ } else { \
+ tmpss.setNum(i + 1); \
+ } \
+ tmps = name; \
+ tmps = tmps + tmpss; \
+ _l[i] = new QLabel(tmps, this); \
+ _p[i] = new QLabel(mes, this); \
+ _l[i]->setVisible(false); \
+ _p[i]->setVisible(false); \
+ VBox->addWidget(_l[i]); \
+ VBox->addWidget(_p[i]); \
+ } \
+ }
+
+
+
+CSP_DockDisks::CSP_DockDisks(QWidget *parent, Qt::WindowFlags flags) : QDockWidget(parent, flags)
+{
+ QString ns, ms;
+ QWidget *Widget = new QWidget(this);
+ VBox = new QVBoxLayout(Widget);
+ VBox->setAlignment(Qt::AlignTop);
+
+ ns = QApplication::translate("DockDisks", "Binary", 0);
+ ms = QApplication::translate("DockDisks", "*EMPTY*", 0);
+ NEW_LABELS(8,lBinary,ns,pBinary,ms,false);
+
+ ns = QApplication::translate("DockDisks", "FD", 0);
+ ms = QApplication::translate("DockDisks", " *EMPTY* ", 0);
+ NEW_LABELS(8,lFloppyDisk,ns,pFloppyDisk,ms,true);
+
+ ns = QApplication::translate("DockDisks", "CMT", 0);
+ ms = QApplication::translate("DockDisks", " *EJECT* ", 0);
+ NEW_LABELS(2,lCMT,ns,pCMT,ms,false);
+
+ ns = QApplication::translate("DockDisks", "Bubble", 0);
+ ms = QApplication::translate("DockDisks", "*EMPTY*", 0);
+ NEW_LABELS(8,lBubble,ns,pBubble,ms,false);
+
+ ns = QApplication::translate("DockDisks", "Cartridge", 0);
+ ms = QApplication::translate("DockDisks", "*EMPTY*", 0);
+ NEW_LABELS(8,lCart,ns,pCart,ms,false);
+
+ ns = QApplication::translate("DockDisks", "Quick Disk", 0);
+ ms = QApplication::translate("DockDisks", "*EMPTY*", 0);
+ NEW_LABELS(8,lQuickDisk,ns,pQuickDisk,ms,false);
+
+ ns = QApplication::translate("DockDisks", "CD", 0);
+ ms = QApplication::translate("DockDisks", "*EJECT*", 0);
+ NEW_LABELS(2,lCompactDisc,ns,pCompactDisc,ms,false);
+
+ ns = QApplication::translate("DockDisks", "HDD", 0);
+ ms = QApplication::translate("DockDisks", "*EMPTY*", 0);
+ NEW_LABELS(8,lHardDisk,ns,pHardDisk,ms,true);
+
+ ns = QApplication::translate("DockDisks", "Laser Disc", 0);
+ ms = QApplication::translate("DockDisks", "*EMPTY*", 0);
+ NEW_LABELS(2,lLaserDisc,ns,pLaserDisc,ms,false);
+
+ Widget->setLayout(VBox);
+ this->setWidget(Widget);
+}
+
+
+
+CSP_DockDisks::~CSP_DockDisks()
+{
+}
+
+void CSP_DockDisks::updateLabel(int dom, int localnum, QString str)
+{
+ switch(dom) {
+ case CSP_DockDisks_Domain_Binary:
+ if((localnum < 8) && (localnum >= 0)) {
+ lBinary[localnum]->setText(str);
+ }
+ break;
+ case CSP_DockDisks_Domain_Bubble:
+ if((localnum < 8) && (localnum >= 0)) {
+ lBubble[localnum]->setText(str);
+ }
+ break;
+ case CSP_DockDisks_Domain_Cart:
+ if((localnum < 8) && (localnum >= 0)) {
+ lCart[localnum]->setText(str);
+ }
+ break;
+ case CSP_DockDisks_Domain_CMT:
+ if((localnum < 2) && (localnum >= 0)) {
+ lCMT[localnum]->setText(str);
+ }
+ break;
+ case CSP_DockDisks_Domain_CD:
+ if((localnum < 2) && (localnum >= 0)) {
+ lCompactDisc[localnum]->setText(str);
+ }
+ break;
+ case CSP_DockDisks_Domain_FD:
+ if((localnum < 8) && (localnum >= 0)) {
+ lFloppyDisk[localnum]->setText(str);
+ }
+ break;
+ case CSP_DockDisks_Domain_HD:
+ if((localnum < 8) && (localnum >= 0)) {
+ lHardDisk[localnum]->setText(str);
+ }
+ break;
+ case CSP_DockDisks_Domain_LD:
+ if((localnum < 2) && (localnum >= 0)) {
+ lLaserDisc[localnum]->setText(str);
+ }
+ break;
+ case CSP_DockDisks_Domain_QD:
+ if((localnum < 8) && (localnum >= 0)) {
+ lQuickDisk[localnum]->setText(str);
+ }
+ break;
+ default:
+ break;
+ }
+}
+
+void CSP_DockDisks::updateMessage(int dom, int localnum, QString str)
+{
+ switch(dom) {
+ case CSP_DockDisks_Domain_Binary:
+ if((localnum < 8) && (localnum >= 0)) {
+ pBinary[localnum]->setText(str);
+ }
+ break;
+ case CSP_DockDisks_Domain_Bubble:
+ if((localnum < 8) && (localnum >= 0)) {
+ pBubble[localnum]->setText(str);
+ }
+ break;
+ case CSP_DockDisks_Domain_Cart:
+ if((localnum < 8) && (localnum >= 0)) {
+ pCart[localnum]->setText(str);
+ }
+ break;
+ case CSP_DockDisks_Domain_CMT:
+ if((localnum < 2) && (localnum >= 0)) {
+ pCMT[localnum]->setText(str);
+ }
+ break;
+ case CSP_DockDisks_Domain_CD:
+ if((localnum < 2) && (localnum >= 0)) {
+ pCompactDisc[localnum]->setText(str);
+ }
+ break;
+ case CSP_DockDisks_Domain_FD:
+ if((localnum < 8) && (localnum >= 0)) {
+ pFloppyDisk[localnum]->setText(str);
+ }
+ break;
+ case CSP_DockDisks_Domain_HD:
+ if((localnum < 8) && (localnum >= 0)) {
+ pHardDisk[localnum]->setText(str);
+ }
+ break;
+ case CSP_DockDisks_Domain_LD:
+ if((localnum < 2) && (localnum >= 0)) {
+ pLaserDisc[localnum]->setText(str);
+ }
+ break;
+ case CSP_DockDisks_Domain_QD:
+ if((localnum < 8) && (localnum >= 0)) {
+ pQuickDisk[localnum]->setText(str);
+ }
+ break;
+ default:
+ break;
+ }
+}
+
+void CSP_DockDisks::setVisible(int dom, int localnum, bool enabled)
+{
+ switch(dom) {
+ case CSP_DockDisks_Domain_Binary:
+ if((localnum < 8) && (localnum >= 0)) {
+ lBinary[localnum]->setVisible(enabled);
+ pBinary[localnum]->setVisible(enabled);
+ }
+ break;
+ case CSP_DockDisks_Domain_Bubble:
+ if((localnum < 8) && (localnum >= 0)) {
+ lBubble[localnum]->setVisible(enabled);
+ pBubble[localnum]->setVisible(enabled);
+ }
+ break;
+ case CSP_DockDisks_Domain_Cart:
+ if((localnum < 8) && (localnum >= 0)) {
+ lCart[localnum]->setVisible(enabled);
+ pCart[localnum]->setVisible(enabled);
+ }
+ break;
+ case CSP_DockDisks_Domain_CMT:
+ if((localnum < 2) && (localnum >= 0)) {
+ lCMT[localnum]->setVisible(enabled);
+ pCMT[localnum]->setVisible(enabled);
+ }
+ break;
+ case CSP_DockDisks_Domain_CD:
+ if((localnum < 2) && (localnum >= 0)) {
+ lCompactDisc[localnum]->setVisible(enabled);
+ pCompactDisc[localnum]->setVisible(enabled);
+ }
+ break;
+ case CSP_DockDisks_Domain_FD:
+ if((localnum < 8) && (localnum >= 0)) {
+ lFloppyDisk[localnum]->setVisible(enabled);
+ pFloppyDisk[localnum]->setVisible(enabled);
+ }
+ break;
+ case CSP_DockDisks_Domain_HD:
+ if((localnum < 8) && (localnum >= 0)) {
+ lHardDisk[localnum]->setVisible(enabled);
+ pHardDisk[localnum]->setVisible(enabled);
+ }
+ break;
+ case CSP_DockDisks_Domain_LD:
+ if((localnum < 2) && (localnum >= 0)) {
+ lLaserDisc[localnum]->setVisible(enabled);
+ pLaserDisc[localnum]->setVisible(enabled);
+ }
+ break;
+ case CSP_DockDisks_Domain_QD:
+ if((localnum < 8) && (localnum >= 0)) {
+ lQuickDisk[localnum]->setVisible(enabled);
+ pQuickDisk[localnum]->setVisible(enabled);
+ }
+ break;
+ default:
+ break;
+ }
+}
+
+void CSP_DockDisks::setPixmap(int dom, int localnum, const QPixmap &pix)
+{
+ switch(dom) {
+ case CSP_DockDisks_Domain_Binary:
+ if((localnum < 8) && (localnum >= 0)) {
+ pBinary[localnum]->setPixmap(pix);
+ }
+ break;
+ case CSP_DockDisks_Domain_Bubble:
+ if((localnum < 8) && (localnum >= 0)) {
+ pBubble[localnum]->setPixmap(pix);
+ }
+ break;
+ case CSP_DockDisks_Domain_Cart:
+ if((localnum < 8) && (localnum >= 0)) {
+ pCart[localnum]->setPixmap(pix);
+ }
+ break;
+ case CSP_DockDisks_Domain_CMT:
+ if((localnum < 2) && (localnum >= 0)) {
+ pCMT[localnum]->setPixmap(pix);
+ }
+ break;
+ case CSP_DockDisks_Domain_CD:
+ if((localnum < 2) && (localnum >= 0)) {
+ pCompactDisc[localnum]->setPixmap(pix);
+ }
+ break;
+ case CSP_DockDisks_Domain_FD:
+ if((localnum < 8) && (localnum >= 0)) {
+ pFloppyDisk[localnum]->setPixmap(pix);
+ }
+ break;
+ case CSP_DockDisks_Domain_HD:
+ if((localnum < 8) && (localnum >= 0)) {
+ pHardDisk[localnum]->setPixmap(pix);
+ }
+ break;
+ case CSP_DockDisks_Domain_LD:
+ if((localnum < 2) && (localnum >= 0)) {
+ pLaserDisc[localnum]->setPixmap(pix);
+ }
+ break;
+ case CSP_DockDisks_Domain_QD:
+ if((localnum < 8) && (localnum >= 0)) {
+ pQuickDisk[localnum]->setPixmap(pix);
+ }
+ break;
+ default:
+ break;
+ }
+}
--- /dev/null
+#ifndef _CSP_QT_DOCKWIDGET_BASE_H
+#define _CSP_QT_DOCKWIDGET_BASE_H
+
+#include <QObject>
+#include <QDockWidget>
+#include <QIcon>
+#include <QString>
+#include <QStringList>
+#include <QPixmap>
+
+class QLabel;
+
+enum {
+ CSP_DockDisks_Domain_Binary = 0,
+ CSP_DockDisks_Domain_Bubble,
+ CSP_DockDisks_Domain_Cart,
+ CSP_DockDisks_Domain_CMT,
+ CSP_DockDisks_Domain_CD,
+ CSP_DockDisks_Domain_FD,
+ CSP_DockDisks_Domain_HD,
+ CSP_DockDisks_Domain_LD,
+ CSP_DockDisks_Domain_QD,
+};
+
+QT_BEGIN_NAMESPACE
+class QVBoxLayout;
+
+class CSP_DockDisks : public QDockWidget {
+ Q_OBJECT
+protected:
+ QVBoxLayout *VBox;
+ QLabel *lBinary[8];
+ QLabel *lBubble[8];
+ QLabel *lCart[8];
+ QLabel *lCMT[2];
+ QLabel *lCompactDisc[2];
+ QLabel *lFloppyDisk[8];
+ QLabel *lHardDisk[8];
+ QLabel *lLaserDisc[2];
+ QLabel *lQuickDisk[8];
+
+public:
+ QLabel *pBinary[8];
+ QLabel *pBubble[8];
+ QLabel *pCart[8];
+ QLabel *pCMT[2];
+ QLabel *pCompactDisc[2];
+ QLabel *pFloppyDisk[8];
+ QLabel *pHardDisk[8];
+ QLabel *pLaserDisc[2];
+ QLabel *pQuickDisk[8];
+ CSP_DockDisks(QWidget *parent, Qt::WindowFlags flags = 0);
+ ~CSP_DockDisks();
+
+public slots:
+ void updateLabel(int dom, int localnum, QString str);
+ void updateMessage(int dom, int localnum, QString str);
+ void setVisible(int dom, int localNum, bool enabled);
+ void setPixmap(int dom, int localNum, const QPixmap &);
+};
+QT_END_NAMESPACE
+
+#endif
+
int sig_check_grab_mouse(bool);
int sig_mouse_enable(bool);
int sig_update_recent_disk(int);
- int sig_change_osd_fd(int, QString);
- int sig_change_osd_qd(int, QString);
- int sig_change_osd_cmt(QString);
- int sig_change_osd_cdrom(QString);
- int sig_change_osd_laserdisc(QString);
+ int sig_change_osd(int, int, QString);
int sig_update_recent_bubble(int);
int sig_change_osd_bubble(int, QString);
int sig_set_grid_vertical(int, bool);
class QLabel;
class QGraphicsEllipseItem;
class QClipboard;
+class QDockWidget;
+class QHBoxLayout;
+class QVBoxLayout;
class Ui_SoundDialog;
class GLDrawClass;
class Menu_BubbleClass;
class Menu_CompactDiscClass;
class Menu_LaserdiscClass;
+class CSP_DockDisks;
class MOVIE_SAVER;
class DLL_PREFIX Ui_MainWindowBase : public QMainWindow
{
QMainWindow *MainWindow;
QApplication *CoreApplication;
- QWidget *centralwidget;
+ CSP_DockDisks *driveData;
+ //QVBoxLayout *sidebarLayout;
+
GLDrawClass *graphicsView;
QStatusBar *statusbar;
QMenuBar *menubar;
void OnStartAutoKey(void);
void OnStopAutoKey(void);
- void do_change_osd_fd(int drv, QString tmpstr);
void eject_cart(int);
void set_recent_cart(int, int);
int set_recent_cdrom(int drv, int num);
void do_eject_cdrom(int drv);
void do_open_cdrom(int drv, QString path);
- void do_change_osd_cdrom(QString tmpstr);
int set_recent_laserdisc(int drv, int num);
void do_eject_laserdisc(int drv);
void do_open_laserdisc(int drv, QString path);
- void do_change_osd_laserdisc(QString tmpstr);
void CreateBinaryMenu(int drv, int drv_base);
void CreateBinaryPulldownMenu(int drv);
void _open_quick_disk(int drv, const QString fname);
void eject_Qd(int drv);
- void do_change_osd_qd(int drv, QString tmpstr);
virtual void _open_disk(int drv, const QString fname);
void _open_cart(int drv, const QString fname);
void set_direct_load_from_mzt(bool f);
void do_open_write_cmt(QString);
void do_open_read_cmt(int dummy, QString path);
- void do_change_osd_cmt(QString tmpstr);
void do_push_play_tape(void);
void do_push_stop_tape(void);
virtual int set_b77_slot(int drive, int num);
virtual void do_update_recent_bubble(int drv);
virtual int set_recent_bubble(int drv, int num);
- void do_change_osd_bubble(int drv, QString tmpstr);
virtual void _open_bubble(int drv, const QString fname);
virtual void eject_bubble(int drv);
#include <QLocale>
#include <QTranslator>
#include <QStatusBar>
-
+#include <QHBoxLayout>
+#include <QVBoxLayout>
+#include <QDockWidget>
#include "commonclasses.h"
#include "display_about.h"
#include "menu_compactdisc.h"
#include "menu_laserdisc.h"
#include "menu_bubble.h"
+#include "dock_disks.h"
#include "qt_gldraw.h"
//#include "emu.h"
bitmapImage = NULL;
+ driveData = new CSP_DockDisks(this, 0);
+ MainWindow->setDockOptions(QMainWindow::AnimatedDocks | QMainWindow::AllowTabbedDocks | QMainWindow::VerticalTabs);
+ if(using_flags->is_use_fd()) {
+ int i;
+ for(i = 0; i < using_flags->get_max_drive(); i++) driveData->setVisible(CSP_DockDisks_Domain_FD, i, true);
+ }
+ if(using_flags->is_use_qd()) {
+ int i;
+ for(i = 0; i < using_flags->get_max_qd(); i++) driveData->setVisible(CSP_DockDisks_Domain_QD, i, true);
+ }
+ if(using_flags->is_use_tape()) {
+ driveData->setVisible(CSP_DockDisks_Domain_CMT, 0, true);
+ }
+ if(using_flags->is_use_cart()) {
+ int i;
+ for(i = 0; i < using_flags->get_max_cart(); i++) {
+ driveData->setVisible(CSP_DockDisks_Domain_Cart, i, true);
+ }
+ }
+ if(using_flags->is_use_binary_file()) {
+ int i;
+ for(i = 0; i < using_flags->get_max_binary(); i++) {
+ driveData->setVisible(CSP_DockDisks_Domain_Binary, i, true);
+ }
+ }
+ if(using_flags->is_use_compact_disc()) {
+ driveData->setVisible(CSP_DockDisks_Domain_CD, 0, true);
+ }
+ if(using_flags->is_use_laser_disc()) {
+ driveData->setVisible(CSP_DockDisks_Domain_LD, 0, true);
+ }
+ if(using_flags->is_use_bubble()) {
+ int i;
+ for(i = 0; i < using_flags->get_max_qd(); i++) driveData->setVisible(CSP_DockDisks_Domain_Bubble, i, true);
+ }
+
+
MainWindow->setCentralWidget(graphicsView);
MainWindow->setFocusProxy(graphicsView);
-
+ MainWindow->addDockWidget(Qt::RightDockWidgetArea, driveData);
MainWindow->centralWidget()->adjustSize();
MainWindow->adjustSize();