diff --git a/src/qt/icons/86Box-gray.ico b/src/qt/icons/86Box-gray.ico index 68f278334..52fe1c49b 100644 Binary files a/src/qt/icons/86Box-gray.ico and b/src/qt/icons/86Box-gray.ico differ diff --git a/src/qt/icons/86Box-green.ico b/src/qt/icons/86Box-green.ico index 77b3419ab..90d2c50e4 100644 Binary files a/src/qt/icons/86Box-green.ico and b/src/qt/icons/86Box-green.ico differ diff --git a/src/qt/icons/86Box-red.ico b/src/qt/icons/86Box-red.ico index 36fbd2c99..645621bfc 100644 Binary files a/src/qt/icons/86Box-red.ico and b/src/qt/icons/86Box-red.ico differ diff --git a/src/qt/icons/86Box-yellow.ico b/src/qt/icons/86Box-yellow.ico index f6abcff4f..b7ea2a14e 100644 Binary files a/src/qt/icons/86Box-yellow.ico and b/src/qt/icons/86Box-yellow.ico differ diff --git a/src/qt/icons/active.ico b/src/qt/icons/active.ico index 999c94ee6..9569a3962 100644 Binary files a/src/qt/icons/active.ico and b/src/qt/icons/active.ico differ diff --git a/src/qt/icons/cartridge.ico b/src/qt/icons/cartridge.ico index 1c92e32c6..ed47a33df 100644 Binary files a/src/qt/icons/cartridge.ico and b/src/qt/icons/cartridge.ico differ diff --git a/src/qt/icons/cartridge_image.ico b/src/qt/icons/cartridge_image.ico index 4f01aa1a9..f537903f3 100644 Binary files a/src/qt/icons/cartridge_image.ico and b/src/qt/icons/cartridge_image.ico differ diff --git a/src/qt/icons/cassette.ico b/src/qt/icons/cassette.ico index d0ac9fb08..04b91285d 100644 Binary files a/src/qt/icons/cassette.ico and b/src/qt/icons/cassette.ico differ diff --git a/src/qt/icons/cassette_image.ico b/src/qt/icons/cassette_image.ico index fa6358050..77fef6cb7 100644 Binary files a/src/qt/icons/cassette_image.ico and b/src/qt/icons/cassette_image.ico differ diff --git a/src/qt/icons/cdrom.ico b/src/qt/icons/cdrom.ico index 0b28c73fe..2fe824b6c 100644 Binary files a/src/qt/icons/cdrom.ico and b/src/qt/icons/cdrom.ico differ diff --git a/src/qt/icons/cdrom_disabled.ico b/src/qt/icons/cdrom_disabled.ico index cd8b9b7a6..8ed68b363 100644 Binary files a/src/qt/icons/cdrom_disabled.ico and b/src/qt/icons/cdrom_disabled.ico differ diff --git a/src/qt/icons/cdrom_folder.ico b/src/qt/icons/cdrom_folder.ico index be8386b87..3472428ec 100644 Binary files a/src/qt/icons/cdrom_folder.ico and b/src/qt/icons/cdrom_folder.ico differ diff --git a/src/qt/icons/cdrom_host.ico b/src/qt/icons/cdrom_host.ico index 5065f347a..d8167f663 100644 Binary files a/src/qt/icons/cdrom_host.ico and b/src/qt/icons/cdrom_host.ico differ diff --git a/src/qt/icons/cdrom_image.ico b/src/qt/icons/cdrom_image.ico index 84fc233e2..b11b023f3 100644 Binary files a/src/qt/icons/cdrom_image.ico and b/src/qt/icons/cdrom_image.ico differ diff --git a/src/qt/icons/cdrom_mute.ico b/src/qt/icons/cdrom_mute.ico index 237c8b065..ee35a6c09 100644 Binary files a/src/qt/icons/cdrom_mute.ico and b/src/qt/icons/cdrom_mute.ico differ diff --git a/src/qt/icons/cdrom_nomedia.ico b/src/qt/icons/cdrom_nomedia.ico index ca3c58920..8b7e29f76 100644 Binary files a/src/qt/icons/cdrom_nomedia.ico and b/src/qt/icons/cdrom_nomedia.ico differ diff --git a/src/qt/icons/cdrom_unmute.ico b/src/qt/icons/cdrom_unmute.ico index 8e4cc70ed..59ae40020 100644 Binary files a/src/qt/icons/cdrom_unmute.ico and b/src/qt/icons/cdrom_unmute.ico differ diff --git a/src/qt/icons/floppy_35.ico b/src/qt/icons/floppy_35.ico index 9f4412fcc..724aa0d29 100644 Binary files a/src/qt/icons/floppy_35.ico and b/src/qt/icons/floppy_35.ico differ diff --git a/src/qt/icons/floppy_35_image.ico b/src/qt/icons/floppy_35_image.ico index d27b4be02..77a8011c5 100644 Binary files a/src/qt/icons/floppy_35_image.ico and b/src/qt/icons/floppy_35_image.ico differ diff --git a/src/qt/icons/floppy_525.ico b/src/qt/icons/floppy_525.ico index 017cae3a8..72249721b 100644 Binary files a/src/qt/icons/floppy_525.ico and b/src/qt/icons/floppy_525.ico differ diff --git a/src/qt/icons/floppy_525_image.ico b/src/qt/icons/floppy_525_image.ico index ae3a4d8a4..dad67ed6c 100644 Binary files a/src/qt/icons/floppy_525_image.ico and b/src/qt/icons/floppy_525_image.ico differ diff --git a/src/qt/icons/floppy_and_cdrom_drives.ico b/src/qt/icons/floppy_and_cdrom_drives.ico index eb0ab95ed..1ddc61dc5 100644 Binary files a/src/qt/icons/floppy_and_cdrom_drives.ico and b/src/qt/icons/floppy_and_cdrom_drives.ico differ diff --git a/src/qt/icons/floppy_disabled.ico b/src/qt/icons/floppy_disabled.ico index 439996c81..ca190eaab 100644 Binary files a/src/qt/icons/floppy_disabled.ico and b/src/qt/icons/floppy_disabled.ico differ diff --git a/src/qt/icons/mo.ico b/src/qt/icons/mo.ico index de16a1482..f1cbbe6e9 100644 Binary files a/src/qt/icons/mo.ico and b/src/qt/icons/mo.ico differ diff --git a/src/qt/icons/mo_disabled.ico b/src/qt/icons/mo_disabled.ico index 4464b6b1c..05c5f4850 100644 Binary files a/src/qt/icons/mo_disabled.ico and b/src/qt/icons/mo_disabled.ico differ diff --git a/src/qt/icons/other_removable_devices.ico b/src/qt/icons/other_removable_devices.ico index ed5db133c..d26fb7918 100644 Binary files a/src/qt/icons/other_removable_devices.ico and b/src/qt/icons/other_removable_devices.ico differ diff --git a/src/qt/icons/ports.ico b/src/qt/icons/ports.ico index bd7f3f518..c4bd02c20 100644 Binary files a/src/qt/icons/ports.ico and b/src/qt/icons/ports.ico differ diff --git a/src/qt/icons/rdisk.ico b/src/qt/icons/rdisk.ico index eeeaa50ee..ac5cc5fb0 100644 Binary files a/src/qt/icons/rdisk.ico and b/src/qt/icons/rdisk.ico differ diff --git a/src/qt/icons/rdisk_disabled.ico b/src/qt/icons/rdisk_disabled.ico index eb2dd9d1b..e26bf03f8 100644 Binary files a/src/qt/icons/rdisk_disabled.ico and b/src/qt/icons/rdisk_disabled.ico differ diff --git a/src/qt/icons/rdisk_image.ico b/src/qt/icons/rdisk_image.ico index 82fd868fd..b19fea250 100644 Binary files a/src/qt/icons/rdisk_image.ico and b/src/qt/icons/rdisk_image.ico differ diff --git a/src/qt/icons/superdisk.ico b/src/qt/icons/superdisk.ico deleted file mode 100644 index ac5cc5fb0..000000000 Binary files a/src/qt/icons/superdisk.ico and /dev/null differ diff --git a/src/qt/icons/superdisk_disabled.ico b/src/qt/icons/superdisk_disabled.ico deleted file mode 100644 index e4fa80370..000000000 Binary files a/src/qt/icons/superdisk_disabled.ico and /dev/null differ diff --git a/src/qt/icons/superdisk_image.ico b/src/qt/icons/superdisk_image.ico deleted file mode 100644 index b8c854fd2..000000000 Binary files a/src/qt/icons/superdisk_image.ico and /dev/null differ diff --git a/src/qt/icons/zip.ico b/src/qt/icons/zip.ico new file mode 100644 index 000000000..0a8a243cd Binary files /dev/null and b/src/qt/icons/zip.ico differ diff --git a/src/qt/icons/zip_image.ico b/src/qt/icons/zip_image.ico new file mode 100644 index 000000000..daa8c7d8d Binary files /dev/null and b/src/qt/icons/zip_image.ico differ diff --git a/src/qt/qt_machinestatus.cpp b/src/qt/qt_machinestatus.cpp index e6f6c824e..668ebaf62 100644 --- a/src/qt/qt_machinestatus.cpp +++ b/src/qt/qt_machinestatus.cpp @@ -106,7 +106,9 @@ struct Pixmaps { PixmapSetEmptyActive floppy_525; PixmapSetEmptyActive floppy_35; PixmapSetEmptyActive cdrom; + PixmapSetEmptyActive rdisk_disabled; PixmapSetEmptyActive rdisk; + PixmapSetEmptyActive zip; PixmapSetEmptyActive mo; PixmapSetActive hd; PixmapSetEmptyActive net; @@ -327,7 +329,15 @@ struct MachineStatus::States { pixmaps.floppy_525.load(QIcon(":/settings/qt/icons/floppy_525.ico")); pixmaps.floppy_35.load(QIcon(":/settings/qt/icons/floppy_35.ico")); pixmaps.cdrom.load(QIcon(":/settings/qt/icons/cdrom.ico")); + pixmaps.rdisk_disabled.normal = QIcon(":/settings/qt/icons/rdisk_disabled.ico").pixmap(pixmap_size); + pixmaps.rdisk_disabled.active = pixmaps.rdisk_disabled.normal; + pixmaps.rdisk_disabled.read_write_active = pixmaps.rdisk_disabled.normal; + pixmaps.rdisk_disabled.empty = pixmaps.rdisk_disabled.normal; + pixmaps.rdisk_disabled.empty_active = pixmaps.rdisk_disabled.normal; + pixmaps.rdisk_disabled.empty_write_active = pixmaps.rdisk_disabled.normal; + pixmaps.rdisk_disabled.empty_read_write_active = pixmaps.rdisk_disabled.normal; pixmaps.rdisk.load(QIcon(":/settings/qt/icons/rdisk.ico")); + pixmaps.zip.load(QIcon(":/settings/qt/icons/zip.ico")); pixmaps.mo.load(QIcon(":/settings/qt/icons/mo.ico")); pixmaps.hd.load(QIcon(":/settings/qt/icons/hard_disk.ico")); pixmaps.net.load(QIcon(":/settings/qt/icons/network.ico")); @@ -758,6 +768,14 @@ MachineStatus::refresh(QStatusBar *sbar) }); iterateRDisk([this, sbar](int i) { + int t = rdisk_drives[i].type; + if (rdisk_drives[i].bus_type == RDISK_BUS_DISABLED) { + d->rdisk[i].pixmaps = &d->pixmaps.rdisk_disabled; + } else if ((t == RDISK_TYPE_ZIP_100) || (t == RDISK_TYPE_ZIP_250)) { + d->fdd[i].pixmaps = &d->pixmaps.zip; + } else { + d->fdd[i].pixmaps = &d->pixmaps.rdisk; + } d->rdisk[i].label = std::make_unique(); d->rdisk[i].setEmpty(QString(rdisk_drives[i].image_path).isEmpty()); if (QString(rdisk_drives[i].image_path).isEmpty()) diff --git a/src/qt/qt_mediamenu.cpp b/src/qt/qt_mediamenu.cpp index cdff36469..feb732c2e 100644 --- a/src/qt/qt_mediamenu.cpp +++ b/src/qt/qt_mediamenu.cpp @@ -195,7 +195,8 @@ MediaMenu::refresh(QMenu *parentMenu) rdiskMenus.clear(); MachineStatus::iterateRDisk([this, parentMenu](int i) { auto *menu = parentMenu->addMenu(""); - QIcon img_icon = QIcon(":/settings/qt/icons/rdisk_image.ico"); + int t = rdisk_drives[i].type; + QIcon img_icon = ((t == RDISK_TYPE_ZIP_100) || (t == RDISK_TYPE_ZIP_250)) ? QIcon(":/settings/qt/icons/zip_image.ico") : QIcon(":/settings/qt/icons/rdisk_image.ico"); menu->addAction(getIconWithIndicator(img_icon, pixmap_size, QIcon::Normal, New), tr("&New image…"), [this, i]() { rdiskNewImage(i); }); menu->addSeparator(); menu->addAction(getIconWithIndicator(img_icon, pixmap_size, QIcon::Normal, Browse), tr("&Existing image…"), [this, i]() { rdiskSelectImage(i, false); }); diff --git a/src/qt/qt_settingsotherremovable.cpp b/src/qt/qt_settingsotherremovable.cpp index 567eaa3e2..e00e3686f 100644 --- a/src/qt/qt_settingsotherremovable.cpp +++ b/src/qt/qt_settingsotherremovable.cpp @@ -67,7 +67,7 @@ SettingsOtherRemovable::setMOBus(QAbstractItemModel *model, const QModelIndex &i } void -SettingsOtherRemovable::setRDiskBus(QAbstractItemModel *model, const QModelIndex &idx, uint8_t bus, uint8_t channel) +SettingsOtherRemovable::setRDiskBus(QAbstractItemModel *model, const QModelIndex &idx, uint8_t bus, uint32_t type, uint8_t channel) { QIcon icon; switch (bus) { @@ -76,7 +76,7 @@ SettingsOtherRemovable::setRDiskBus(QAbstractItemModel *model, const QModelIndex break; case RDISK_BUS_ATAPI: case RDISK_BUS_SCSI: - icon = rdisk_icon; + icon = ((type == RDISK_TYPE_ZIP_100) || (type == RDISK_TYPE_ZIP_250)) ? zip_icon : rdisk_icon; break; default: @@ -101,15 +101,30 @@ setMOType(QAbstractItemModel *model, const QModelIndex &idx, uint32_t type) model->setData(i, type, Qt::UserRole); } -static void -setRDiskType(QAbstractItemModel *model, const QModelIndex &idx, uint32_t type) +void +SettingsOtherRemovable::setRDiskType(QAbstractItemModel *model, const QModelIndex &idx, uint8_t bus, uint32_t type) { + QIcon icon; + switch (bus) { + case RDISK_BUS_DISABLED: + icon = rdisk_disabled_icon; + break; + case RDISK_BUS_ATAPI: + case RDISK_BUS_SCSI: + icon = ((type == RDISK_TYPE_ZIP_100) || (type == RDISK_TYPE_ZIP_250)) ? zip_icon : rdisk_icon; + break; + + default: + break; + } + auto i = idx.siblingAtColumn(1); if (idx.siblingAtColumn(0).data(Qt::UserRole).toUInt() == RDISK_BUS_DISABLED) model->setData(i, QCoreApplication::translate("", "None")); else model->setData(i, rdiskDriveTypeName(type)); model->setData(i, type, Qt::UserRole); + model->setData(i, icon, Qt::DecorationRole); } SettingsOtherRemovable::SettingsOtherRemovable(QWidget *parent) @@ -147,6 +162,7 @@ SettingsOtherRemovable::SettingsOtherRemovable(QWidget *parent) rdisk_disabled_icon = QIcon(":/settings/qt/icons/rdisk_disabled.ico"); rdisk_icon = QIcon(":/settings/qt/icons/rdisk.ico"); + zip_icon = QIcon(":/settings/qt/icons/zip.ico"); Harddrives::populateRemovableBuses(ui->comboBoxRDiskBus->model()); if ((ui->comboBoxRDiskBus->model()->rowCount() - 3) > 0) @@ -163,8 +179,8 @@ SettingsOtherRemovable::SettingsOtherRemovable(QWidget *parent) model->insertRows(0, RDISK_NUM); for (int i = 0; i < RDISK_NUM; i++) { auto idx = model->index(i, 0); - setRDiskBus(model, idx, rdisk_drives[i].bus_type, rdisk_drives[i].res); - setRDiskType(model, idx.siblingAtColumn(1), rdisk_drives[i].type); + setRDiskBus(model, idx, rdisk_drives[i].bus_type, rdisk_drives[i].type, rdisk_drives[i].res); + setRDiskType(model, idx.siblingAtColumn(1), rdisk_drives[i].bus_type, rdisk_drives[i].type); Harddrives::busTrackClass->device_track(1, DEV_MO, rdisk_drives[i].bus_type, rdisk_drives[i].bus_type == RDISK_BUS_ATAPI ? rdisk_drives[i].ide_channel : rdisk_drives[i].scsi_device_id); } ui->tableViewRDisk->resizeColumnsToContents(); @@ -317,9 +333,11 @@ SettingsOtherRemovable::on_comboBoxRDiskBus_activated(int) setRDiskBus(ui->tableViewRDisk->model(), ui->tableViewRDisk->selectionModel()->currentIndex(), ui->comboBoxRDiskBus->currentData().toUInt(), + ui->comboBoxRDiskType->currentData().toUInt(), ui->comboBoxRDiskChannel->currentData().toUInt()); setRDiskType(ui->tableViewRDisk->model(), ui->tableViewRDisk->selectionModel()->currentIndex(), + ui->comboBoxRDiskBus->currentData().toUInt(), ui->comboBoxRDiskType->currentData().toUInt()); ui->tableViewRDisk->resizeColumnsToContents(); ui->tableViewRDisk->horizontalHeader()->setSectionResizeMode(0, QHeaderView::Stretch); @@ -367,6 +385,7 @@ SettingsOtherRemovable::on_comboBoxRDiskChannel_activated(int) setRDiskBus(ui->tableViewRDisk->model(), ui->tableViewRDisk->selectionModel()->currentIndex(), ui->comboBoxRDiskBus->currentData().toUInt(), + ui->comboBoxRDiskType->currentData().toUInt(), ui->comboBoxRDiskChannel->currentData().toUInt()); Harddrives::busTrackClass->device_track(1, DEV_RDISK, ui->tableViewRDisk->model()->data(i, Qt::UserRole).toInt(), ui->tableViewRDisk->model()->data(i, Qt::UserRole + 1).toInt()); @@ -388,6 +407,7 @@ SettingsOtherRemovable::on_comboBoxRDiskType_activated(int) { setRDiskType(ui->tableViewRDisk->model(), ui->tableViewRDisk->selectionModel()->currentIndex(), + ui->comboBoxRDiskBus->currentData().toUInt(), ui->comboBoxRDiskType->currentData().toUInt()); ui->tableViewRDisk->resizeColumnsToContents(); ui->tableViewRDisk->horizontalHeader()->setSectionResizeMode(0, QHeaderView::Stretch); diff --git a/src/qt/qt_settingsotherremovable.hpp b/src/qt/qt_settingsotherremovable.hpp index 794939589..a06bd9a37 100644 --- a/src/qt/qt_settingsotherremovable.hpp +++ b/src/qt/qt_settingsotherremovable.hpp @@ -40,7 +40,8 @@ private: Ui::SettingsOtherRemovable *ui; void setMOBus(QAbstractItemModel *model, const QModelIndex &idx, uint8_t bus, uint8_t channel); - void setRDiskBus(QAbstractItemModel *model, const QModelIndex &idx, uint8_t bus, uint8_t channel); + void setRDiskBus(QAbstractItemModel *model, const QModelIndex &idx, uint8_t bus, uint32_t type, uint8_t channel); + void setRDiskType(QAbstractItemModel *model, const QModelIndex &idx, uint8_t bus, uint32_t type); void enableCurrentlySelectedChannel_MO(); void enableCurrentlySelectedChannel_RDisk(); @@ -48,6 +49,7 @@ private: QIcon mo_icon; QIcon rdisk_disabled_icon; QIcon rdisk_icon; + QIcon zip_icon; }; #endif // QT_SETTINGSOTHERREMOVABLE_HPP diff --git a/src/qt_resources.qrc b/src/qt_resources.qrc index 4b069cb3f..a356260c3 100644 --- a/src/qt_resources.qrc +++ b/src/qt_resources.qrc @@ -36,9 +36,8 @@ qt/icons/rewind.ico qt/icons/sound.ico qt/icons/storage_controllers.ico - qt/icons/superdisk.ico - qt/icons/superdisk_image.ico - qt/icons/superdisk_disabled.ico + qt/icons/zip.ico + qt/icons/zip_image.ico qt/icons/active.ico qt/icons/browse.ico qt/icons/eject.ico