diff --git a/icons.py b/icons.py
new file mode 100644
index 0000000..681be37
--- /dev/null
+++ b/icons.py
@@ -0,0 +1,31 @@
+import sys
+
+from PySide6.QtWidgets import QApplication, QGridLayout, QPushButton, QStyle, QWidget
+
+
+class Window(QWidget):
+ def __init__(self):
+ super().__init__()
+
+ icons = sorted(
+ [attr for attr in dir(QStyle.StandardPixmap) if attr.startswith("SP_")]
+ )
+ layout = QGridLayout()
+
+ for n, name in enumerate(icons):
+ btn = QPushButton(name)
+
+ pixmapi = getattr(QStyle, name)
+ icon = self.style().standardIcon(pixmapi)
+ btn.setIcon(icon)
+ layout.addWidget(btn, n // 4, n % 4)
+
+ self.setLayout(layout)
+
+
+app = QApplication(sys.argv)
+
+w = Window()
+w.show()
+
+app.exec()
diff --git a/main.py b/main.py
index 6b912d5..24aa6ee 100644
--- a/main.py
+++ b/main.py
@@ -9,9 +9,11 @@ from PySide6.QtWidgets import (
QVBoxLayout,
QHBoxLayout,
QLabel,
+ QFileDialog,
)
from PySide6.QtCore import Slot
-
+import json
+import os
from readdisk import ReadDiskWindow
from ui_main_window import Ui_MainWindow
from ui_read_disk import Ui_ReadDialog
@@ -21,6 +23,8 @@ class MainWindow(QtWidgets.QMainWindow):
def __init__(self):
super().__init__()
+ self.settings = {}
+
# Create an instance of the UI class
self.ui = Ui_MainWindow()
# Call its setupUi method, passing in the current window (self)
@@ -54,8 +58,25 @@ class MainWindow(QtWidgets.QMainWindow):
@Slot()
def on_execute(self):
read_disk_window = ReadDiskWindow()
+ if self.load_settings("settings.json"):
+ read_disk_window.set_settings(self.settings)
read_disk_window.exec()
-
+ self.settings = read_disk_window.get_settings()
+ self.save_settings("settings.json")
+
+ def load_settings(self, file_name):
+ if file_name:
+ if os.path.exists(file_name):
+ with open(file_name, 'r') as f:
+ self.settings = json.load(f)
+ return True
+ return False
+
+ def save_settings(self, file_name):
+ if file_name:
+ with open(file_name, 'w') as f:
+ json.dump(self.settings, f, indent=2)
+
if __name__ == "__main__":
app = QtWidgets.QApplication(sys.argv)
diff --git a/readdisk.py b/readdisk.py
index 590dae3..43b7164 100644
--- a/readdisk.py
+++ b/readdisk.py
@@ -1,8 +1,7 @@
-import sys
-from PySide6.QtWidgets import QApplication, QDialog, QButtonGroup
+import sys, os, subprocess
+from PySide6.QtWidgets import QApplication, QDialog, QButtonGroup, QFileDialog, QMessageBox
from PySide6.QtCore import Slot
from PySide6.QtGui import QIntValidator
-
# Import the generated UI class from the ui_form.py file
from ui_read_disk import Ui_ReadDialog
@@ -23,16 +22,52 @@ class ReadDiskWindow(QDialog):
self.pin2_setting_group.addButton(self.ui.rb_pin2_low, 2)
# --- Connect Signals to Slots ---
- self.ui.cb_fake_index.toggled.connect(self.on_fake_index_toggled)
- self.on_fake_index_toggled(self.ui.cb_fake_index.isChecked())
-
- self.ui.le_double_step.setValidator(QIntValidator(0, 9))
- self.ui.le_revs.setValidator(QIntValidator(0, 999999))
- self.ui.le_bitrate.setValidator(QIntValidator(0, 999999))
- self.ui.le_retries.setValidator(QIntValidator(0, 999999))
- self.ui.le_fake_index.setValidator(QIntValidator(0, 999999))
- self.ui.le_period.setValidator(QIntValidator(0, 999999))
- self.ui.le_phase.setValidator(QIntValidator(0, 999999))
+ self.ui.cb_fake_index.toggled.connect(self.on_update_settings)
+ self.ui.cb_bitrate.toggled.connect(self.on_update_settings)
+ self.ui.cb_double_step.toggled.connect(self.on_update_settings)
+ self.ui.cb_revs.toggled.connect(self.on_update_settings)
+ self.ui.cb_drive_select.toggled.connect(self.on_update_settings)
+ self.ui.cb_pllspec.toggled.connect(self.on_update_settings)
+ self.ui.cb_retries.toggled.connect(self.on_update_settings)
+ self.ui.cb_head_sets.toggled.connect(self.on_update_settings)
+ self.ui.cb_head_swap.toggled.connect(self.on_update_settings)
+ self.ui.cb_ss_legacy.toggled.connect(self.on_update_settings)
+ self.ui.cb_cylinder_sets.toggled.connect(self.on_update_settings)
+ self.ui.cb_rev_track_data.toggled.connect(self.on_update_settings)
+ self.ui.cb_hard_sectors.toggled.connect(self.on_update_settings)
+ self.ui.cb_no_clobber.toggled.connect(self.on_update_settings)
+ self.ui.cb_raw.toggled.connect(self.on_update_settings)
+ self.ui.cb_pin2.toggled.connect(self.on_update_settings)
+ self.ui.rb_pin2_high.toggled.connect(self.on_update_settings)
+ self.ui.rb_pin2_low.toggled.connect(self.on_update_settings)
+ self.ui.cb_flippy.toggled.connect(self.on_update_settings)
+ self.ui.rb_panasonic.toggled.connect(self.on_update_settings)
+ self.ui.rb_teac.toggled.connect(self.on_update_settings)
+ self.ui.cb_adjust_speed.toggled.connect(self.on_update_settings)
+ self.ui.combo_drive_select.currentIndexChanged.connect(self.on_update_settings)
+ self.ui.combo_fake_index.currentIndexChanged.connect(self.on_update_settings)
+ self.ui.combo_adjust_speed.currentIndexChanged.connect(self.on_update_settings)
+ self.ui.combo_disktype.currentIndexChanged.connect(self.on_update_settings)
+ self.ui.combo_format.currentIndexChanged.connect(self.on_update_settings)
+ self.ui.le_fake_index.textChanged.connect(self.on_update_settings)
+ self.ui.le_lowpass.textChanged.connect(self.on_update_settings)
+ self.ui.le_period.textChanged.connect(self.on_update_settings)
+ self.ui.le_phase.textChanged.connect(self.on_update_settings)
+ self.ui.le_bitrate.textChanged.connect(self.on_update_settings)
+ self.ui.le_revs.textChanged.connect(self.on_update_settings)
+ self.ui.le_double_step.textChanged.connect(self.on_update_settings)
+ self.ui.le_retries.textChanged.connect(self.on_update_settings)
+ self.ui.le_head_sets.textChanged.connect(self.on_update_settings)
+ self.ui.le_cylinder_sets.textChanged.connect(self.on_update_settings)
+ self.ui.le_adjust_speed.textChanged.connect(self.on_update_settings)
+ self.ui.le_suffix.textChanged.connect(self.on_update_settings)
+ self.ui.le_fileprefix.textChanged.connect(self.on_update_settings)
+ #self.ui.btn_suffix_inc.clicked.connect(self.on_update_settings)
+ #self.ui.btn_suffix_dec.clicked.connect(self.on_update_settings)
+ # self.ui.btn_path_select.clicked.connect(self.on_path_select)
+ self.ui.btn_file_select.clicked.connect(self.on_update_settings)
+ self.ui.cb_format.toggled.connect(self.on_update_settings)
+ self.ui.cb_inc.toggled.connect(self.on_update_settings)
# --- Connect Buttons to Dialog's Built-in Slots ---
# The "Launch" button will "accept" the dialog (like OK)
@@ -40,59 +75,277 @@ class ReadDiskWindow(QDialog):
self.ui.btn_launch.clicked.connect(self.on_launch)
self.ui.btn_back.clicked.connect(self.reject)
- @Slot(bool)
- def on_fake_index_toggled(self, checked):
- """Enables or disables the Fake Index widgets."""
- self.ui.le_fake_index.setEnabled(checked)
- self.ui.combo_fake_index.setEnabled(checked)
+ # Initialize command attribute
+ self.command = ""
+
+ def calc_suffix(self, inc: int) -> None:
+ # Increments or decrements the numeric value in the suffix text field.
+ try:
+ current_value = int(self.ui.le_suffix.text())
+ current_value = current_value + inc
+ except ValueError:
+ current_value = 0
+
+ self.ui.le_suffix.setText(str(current_value))
+
+ @Slot()
+ def on_btn_suffix_inc_clicked(self):
+ self.calc_suffix(1)
+
+ @Slot()
+ def on_btn_suffix_dec_clicked(self):
+ self.calc_suffix(-1)
+
+ @Slot()
+ def on_btn_file_select_clicked(self):
+ file, ok = QFileDialog.getOpenFileName(self, "Select File", self.ui.le_filepath.text())
+
+ if file == "":
+ return
+
+ file_path, file_name = os.path.split(file)
+ name, extension = os.path.splitext(file_name)
+
+ self.ui.le_filepath.setText(file_path)
+ self.ui.le_fileprefix.setText(name)
+ self.ui.le_suffix.setText("")
+ self.ui.combo_disktype.setCurrentText(extension)
+ self.on_update_settings()
+
+ @Slot()
+ def on_btn_path_select_clicked(self):
+ path = QFileDialog.getExistingDirectory(self, "Select Folder")
+ self.ui.le_filepath.setText(path)
+ self.on_update_settings()
@Slot()
def on_launch(self):
- filename = "my_disk"
- tracks = ""
-
- if self.ui.cb_double_step.isChecked():
- tracks = "step=" + self.ui.le_double_step.text()
-
- if self.ui.cb_revs.isChecked():
- revs = " --revs=" + self.ui.le_revs.text()
-
- if self.ui.cb_drive_select.isChecked():
- drive = " --drive=" + self.ui.combo_drive_select.currentText()
-
- if self.ui.cb_bitrate.isChecked():
- bitrate = "bitrate=" + self.ui.le_bitrate.text()
-
- if self.ui.cb_retries.isChecked():
- retries = " --retries=" + self.ui.le_retries.text()
-
- if self.ui.cb_fake_index.isChecked():
- fake_index = " --fake-index=" + self.ui.le_fake_index.text() + self.ui.combo_fake_index.currentText()
-
- if self.ui.cb_pllspec.isChecked():
- pll = " --pll=period=" + self.ui.le_period.text() + ":phase=" + self.ui.le_phase.text()
-
- if tracks != "":
- tracks = " --tracks=" + tracks
-
- if bitrate != "":
- filename = filename + "::" + bitrate
-
- command = "gw read " + tracks + revs + drive + fake_index + pll + retries + ' "' + filename + '"'
-
- self.ui.te_command_line.setPlainText(command)
+ try:
+ completed = subprocess.run(self.command, check=True)
+ except FileNotFoundError as e:
+ QMessageBox.critical(self, "Error", f"Command not found: {e}")
+ except subprocess.CalledProcessError as e:
+ QMessageBox.critical(self, "Error", f"Failed to launch command: {e}")
+ if self.ui.cb_inc.isChecked():
+ self.calc_suffix(1)
+
def get_settings(self):
"""
A helper method to gather all settings from the UI into a dictionary.
This is a clean way to pass the data out of the dialog.
"""
settings = {
- "filename": self.ui.le_filename.text(),
+ "fileprefix": self.ui.le_fileprefix.text(),
+ "filepath": self.ui.le_filepath.text(),
"double_step_enabled": self.ui.cb_double_step.isChecked(),
"double_step_value": self.ui.le_double_step.text(),
"fake_index_enabled": self.ui.cb_fake_index.isChecked(),
"fake_index_value": self.ui.le_fake_index.text(),
- # Add all other settings here...
+ "fake_index_unit": self.ui.combo_fake_index.currentText(),
+ "bitrate_enabled": self.ui.cb_bitrate.isChecked(),
+ "bitrate_value": self.ui.le_bitrate.text(),
+ "revs_enabled": self.ui.cb_revs.isChecked(),
+ "revs_value": self.ui.le_revs.text(),
+ "drive_select_enabled": self.ui.cb_drive_select.isChecked(),
+ "drive_select_value": self.ui.combo_drive_select.currentText(),
+ "retries_enabled": self.ui.cb_retries.isChecked(),
+ "retries_value": self.ui.le_retries.text(),
+ "pllspec_enabled": self.ui.cb_pllspec.isChecked(),
+ "pll_period": self.ui.le_period.text(),
+ "pll_phase": self.ui.le_phase.text(),
+ "pll_lowpass": self.ui.le_lowpass.text(),
+ "head_sets_enabled": self.ui.cb_head_sets.isChecked(),
+ "head_sets_value": self.ui.le_head_sets.text(),
+ "head_swap_enabled": self.ui.cb_head_swap.isChecked(),
+ "ss_legacy_enabled": self.ui.cb_ss_legacy.isChecked(),
+ "cylinder_sets_enabled": self.ui.cb_cylinder_sets.isChecked(),
+ "cylinder_sets_value": self.ui.le_cylinder_sets.text(),
+ "rev_track_data_enabled": self.ui.cb_rev_track_data.isChecked(),
+ "hard_sectors_enabled": self.ui.cb_hard_sectors.isChecked(),
+ "no_clobber_enabled": self.ui.cb_no_clobber.isChecked(),
+ "raw_enabled": self.ui.cb_raw.isChecked(),
+ "pin2_enabled": self.ui.cb_pin2.isChecked(),
+ "pin2_high": self.ui.rb_pin2_high.isChecked(),
+ "pin2_low": self.ui.rb_pin2_low.isChecked(),
+ "flippy_enabled": self.ui.cb_flippy.isChecked(),
+ "flippy_panasonic": self.ui.rb_panasonic.isChecked(),
+ "flippy_teac": self.ui.rb_teac.isChecked(),'"' +
+ "adjust_speed_enabled": self.ui.cb_adjust_speed.isChecked(),
+ "adjust_speed_value": self.ui.le_adjust_speed.text(),
+ "adjust_speed_unit": self.ui.combo_adjust_speed.currentText(),
+ "suffix_value": self.ui.le_suffix.text(),
+ "inc_enabled": self.ui.cb_inc.isChecked(),
+ "format_enabled": self.ui.cb_format.isChecked(),
+ "format_value": self.ui.combo_format.currentText(),
+ "disktype_value": self.ui.combo_disktype.currentText(),
}
- return settings
\ No newline at end of file
+
+ return settings
+
+ def set_settings(self, settings):
+ self.ui.le_fileprefix.setText(settings.get("fileprefix", ""))
+ self.ui.le_filepath.setText(settings.get("filepath", ""))
+ self.ui.cb_double_step.setChecked(settings.get("double_step_enabled", False))
+ self.ui.le_double_step.setText(settings.get("double_step_value", ""))
+ self.ui.cb_fake_index.setChecked(settings.get("fake_index_enabled", False))
+ self.ui.le_fake_index.setText(settings.get("fake_index_value", ""))
+ self.ui.combo_fake_index.setCurrentText(settings.get("fake_index_unit", ""))
+ self.ui.cb_bitrate.setChecked(settings.get("bitrate_enabled", False))
+ self.ui.le_bitrate.setText(settings.get("bitrate_value", ""))
+ self.ui.cb_revs.setChecked(settings.get("revs_enabled", False))
+ self.ui.le_revs.setText(settings.get("revs_value", ""))
+ self.ui.cb_drive_select.setChecked(settings.get("drive_select_enabled", False))
+ self.ui.combo_drive_select.setCurrentText(settings.get("drive_select_value", ""))
+ self.ui.cb_retries.setChecked(settings.get("retries_enabled", False))
+ self.ui.le_retries.setText(settings.get("retries_value", ""))
+ self.ui.cb_pllspec.setChecked(settings.get("pllspec_enabled", False))
+ self.ui.le_period.setText(settings.get("pll_period", ""))
+ self.ui.le_phase.setText(settings.get("pll_phase", ""))
+ self.ui.le_lowpass.setText(settings.get("pll_lowpass", ""))
+ self.ui.cb_head_sets.setChecked(settings.get("head_sets_enabled", False))
+ self.ui.le_head_sets.setText(settings.get("head_sets_value", ""))
+ self.ui.cb_head_swap.setChecked(settings.get("head_swap_enabled", False))
+ self.ui.cb_ss_legacy.setChecked(settings.get("ss_legacy_enabled", False))
+ self.ui.cb_cylinder_sets.setChecked(settings.get("cylinder_sets_enabled", False))
+ self.ui.le_cylinder_sets.setText(settings.get("cylinder_sets_value", ""))
+ self.ui.cb_rev_track_data.setChecked(settings.get("rev_track_data_enabled", False))
+ self.ui.cb_hard_sectors.setChecked(settings.get("hard_sectors_enabled", False))
+ self.ui.cb_no_clobber.setChecked(settings.get("no_clobber_enabled", False))
+ self.ui.cb_raw.setChecked(settings.get("raw_enabled", False))
+ self.ui.cb_pin2.setChecked(settings.get("pin2_enabled", False))
+ self.ui.rb_pin2_high.setChecked(settings.get("pin2_high", False))
+ self.ui.rb_pin2_low.setChecked(settings.get("pin2_low", False))
+ self.ui.cb_flippy.setChecked(settings.get("flippy_enabled", False))
+ self.ui.rb_panasonic.setChecked(settings.get("flippy_panasonic", False))
+ self.ui.rb_teac.setChecked(settings.get("flippy_teac", False))
+ self.ui.cb_adjust_speed.setChecked(settings.get("adjust_speed_enabled", False))
+ self.ui.le_adjust_speed.setText(settings.get("adjust_speed_value", ""))
+ self.ui.combo_adjust_speed.setCurrentText(settings.get("adjust_speed_unit", ""))
+ self.ui.le_suffix.setText(settings.get("suffix_value", ""))
+ self.ui.cb_inc.setChecked(settings.get("inc_enabled", False))
+ self.ui.cb_format.setChecked(settings.get("format_enabled", False))
+ self.ui.combo_format.setCurrentText(settings.get("format_value", ""))
+ self.ui.combo_disktype.setCurrentText(settings.get("disktype_value", ""))
+ # Note: command is not set here, as it is generated from UI state
+
+ def on_update_settings(self, *args, **kwargs):
+ fileprefix = self.ui.le_fileprefix.text()
+ drive = ""
+ bitrate = ""
+ legacy_ss = ""
+ revs = ""
+ retries = ""
+ fake_index = ""
+ pll = ""
+ tracks = ""
+ densel = ""
+ no_clobber = ""
+ raw = ""
+ reverse = ""
+ hard_sectors = ""
+ adjust_speed = ""
+ disktype = ""
+
+ if self.ui.cb_revs.isChecked():
+ revs = "--revs=" + self.ui.le_revs.text()
+
+ if self.ui.cb_drive_select.isChecked():
+ drive = "--drive=" + self.ui.combo_drive_select.currentText()
+
+ if self.ui.cb_bitrate.isChecked():
+ bitrate = "::bitrate=" + self.ui.le_bitrate.text()
+
+ if self.ui.cb_ss_legacy.isChecked():
+ legacy_ss = "::legacy_ss"
+
+ if self.ui.cb_retries.isChecked():
+ retries = "--retries=" + self.ui.le_retries.text()
+
+ if self.ui.cb_fake_index.isChecked(): command = " ".join(self.command)
+
+
+ fake_index = "--fake-index=" + self.ui.le_fake_index.text() + self.ui.combo_fake_index.currentText()
+
+ if self.ui.cb_pllspec.isChecked():
+ pll = "--pll=period=" + self.ui.le_period.text() + ":phase=m" + self.ui.le_phase.text()
+
+ if self.ui.le_lowpass.text() != "":
+ pll = pll + ":lowpass=" + self.ui.le_lowpass.text()
+
+ # --tracks combines multiple settings into a single argument
+ if self.ui.cb_double_step.isChecked():
+ tracks = "step=" + self.ui.le_double_step.text()
+
+ if self.ui.cb_cylinder_sets.isChecked():
+ if tracks != "":
+ tracks = tracks + ":"
+
+ tracks = tracks + "c=" + self.ui.le_cylinder_sets.text()
+
+ if self.ui.cb_head_sets.isChecked():
+ if tracks != "":
+ tracks = tracks + ":"
+
+ tracks = tracks + "h=" + self.ui.le_head_sets.text()
+
+ if self.ui.cb_head_swap.isChecked():
+ if tracks != "":
+ tracks = tracks + ":"
+
+ tracks = tracks + "hswap"
+
+ if self.ui.cb_flippy.isChecked():
+ if tracks != "":
+ tracks = tracks + ":"
+
+ if self.ui.rb_panasonic.isChecked():
+ tracks = tracks + "h1.off=-8"
+ else:
+ tracks = tracks + "h0.off=+8"
+
+ if tracks != "":
+ tracks = "--tracks=" + tracks
+
+ if self.ui.cb_rev_track_data.isChecked():
+ reverse = "--reverse"
+
+ if self.ui.cb_hard_sectors.isChecked():
+ hard_sectors = "--hard-sectors"
+
+ if self.ui.cb_no_clobber.isChecked():
+ no_clobber = "--no-clobber"
+
+ if self.ui.cb_pin2.isChecked():
+ if self.ui.rb_pin2_high.isChecked():
+ densel = "--densel H"
+ else:
+ densel = "--densel L"
+
+ if self.ui.cb_raw.isChecked():
+ raw = "--raw"
+
+ if self.ui.cb_adjust_speed.isChecked():
+ adjust_speed = "--adjust-speed=" + self.ui.le_adjust_speed.text() + self.ui.combo_adjust_speed.currentText()
+
+ suffix = self.ui.le_suffix.text()
+
+ if suffix != "":
+ suffix = "-" + suffix
+
+ filepath = self.ui.le_filepath.text()
+
+ disktype = self.ui.combo_disktype.currentText()
+ generated_filename = fileprefix + suffix + disktype
+ filename = os.path.join(filepath, generated_filename) + bitrate + legacy_ss
+
+ self.command = [
+ item for item in [
+ "gw", "read", tracks, revs, drive, densel,
+ adjust_speed, no_clobber, raw, reverse,
+ hard_sectors, fake_index, pll, retries, filename
+ ] if item
+ ]
+
+ self.ui.le_filename.setText(generated_filename)
+ self.ui.te_command_line.setPlainText(" ".join(self.command))
diff --git a/settings.json b/settings.json
new file mode 100644
index 0000000..52de9da
--- /dev/null
+++ b/settings.json
@@ -0,0 +1,45 @@
+{
+ "fileprefix": "Test",
+ "filepath": "/home/arkay/Emulation/Disks/Test",
+ "double_step_enabled": true,
+ "double_step_value": "1",
+ "fake_index_enabled": true,
+ "fake_index_value": "300",
+ "fake_index_unit": "rpm",
+ "bitrate_enabled": true,
+ "bitrate_value": "250",
+ "revs_enabled": true,
+ "revs_value": "3",
+ "drive_select_enabled": true,
+ "drive_select_value": "B",
+ "retries_enabled": true,
+ "retries_value": "3",
+ "pllspec_enabled": true,
+ "pll_period": "5",
+ "pll_phase": "60",
+ "pll_lowpass": "",
+ "head_sets_enabled": true,
+ "head_sets_value": "0-1",
+ "head_swap_enabled": true,
+ "ss_legacy_enabled": true,
+ "cylinder_sets_enabled": true,
+ "cylinder_sets_value": "0-34,35-79",
+ "rev_track_data_enabled": true,
+ "hard_sectors_enabled": true,
+ "no_clobber_enabled": true,
+ "raw_enabled": true,
+ "pin2_enabled": true,
+ "pin2_high": false,
+ "pin2_low": true,
+ "flippy_enabled": true,
+ "flippy_panasonic": false,
+ "flippy_teac": true,
+ "\"adjust_speed_enabled": true,
+ "adjust_speed_value": "300",
+ "adjust_speed_unit": "rpm",
+ "suffix_value": "1",
+ "inc_enabled": true,
+ "format_enabled": false,
+ "format_value": "acorn.adfs.160",
+ "disktype_value": ".adf"
+}
\ No newline at end of file
diff --git a/ui/designer.sh b/ui/designer.sh
new file mode 100755
index 0000000..1643abe
--- /dev/null
+++ b/ui/designer.sh
@@ -0,0 +1,2 @@
+#!/bin/sh
+pyside6-designer 2>1 >/dev/null &
diff --git a/ui/readdisk.ui b/ui/readdisk.ui
index 3a7965a..a7d088c 100644
--- a/ui/readdisk.ui
+++ b/ui/readdisk.ui
@@ -7,7 +7,7 @@
0
0
685
- 652
+ 710
@@ -92,9 +92,6 @@
-
-
- false
-
Fake index pulses at SPEED
@@ -240,9 +237,6 @@
-
-
- false
-
Head steps between cylinders
@@ -363,7 +357,7 @@
-
-
+
-
@@ -391,7 +385,7 @@
-
-
+
-
@@ -428,7 +422,38 @@
-
-
+
+
-
+
+
+
+
+ -
+
+ rpm
+
+
+ -
+
+ ms
+
+
+ -
+
+ us
+
+
+ -
+
+ ns
+
+
+ -
+
+ scp
+
+
+
@@ -471,81 +496,994 @@
- -
+
-
+
+
+ File Prefix
+
+
+
+ -
+
+
+ mydisk
+
+
+
+ -
- Suffix:
+ Suffix
+
+
+ Qt::AlignmentFlag::AlignRight|Qt::AlignmentFlag::AlignTrailing|Qt::AlignmentFlag::AlignVCenter
- -
-
-
- DiskType:
-
-
-
- -
-
-
- -
-
-
- Format:
-
-
-
- -
+
-
+
+ 4
+
-
-
- >>>>
+
+
+
+
+
+
+ false
-
- <<<<
+
+
+
+
+
+
+ false
+
+
+
+ -
+
+
+ Auto Inc.
- -
-
+
-
+
- Inc++
+ Disk Type
- -
-
-
- mydisk.scp
-
-
-
- -
-
-
- Filename:
-
-
-
- -
-
+
-
+
-
- UNSPECIFIED FORMAT
+ .a2r
+
+
+ -
+
+ .adf
+
+
+ -
+
+ .ads
+
+
+ -
+
+ .adm
+
+
+ -
+
+ .adl
+
+
+ -
+
+ .ctr
+
+
+ -
+
+ .d1m
+
+
+ -
+
+ .d2m
+
+
+ -
+
+ .d4m
+
+
+ -
+
+ .d64
+
+
+ -
+
+ .d71
+
+
+ -
+
+ .d81
+
+
+ -
+
+ .d88
+
+
+ -
+
+ .dcp
+
+
+ -
+
+ .dim
+
+
+ -
+
+ .dmk
+
+
+ -
+
+ .do
+
+
+ -
+
+ .dsd
+
+
+ -
+
+ .dsk
+
+
+ -
+
+ .edsk
+
+
+ -
+
+ .fd
+
+
+ -
+
+ .fdi
+
+
+ -
+
+ .hdm
+
+
+ -
+
+ .hfe
+
+
+ -
+
+ .ima
+
+
+ -
+
+ .img
+
+
+ -
+
+ .imd
+
+
+ -
+
+ .ipf
+
+
+ -
+
+ .mgt
+
+
+ -
+
+ .msa
+
+
+ -
+
+ .nfd
+
+
+ -
+
+ .nsi
+
+
+ -
+
+ .po
+
+
+ -
+
+ .raw
+
+
+ -
+
+ .sf7
+
+
+ -
+
+ .scp
+
+
+ -
+
+ .ssd
+
+
+ -
+
+ .st
+
+
+ -
+
+ .td0
+
+
+ -
+
+ .xdf
+ -
+
+
+ Format
+
+
+
+ -
+
+
-
+
+ acorn.adfs.160
+
+
+ -
+
+ acorn.adfs.1600
+
+
+ -
+
+ acorn.adfs.320
+
+
+ -
+
+ acorn.adfs.640
+
+
+ -
+
+ acorn.adfs.800
+
+
+ -
+
+ acorn.dfs.ds
+
+
+ -
+
+ acorn.dfs.ds80
+
+
+ -
+
+ acorn.dfs.ss
+
+
+ -
+
+ acorn.dfs.ss80
+
+
+ -
+
+ akai.1600
+
+
+ -
+
+ akai.800
+
+
+ -
+
+ amiga.amigados
+
+
+ -
+
+ amiga.amigados_hd
+
+
+ -
+
+ apple2.appledos.140
+
+
+ -
+
+ apple2.nofs.140
+
+
+ -
+
+ apple2.prodos.140
+
+
+ -
+
+ atari.90
+
+
+ -
+
+ atarist.360
+
+
+ -
+
+ atarist.400
+
+
+ -
+
+ atarist.440
+
+
+ -
+
+ atarist.720
+
+
+ -
+
+ atarist.800
+
+
+ -
+
+ atarist.880
+
+
+ -
+
+ coco.decb
+
+
+ -
+
+ coco.decb.40t
+
+
+ -
+
+ coco.os9.40ds
+
+
+ -
+
+ coco.os9.40ss
+
+
+ -
+
+ coco.os9.80ds
+
+
+ -
+
+ coco.os9.80ss
+
+
+ -
+
+ commodore.1541
+
+
+ -
+
+ commodore.1571
+
+
+ -
+
+ commodore.1581
+
+
+ -
+
+ commodore.cmd.fd2000.dd
+
+
+ -
+
+ commodore.cmd.fd2000.hd
+
+
+ -
+
+ commodore.cmd.fd4000.ed
+
+
+ -
+
+ dec.rx01
+
+
+ -
+
+ dec.rx02
+
+
+ -
+
+ dragon.40ds
+
+
+ -
+
+ dragon.40ss
+
+
+ -
+
+ dragon.80ds
+
+
+ -
+
+ dragon.80ss
+
+
+ -
+
+ ensoniq.1600
+
+
+ -
+
+ ensoniq.800
+
+
+ -
+
+ ensoniq.mirage
+
+
+ -
+
+ epson.qx10.320
+
+
+ -
+
+ epson.qx10.396
+
+
+ -
+
+ epson.qx10.399
+
+
+ -
+
+ epson.qx10.400
+
+
+ -
+
+ epson.qx10.booter
+
+
+ -
+
+ epson.qx10.logo
+
+
+ -
+
+ gem.1600
+
+
+ -
+
+ hp.mmfm.9885
+
+
+ -
+
+ hp.mmfm.9895
+
+
+ -
+
+ ibm.1200
+
+
+ -
+
+ ibm.1440
+
+
+ -
+
+ ibm.160
+
+
+ -
+
+ ibm.1680
+
+
+ -
+
+ ibm.180
+
+
+ -
+
+ ibm.2880
+
+
+ -
+
+ ibm.320
+
+
+ -
+
+ ibm.360
+
+
+ -
+
+ ibm.720
+
+
+ -
+
+ ibm.800
+
+
+ -
+
+ ibm.dmf
+
+
+ -
+
+ ibm.scan
+
+
+ -
+
+ mac.400
+
+
+ -
+
+ mac.800
+
+
+ -
+
+ micropolis.100tpi.ds
+
+
+ -
+
+ micropolis.100tpi.ds.275
+
+
+ -
+
+ micropolis.100tpi.ss
+
+
+ -
+
+ micropolis.100tpi.ss.275
+
+
+ -
+
+ micropolis.48tpi.ds
+
+
+ -
+
+ micropolis.48tpi.ds.275
+
+
+ -
+
+ micropolis.48tpi.ss
+
+
+ -
+
+ micropolis.48tpi.ss.275
+
+
+ -
+
+ mm1.os9.80dshd_32
+
+
+ -
+
+ mm1.os9.80dshd_33
+
+
+ -
+
+ mm1.os9.80dshd_36
+
+
+ -
+
+ mm1.os9.80dshd_37
+
+
+ -
+
+ msx.1d
+
+
+ -
+
+ msx.1dd
+
+
+ -
+
+ msx.2d
+
+
+ -
+
+ msx.2dd
+
+
+ -
+
+ northstar.fm.ds
+
+
+ -
+
+ northstar.fm.ss
+
+
+ -
+
+ northstar.mfm.ds
+
+
+ -
+
+ northstar.mfm.ss
+
+
+ -
+
+ occ1.dd
+
+
+ -
+
+ occ1.sd
+
+
+ -
+
+ olivetti.m20
+
+
+ -
+
+ pc98.2d
+
+
+ -
+
+ pc98.2dd
+
+
+ -
+
+ pc98.2hd
+
+
+ -
+
+ pc98.2hs
+
+
+ -
+
+ pc98.n88basic.hd
+
+
+ -
+
+ raw.125
+
+
+ -
+
+ raw.250
+
+
+ -
+
+ raw.500
+
+
+ -
+
+ sci.prophet
+
+
+ -
+
+ sega.sf7000
+
+
+ -
+
+ thomson.1s160
+
+
+ -
+
+ thomson.1s320
+
+
+ -
+
+ thomson.1s80
+
+
+ -
+
+ thomson.2s160
+
+
+ -
+
+ thomson.2s320
+
+
+ -
+
+ tsc.flex.dsdd
+
+
+ -
+
+ tsc.flex.ssdd
+
+
+ -
+
+ zx.3dos.ds80
+
+
+ -
+
+ zx.3dos.ss40
+
+
+ -
+
+ zx.d80.ds80
+
+
+ -
+
+ zx.fdd3000.ds80
+
+
+ -
+
+ zx.fdd3000.ss40
+
+
+ -
+
+ zx.kempston.ds80
+
+
+ -
+
+ zx.kempston.ss40
+
+
+ -
+
+ zx.opus.ds80
+
+
+ -
+
+ zx.opus.ss40
+
+
+ -
+
+ zx.plusd.ds80
+
+
+ -
+
+ zx.quorum.ds80
+
+
+ -
+
+ zx.rocky.ds80
+
+
+ -
+
+ zx.rocky.ss40
+
+
+ -
+
+ zx.trdos.ds80
+
+
+ -
+
+ zx.turbodrive.ds40
+
+
+ -
+
+ zx.turbodrive.ds80
+
+
+ -
+
+ zx.watford.ds80
+
+
+ -
+
+ zx.watford.ss40
+
+
+
+
+ -
+
+
+ File Path
+
+
+
+ -
+
+
-
+
+
+ true
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+
+
+
+
+
+
+ false
+
+
+
+
+
+ -
+
+
+ Filename
+
+
+
+ -
+
+
-
+
+
+ true
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+
+
+
+
+
+
+ false
+
+
+
+
+
@@ -606,25 +1544,14 @@ li.checked::marker { content: "\2612"; }
- -
-
-
- Select Folder
-
-
-
- -
-
-
- Select File
-
-
-
-
Launch
+
+ false
+
-
diff --git a/ui/readdisk.ui.1 b/ui/readdisk.ui.1
index 2b3c7c3..a523375 100644
--- a/ui/readdisk.ui.1
+++ b/ui/readdisk.ui.1
@@ -1,18 +1,21 @@
- Form
-
+ ReadDialog
+
0
0
- 660
- 622
+ 685
+ 652
Read From Disk
+
+ true
+
-
@@ -29,161 +32,155 @@
- -
-
-
-
-
-
- 300
-
-
- Qt::AlignmentFlag::AlignCenter
-
-
-
- -
-
-
-
-
- -
-
+
-
+
+
+ HFE kbit/s
+
- Retries
+ Bitrate
-
- Double-Step [0-9]
+ Head steps
-
- Revs to read per track
-
-
-
- -
-
-
- 250
-
-
- Qt::AlignmentFlag::AlignCenter
-
-
-
- -
-
-
- 2
-
-
- Qt::AlignmentFlag::AlignCenter
+ Revisions
-
-
-
- A
+
+
+ Drive to read
-
- Qt::AlignmentFlag::AlignCenter
-
-
-
- -
-
-
- Bitrate (HFE kbit/s)
-
-
-
- -
-
-
- 3
-
-
- Qt::AlignmentFlag::AlignCenter
-
-
-
- -
-
-
- PLLSPEC Period:
-
-
-
- -
-
-
- No Clobber
-
-
-
- -
-
-
- F7 Drive Select (AB012)
-
-
-
- -
-
-
- 3
-
-
- Qt::AlignmentFlag::AlignCenter
-
-
-
- -
-
-
- 5.25 Set Pin 2
-
-
-
- -
-
-
- Raw
-
-
-
- -
-
-
-
-
- High
+
+ A
+
+
+ -
+
+ B
+
+
+ -
+
+ 0
+
+
+ -
+
+ 1
+
+
+ -
+
+ 2
+
+
+
+
+ -
+
+
-
+
+
+ false
-
- true
+
+ Fake index pulses at SPEED
+
+
+ 300
+
+
+ Qt::AlignmentFlag::AlignLeading|Qt::AlignmentFlag::AlignLeft|Qt::AlignmentFlag::AlignVCenter
-
-
+
+
-
+
+
+
+
+ -
+
+ rpm
+
+
+ -
+
+ ms
+
+
+ -
+
+ us
+
+
+ -
+
+ ns
+
+
+ -
+
+ scp
+
+
+
+
+
+
+ -
+
+
-
+
- Low
+ Lowpass
+
+
+
+ -
+
+
+ Filter flux periods shorter than USEC
+ -
+
+
+ Drive select
+
+
+
-
+
-
+
+
+ Period
+
+
+
-
+
+ Period adjustment as percentage of phase error
+
5
@@ -198,6 +195,9 @@
-
+
+ Phase adjustment as percentage of phase error
+
60
@@ -205,6 +205,75 @@
+ -
+
+
+ HFE kbit/s
+
+
+ 250
+
+
+ Qt::AlignmentFlag::AlignLeading|Qt::AlignmentFlag::AlignLeft|Qt::AlignmentFlag::AlignVCenter
+
+
+
+ -
+
+
+ PLLSPEC
+
+
+
+ -
+
+
+ Number of revolutions to read per track
+
+
+ 3
+
+
+ Qt::AlignmentFlag::AlignLeading|Qt::AlignmentFlag::AlignLeft|Qt::AlignmentFlag::AlignVCenter
+
+
+
+ -
+
+
+ false
+
+
+ Head steps between cylinders
+
+
+ 1
+
+
+ Qt::AlignmentFlag::AlignLeading|Qt::AlignmentFlag::AlignLeft|Qt::AlignmentFlag::AlignVCenter
+
+
+
+ -
+
+
+ Retries
+
+
+
+ -
+
+
+ Number of retries per seek-retry
+
+
+ 3
+
+
+ Qt::AlignmentFlag::AlignLeading|Qt::AlignmentFlag::AlignLeft|Qt::AlignmentFlag::AlignVCenter
+
+
+
@@ -237,13 +306,6 @@
- -
-
-
- 0-34,35-79
-
-
-
-
@@ -272,67 +334,134 @@
-
-
- -
-
-
-
+
-
+
+
+ 0-34,35-79
+
+
+
+ -
+
+
+ No Clobber
+
+
+
+ -
+
+
+ Raw
+
+
+
+ -
+
+
+ 5.25 Set Pin 2
+
+
+
+ -
+
+
-
+
+
+ High
+
+
+ false
+
+
+
+ -
+
+
+ Low
+
+
+
+
+
+ -
Flippy offset
- -
-
-
- Panasonic
-
-
- true
-
-
+
-
+
+
-
+
+
+ Panasonic
+
+
+ true
+
+
+
+ -
+
+
+ Teac
+
+
+
+
- -
-
-
- Teac
-
-
-
- -
-
-
- Qt::Orientation::Horizontal
-
-
-
- 40
- 20
-
-
-
-
-
-
- -
-
-
-
+
-
Adjust-Speed
- -
-
-
- 300
-
-
-
- -
-
+
-
+
+
-
+
+
+ 300
+
+
+
+ -
+
+
-
+
+
+
+
+ -
+
+ rpm
+
+
+ -
+
+ ms
+
+
+ -
+
+ us
+
+
+ -
+
+ ns
+
+
+ -
+
+ scp
+
+
+
+
+
@@ -349,6 +478,19 @@
+ -
+
+
+ Qt::Orientation::Horizontal
+
+
+
+ 40
+ 20
+
+
+
+
@@ -375,7 +517,18 @@
-
-
+
+
-
+
+ 1
+
+
+ -
+
+ 2
+
+
+
-
@@ -445,13 +598,10 @@
-
-
-
+
+
gw.exe read --device=COM3 "C:\Users\Rainer\Downloads\GreaseweazleGUI-v2.127\mydisk.scp"
-
- true
-
diff --git a/ui_read_disk.py b/ui_read_disk.py
index dd0c231..e6a729e 100644
--- a/ui_read_disk.py
+++ b/ui_read_disk.py
@@ -25,7 +25,7 @@ class Ui_ReadDialog(object):
def setupUi(self, ReadDialog):
if not ReadDialog.objectName():
ReadDialog.setObjectName(u"ReadDialog")
- ReadDialog.resize(660, 652)
+ ReadDialog.resize(685, 710)
ReadDialog.setModal(True)
self.verticalLayout_5 = QVBoxLayout(ReadDialog)
self.verticalLayout_5.setObjectName(u"verticalLayout_5")
@@ -69,7 +69,6 @@ class Ui_ReadDialog(object):
self.horizontalLayout_8.setObjectName(u"horizontalLayout_8")
self.le_fake_index = QLineEdit(self.groupBox_2)
self.le_fake_index.setObjectName(u"le_fake_index")
- self.le_fake_index.setAcceptDrops(False)
self.le_fake_index.setAlignment(Qt.AlignmentFlag.AlignLeading|Qt.AlignmentFlag.AlignLeft|Qt.AlignmentFlag.AlignVCenter)
self.horizontalLayout_8.addWidget(self.le_fake_index)
@@ -152,7 +151,6 @@ class Ui_ReadDialog(object):
self.le_double_step = QLineEdit(self.groupBox_2)
self.le_double_step.setObjectName(u"le_double_step")
- self.le_double_step.setAcceptDrops(False)
self.le_double_step.setAlignment(Qt.AlignmentFlag.AlignLeading|Qt.AlignmentFlag.AlignLeft|Qt.AlignmentFlag.AlignVCenter)
self.gridLayout_2.addWidget(self.le_double_step, 0, 1, 1, 1)
@@ -227,79 +225,85 @@ class Ui_ReadDialog(object):
self.gridLayout_3.addWidget(self.cb_raw, 4, 1, 1, 1)
-
- self.verticalLayout_2.addLayout(self.gridLayout_3)
-
- self.horizontalLayout_10 = QHBoxLayout()
- self.horizontalLayout_10.setObjectName(u"horizontalLayout_10")
self.cb_pin2 = QCheckBox(self.groupBox_3)
self.cb_pin2.setObjectName(u"cb_pin2")
- self.horizontalLayout_10.addWidget(self.cb_pin2)
+ self.gridLayout_3.addWidget(self.cb_pin2, 5, 0, 1, 1)
+ self.horizontalLayout_5 = QHBoxLayout()
+ self.horizontalLayout_5.setObjectName(u"horizontalLayout_5")
self.rb_pin2_high = QRadioButton(self.groupBox_3)
self.rb_pin2_high.setObjectName(u"rb_pin2_high")
- self.rb_pin2_high.setChecked(True)
+ self.rb_pin2_high.setChecked(False)
- self.horizontalLayout_10.addWidget(self.rb_pin2_high)
+ self.horizontalLayout_5.addWidget(self.rb_pin2_high)
self.rb_pin2_low = QRadioButton(self.groupBox_3)
self.rb_pin2_low.setObjectName(u"rb_pin2_low")
- self.horizontalLayout_10.addWidget(self.rb_pin2_low)
+ self.horizontalLayout_5.addWidget(self.rb_pin2_low)
- self.verticalLayout_2.addLayout(self.horizontalLayout_10)
+ self.gridLayout_3.addLayout(self.horizontalLayout_5, 5, 1, 1, 1)
- self.horizontalLayout_4 = QHBoxLayout()
- self.horizontalLayout_4.setObjectName(u"horizontalLayout_4")
self.cb_flippy = QCheckBox(self.groupBox_3)
self.cb_flippy.setObjectName(u"cb_flippy")
- self.horizontalLayout_4.addWidget(self.cb_flippy)
+ self.gridLayout_3.addWidget(self.cb_flippy, 6, 0, 1, 1)
+ self.horizontalLayout_10 = QHBoxLayout()
+ self.horizontalLayout_10.setObjectName(u"horizontalLayout_10")
self.rb_panasonic = QRadioButton(self.groupBox_3)
self.rb_panasonic.setObjectName(u"rb_panasonic")
self.rb_panasonic.setChecked(True)
- self.horizontalLayout_4.addWidget(self.rb_panasonic)
+ self.horizontalLayout_10.addWidget(self.rb_panasonic)
self.rb_teac = QRadioButton(self.groupBox_3)
self.rb_teac.setObjectName(u"rb_teac")
- self.horizontalLayout_4.addWidget(self.rb_teac)
-
- self.horizontalSpacer_2 = QSpacerItem(40, 20, QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Minimum)
-
- self.horizontalLayout_4.addItem(self.horizontalSpacer_2)
+ self.horizontalLayout_10.addWidget(self.rb_teac)
- self.verticalLayout_2.addLayout(self.horizontalLayout_4)
+ self.gridLayout_3.addLayout(self.horizontalLayout_10, 6, 1, 1, 1)
- self.horizontalLayout_5 = QHBoxLayout()
- self.horizontalLayout_5.setObjectName(u"horizontalLayout_5")
self.cb_adjust_speed = QCheckBox(self.groupBox_3)
self.cb_adjust_speed.setObjectName(u"cb_adjust_speed")
- self.horizontalLayout_5.addWidget(self.cb_adjust_speed)
+ self.gridLayout_3.addWidget(self.cb_adjust_speed, 7, 0, 1, 1)
+ self.horizontalLayout_4 = QHBoxLayout()
+ self.horizontalLayout_4.setObjectName(u"horizontalLayout_4")
self.le_adjust_speed = QLineEdit(self.groupBox_3)
self.le_adjust_speed.setObjectName(u"le_adjust_speed")
- self.horizontalLayout_5.addWidget(self.le_adjust_speed)
+ self.horizontalLayout_4.addWidget(self.le_adjust_speed)
self.combo_adjust_speed = QComboBox(self.groupBox_3)
+ self.combo_adjust_speed.addItem("")
+ self.combo_adjust_speed.addItem("")
+ self.combo_adjust_speed.addItem("")
+ self.combo_adjust_speed.addItem("")
+ self.combo_adjust_speed.addItem("")
+ self.combo_adjust_speed.addItem("")
self.combo_adjust_speed.setObjectName(u"combo_adjust_speed")
- self.horizontalLayout_5.addWidget(self.combo_adjust_speed)
+ self.horizontalLayout_4.addWidget(self.combo_adjust_speed)
- self.verticalLayout_2.addLayout(self.horizontalLayout_5)
+ self.gridLayout_3.addLayout(self.horizontalLayout_4, 7, 1, 1, 1)
+
+
+ self.verticalLayout_2.addLayout(self.gridLayout_3)
self.verticalSpacer = QSpacerItem(20, 10, QSizePolicy.Policy.Minimum, QSizePolicy.Policy.Expanding)
self.verticalLayout_2.addItem(self.verticalSpacer)
+ self.horizontalSpacer_2 = QSpacerItem(40, 20, QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Minimum)
+
+ self.verticalLayout_2.addItem(self.horizontalSpacer_2)
+
self.horizontalLayout_3.addWidget(self.groupBox_3)
@@ -310,10 +314,53 @@ class Ui_ReadDialog(object):
self.groupBox.setObjectName(u"groupBox")
self.gridLayout = QGridLayout(self.groupBox)
self.gridLayout.setObjectName(u"gridLayout")
+ self.label_2 = QLabel(self.groupBox)
+ self.label_2.setObjectName(u"label_2")
+
+ self.gridLayout.addWidget(self.label_2, 0, 0, 1, 1)
+
+ self.le_fileprefix = QLineEdit(self.groupBox)
+ self.le_fileprefix.setObjectName(u"le_fileprefix")
+
+ self.gridLayout.addWidget(self.le_fileprefix, 0, 1, 1, 1)
+
self.label_3 = QLabel(self.groupBox)
self.label_3.setObjectName(u"label_3")
+ self.label_3.setAlignment(Qt.AlignmentFlag.AlignRight|Qt.AlignmentFlag.AlignTrailing|Qt.AlignmentFlag.AlignVCenter)
- self.gridLayout.addWidget(self.label_3, 0, 3, 1, 1)
+ self.gridLayout.addWidget(self.label_3, 0, 2, 1, 1)
+
+ self.horizontalLayout_6 = QHBoxLayout()
+ self.horizontalLayout_6.setSpacing(4)
+ self.horizontalLayout_6.setObjectName(u"horizontalLayout_6")
+ self.le_suffix = QLineEdit(self.groupBox)
+ self.le_suffix.setObjectName(u"le_suffix")
+
+ self.horizontalLayout_6.addWidget(self.le_suffix)
+
+ self.btn_suffix_inc = QPushButton(self.groupBox)
+ self.btn_suffix_inc.setObjectName(u"btn_suffix_inc")
+ icon = QIcon(QIcon.fromTheme(QIcon.ThemeIcon.GoUp))
+ self.btn_suffix_inc.setIcon(icon)
+ self.btn_suffix_inc.setAutoDefault(False)
+
+ self.horizontalLayout_6.addWidget(self.btn_suffix_inc)
+
+ self.btn_suffix_dec = QPushButton(self.groupBox)
+ self.btn_suffix_dec.setObjectName(u"btn_suffix_dec")
+ icon1 = QIcon(QIcon.fromTheme(QIcon.ThemeIcon.GoDown))
+ self.btn_suffix_dec.setIcon(icon1)
+ self.btn_suffix_dec.setAutoDefault(False)
+
+ self.horizontalLayout_6.addWidget(self.btn_suffix_dec)
+
+ self.cb_inc = QCheckBox(self.groupBox)
+ self.cb_inc.setObjectName(u"cb_inc")
+
+ self.horizontalLayout_6.addWidget(self.cb_inc)
+
+
+ self.gridLayout.addLayout(self.horizontalLayout_6, 0, 3, 1, 1)
self.label_4 = QLabel(self.groupBox)
self.label_4.setObjectName(u"label_4")
@@ -321,6 +368,46 @@ class Ui_ReadDialog(object):
self.gridLayout.addWidget(self.label_4, 1, 0, 1, 1)
self.combo_disktype = QComboBox(self.groupBox)
+ self.combo_disktype.addItem("")
+ self.combo_disktype.addItem("")
+ self.combo_disktype.addItem("")
+ self.combo_disktype.addItem("")
+ self.combo_disktype.addItem("")
+ self.combo_disktype.addItem("")
+ self.combo_disktype.addItem("")
+ self.combo_disktype.addItem("")
+ self.combo_disktype.addItem("")
+ self.combo_disktype.addItem("")
+ self.combo_disktype.addItem("")
+ self.combo_disktype.addItem("")
+ self.combo_disktype.addItem("")
+ self.combo_disktype.addItem("")
+ self.combo_disktype.addItem("")
+ self.combo_disktype.addItem("")
+ self.combo_disktype.addItem("")
+ self.combo_disktype.addItem("")
+ self.combo_disktype.addItem("")
+ self.combo_disktype.addItem("")
+ self.combo_disktype.addItem("")
+ self.combo_disktype.addItem("")
+ self.combo_disktype.addItem("")
+ self.combo_disktype.addItem("")
+ self.combo_disktype.addItem("")
+ self.combo_disktype.addItem("")
+ self.combo_disktype.addItem("")
+ self.combo_disktype.addItem("")
+ self.combo_disktype.addItem("")
+ self.combo_disktype.addItem("")
+ self.combo_disktype.addItem("")
+ self.combo_disktype.addItem("")
+ self.combo_disktype.addItem("")
+ self.combo_disktype.addItem("")
+ self.combo_disktype.addItem("")
+ self.combo_disktype.addItem("")
+ self.combo_disktype.addItem("")
+ self.combo_disktype.addItem("")
+ self.combo_disktype.addItem("")
+ self.combo_disktype.addItem("")
self.combo_disktype.setObjectName(u"combo_disktype")
self.gridLayout.addWidget(self.combo_disktype, 1, 1, 1, 1)
@@ -330,46 +417,184 @@ class Ui_ReadDialog(object):
self.gridLayout.addWidget(self.cb_format, 1, 2, 1, 1)
- self.horizontalLayout_6 = QHBoxLayout()
- self.horizontalLayout_6.setObjectName(u"horizontalLayout_6")
- self.le_suffix = QLineEdit(self.groupBox)
- self.le_suffix.setObjectName(u"le_suffix")
-
- self.horizontalLayout_6.addWidget(self.le_suffix)
-
- self.btn_suffix_inc = QPushButton(self.groupBox)
- self.btn_suffix_inc.setObjectName(u"btn_suffix_inc")
-
- self.horizontalLayout_6.addWidget(self.btn_suffix_inc)
-
- self.btn_suffix_dec = QPushButton(self.groupBox)
- self.btn_suffix_dec.setObjectName(u"btn_suffix_dec")
-
- self.horizontalLayout_6.addWidget(self.btn_suffix_dec)
-
-
- self.gridLayout.addLayout(self.horizontalLayout_6, 0, 4, 1, 1)
-
- self.cb_inc = QCheckBox(self.groupBox)
- self.cb_inc.setObjectName(u"cb_inc")
-
- self.gridLayout.addWidget(self.cb_inc, 0, 2, 1, 1)
-
- self.le_filename = QLineEdit(self.groupBox)
- self.le_filename.setObjectName(u"le_filename")
-
- self.gridLayout.addWidget(self.le_filename, 0, 1, 1, 1)
-
- self.label_2 = QLabel(self.groupBox)
- self.label_2.setObjectName(u"label_2")
-
- self.gridLayout.addWidget(self.label_2, 0, 0, 1, 1)
-
self.combo_format = QComboBox(self.groupBox)
self.combo_format.addItem("")
+ self.combo_format.addItem("")
+ self.combo_format.addItem("")
+ self.combo_format.addItem("")
+ self.combo_format.addItem("")
+ self.combo_format.addItem("")
+ self.combo_format.addItem("")
+ self.combo_format.addItem("")
+ self.combo_format.addItem("")
+ self.combo_format.addItem("")
+ self.combo_format.addItem("")
+ self.combo_format.addItem("")
+ self.combo_format.addItem("")
+ self.combo_format.addItem("")
+ self.combo_format.addItem("")
+ self.combo_format.addItem("")
+ self.combo_format.addItem("")
+ self.combo_format.addItem("")
+ self.combo_format.addItem("")
+ self.combo_format.addItem("")
+ self.combo_format.addItem("")
+ self.combo_format.addItem("")
+ self.combo_format.addItem("")
+ self.combo_format.addItem("")
+ self.combo_format.addItem("")
+ self.combo_format.addItem("")
+ self.combo_format.addItem("")
+ self.combo_format.addItem("")
+ self.combo_format.addItem("")
+ self.combo_format.addItem("")
+ self.combo_format.addItem("")
+ self.combo_format.addItem("")
+ self.combo_format.addItem("")
+ self.combo_format.addItem("")
+ self.combo_format.addItem("")
+ self.combo_format.addItem("")
+ self.combo_format.addItem("")
+ self.combo_format.addItem("")
+ self.combo_format.addItem("")
+ self.combo_format.addItem("")
+ self.combo_format.addItem("")
+ self.combo_format.addItem("")
+ self.combo_format.addItem("")
+ self.combo_format.addItem("")
+ self.combo_format.addItem("")
+ self.combo_format.addItem("")
+ self.combo_format.addItem("")
+ self.combo_format.addItem("")
+ self.combo_format.addItem("")
+ self.combo_format.addItem("")
+ self.combo_format.addItem("")
+ self.combo_format.addItem("")
+ self.combo_format.addItem("")
+ self.combo_format.addItem("")
+ self.combo_format.addItem("")
+ self.combo_format.addItem("")
+ self.combo_format.addItem("")
+ self.combo_format.addItem("")
+ self.combo_format.addItem("")
+ self.combo_format.addItem("")
+ self.combo_format.addItem("")
+ self.combo_format.addItem("")
+ self.combo_format.addItem("")
+ self.combo_format.addItem("")
+ self.combo_format.addItem("")
+ self.combo_format.addItem("")
+ self.combo_format.addItem("")
+ self.combo_format.addItem("")
+ self.combo_format.addItem("")
+ self.combo_format.addItem("")
+ self.combo_format.addItem("")
+ self.combo_format.addItem("")
+ self.combo_format.addItem("")
+ self.combo_format.addItem("")
+ self.combo_format.addItem("")
+ self.combo_format.addItem("")
+ self.combo_format.addItem("")
+ self.combo_format.addItem("")
+ self.combo_format.addItem("")
+ self.combo_format.addItem("")
+ self.combo_format.addItem("")
+ self.combo_format.addItem("")
+ self.combo_format.addItem("")
+ self.combo_format.addItem("")
+ self.combo_format.addItem("")
+ self.combo_format.addItem("")
+ self.combo_format.addItem("")
+ self.combo_format.addItem("")
+ self.combo_format.addItem("")
+ self.combo_format.addItem("")
+ self.combo_format.addItem("")
+ self.combo_format.addItem("")
+ self.combo_format.addItem("")
+ self.combo_format.addItem("")
+ self.combo_format.addItem("")
+ self.combo_format.addItem("")
+ self.combo_format.addItem("")
+ self.combo_format.addItem("")
+ self.combo_format.addItem("")
+ self.combo_format.addItem("")
+ self.combo_format.addItem("")
+ self.combo_format.addItem("")
+ self.combo_format.addItem("")
+ self.combo_format.addItem("")
+ self.combo_format.addItem("")
+ self.combo_format.addItem("")
+ self.combo_format.addItem("")
+ self.combo_format.addItem("")
+ self.combo_format.addItem("")
+ self.combo_format.addItem("")
+ self.combo_format.addItem("")
+ self.combo_format.addItem("")
+ self.combo_format.addItem("")
+ self.combo_format.addItem("")
+ self.combo_format.addItem("")
+ self.combo_format.addItem("")
+ self.combo_format.addItem("")
+ self.combo_format.addItem("")
+ self.combo_format.addItem("")
+ self.combo_format.addItem("")
+ self.combo_format.addItem("")
+ self.combo_format.addItem("")
+ self.combo_format.addItem("")
+ self.combo_format.addItem("")
+ self.combo_format.addItem("")
self.combo_format.setObjectName(u"combo_format")
- self.gridLayout.addWidget(self.combo_format, 1, 3, 1, 2)
+ self.gridLayout.addWidget(self.combo_format, 1, 3, 1, 1)
+
+ self.label_8 = QLabel(self.groupBox)
+ self.label_8.setObjectName(u"label_8")
+
+ self.gridLayout.addWidget(self.label_8, 2, 0, 1, 1)
+
+ self.horizontalLayout = QHBoxLayout()
+ self.horizontalLayout.setObjectName(u"horizontalLayout")
+ self.le_filepath = QLineEdit(self.groupBox)
+ self.le_filepath.setObjectName(u"le_filepath")
+ self.le_filepath.setReadOnly(True)
+
+ self.horizontalLayout.addWidget(self.le_filepath)
+
+ self.btn_path_select = QPushButton(self.groupBox)
+ self.btn_path_select.setObjectName(u"btn_path_select")
+ self.btn_path_select.setMinimumSize(QSize(0, 0))
+ icon2 = QIcon(QIcon.fromTheme(QIcon.ThemeIcon.FolderOpen))
+ self.btn_path_select.setIcon(icon2)
+ self.btn_path_select.setAutoDefault(False)
+
+ self.horizontalLayout.addWidget(self.btn_path_select)
+
+
+ self.gridLayout.addLayout(self.horizontalLayout, 2, 1, 1, 3)
+
+ self.label_7 = QLabel(self.groupBox)
+ self.label_7.setObjectName(u"label_7")
+
+ self.gridLayout.addWidget(self.label_7, 3, 0, 1, 1)
+
+ self.horizontalLayout_1 = QHBoxLayout()
+ self.horizontalLayout_1.setObjectName(u"horizontalLayout_1")
+ self.le_filename = QLineEdit(self.groupBox)
+ self.le_filename.setObjectName(u"le_filename")
+ self.le_filename.setReadOnly(True)
+
+ self.horizontalLayout_1.addWidget(self.le_filename)
+
+ self.btn_file_select = QPushButton(self.groupBox)
+ self.btn_file_select.setObjectName(u"btn_file_select")
+ self.btn_file_select.setMinimumSize(QSize(0, 0))
+ self.btn_file_select.setIcon(icon2)
+ self.btn_file_select.setAutoDefault(False)
+
+ self.horizontalLayout_1.addWidget(self.btn_file_select)
+
+
+ self.gridLayout.addLayout(self.horizontalLayout_1, 3, 1, 1, 3)
self.verticalLayout_5.addWidget(self.groupBox)
@@ -405,16 +630,6 @@ class Ui_ReadDialog(object):
self.horizontalLayout_7.addItem(self.horizontalSpacer)
- self.btn_select_folder = QPushButton(ReadDialog)
- self.btn_select_folder.setObjectName(u"btn_select_folder")
-
- self.horizontalLayout_7.addWidget(self.btn_select_folder)
-
- self.btn_select_file = QPushButton(ReadDialog)
- self.btn_select_file.setObjectName(u"btn_select_file")
-
- self.horizontalLayout_7.addWidget(self.btn_select_file)
-
self.btn_launch = QPushButton(ReadDialog)
self.btn_launch.setObjectName(u"btn_launch")
@@ -435,6 +650,9 @@ class Ui_ReadDialog(object):
self.retranslateUi(ReadDialog)
+ self.btn_launch.setDefault(False)
+
+
QMetaObject.connectSlotsByName(ReadDialog)
# setupUi
@@ -520,17 +738,193 @@ class Ui_ReadDialog(object):
self.rb_teac.setText(QCoreApplication.translate("ReadDialog", u"Teac", None))
self.cb_adjust_speed.setText(QCoreApplication.translate("ReadDialog", u"Adjust-Speed", None))
self.le_adjust_speed.setText(QCoreApplication.translate("ReadDialog", u"300", None))
- self.groupBox.setTitle("")
- self.label_3.setText(QCoreApplication.translate("ReadDialog", u"Suffix:", None))
- self.label_4.setText(QCoreApplication.translate("ReadDialog", u"DiskType:", None))
- self.cb_format.setText(QCoreApplication.translate("ReadDialog", u"Format:", None))
- self.btn_suffix_inc.setText(QCoreApplication.translate("ReadDialog", u">>>>", None))
- self.btn_suffix_dec.setText(QCoreApplication.translate("ReadDialog", u"<<<<", None))
- self.cb_inc.setText(QCoreApplication.translate("ReadDialog", u"Inc++", None))
- self.le_filename.setText(QCoreApplication.translate("ReadDialog", u"mydisk.scp", None))
- self.label_2.setText(QCoreApplication.translate("ReadDialog", u"Filename:", None))
- self.combo_format.setItemText(0, QCoreApplication.translate("ReadDialog", u"UNSPECIFIED FORMAT", None))
+ self.combo_adjust_speed.setItemText(0, "")
+ self.combo_adjust_speed.setItemText(1, QCoreApplication.translate("ReadDialog", u"rpm", None))
+ self.combo_adjust_speed.setItemText(2, QCoreApplication.translate("ReadDialog", u"ms", None))
+ self.combo_adjust_speed.setItemText(3, QCoreApplication.translate("ReadDialog", u"us", None))
+ self.combo_adjust_speed.setItemText(4, QCoreApplication.translate("ReadDialog", u"ns", None))
+ self.combo_adjust_speed.setItemText(5, QCoreApplication.translate("ReadDialog", u"scp", None))
+ self.groupBox.setTitle("")
+ self.label_2.setText(QCoreApplication.translate("ReadDialog", u"File Prefix", None))
+ self.le_fileprefix.setText(QCoreApplication.translate("ReadDialog", u"mydisk", None))
+ self.label_3.setText(QCoreApplication.translate("ReadDialog", u"Suffix", None))
+ self.btn_suffix_inc.setText("")
+ self.btn_suffix_dec.setText("")
+ self.cb_inc.setText(QCoreApplication.translate("ReadDialog", u"Auto Inc.", None))
+ self.label_4.setText(QCoreApplication.translate("ReadDialog", u"Disk Type", None))
+ self.combo_disktype.setItemText(0, QCoreApplication.translate("ReadDialog", u".a2r", None))
+ self.combo_disktype.setItemText(1, QCoreApplication.translate("ReadDialog", u".adf", None))
+ self.combo_disktype.setItemText(2, QCoreApplication.translate("ReadDialog", u".ads", None))
+ self.combo_disktype.setItemText(3, QCoreApplication.translate("ReadDialog", u".adm", None))
+ self.combo_disktype.setItemText(4, QCoreApplication.translate("ReadDialog", u".adl", None))
+ self.combo_disktype.setItemText(5, QCoreApplication.translate("ReadDialog", u".ctr", None))
+ self.combo_disktype.setItemText(6, QCoreApplication.translate("ReadDialog", u".d1m", None))
+ self.combo_disktype.setItemText(7, QCoreApplication.translate("ReadDialog", u".d2m", None))
+ self.combo_disktype.setItemText(8, QCoreApplication.translate("ReadDialog", u".d4m", None))
+ self.combo_disktype.setItemText(9, QCoreApplication.translate("ReadDialog", u".d64", None))
+ self.combo_disktype.setItemText(10, QCoreApplication.translate("ReadDialog", u".d71", None))
+ self.combo_disktype.setItemText(11, QCoreApplication.translate("ReadDialog", u".d81", None))
+ self.combo_disktype.setItemText(12, QCoreApplication.translate("ReadDialog", u".d88", None))
+ self.combo_disktype.setItemText(13, QCoreApplication.translate("ReadDialog", u".dcp", None))
+ self.combo_disktype.setItemText(14, QCoreApplication.translate("ReadDialog", u".dim", None))
+ self.combo_disktype.setItemText(15, QCoreApplication.translate("ReadDialog", u".dmk", None))
+ self.combo_disktype.setItemText(16, QCoreApplication.translate("ReadDialog", u".do", None))
+ self.combo_disktype.setItemText(17, QCoreApplication.translate("ReadDialog", u".dsd", None))
+ self.combo_disktype.setItemText(18, QCoreApplication.translate("ReadDialog", u".dsk", None))
+ self.combo_disktype.setItemText(19, QCoreApplication.translate("ReadDialog", u".edsk", None))
+ self.combo_disktype.setItemText(20, QCoreApplication.translate("ReadDialog", u".fd", None))
+ self.combo_disktype.setItemText(21, QCoreApplication.translate("ReadDialog", u".fdi", None))
+ self.combo_disktype.setItemText(22, QCoreApplication.translate("ReadDialog", u".hdm", None))
+ self.combo_disktype.setItemText(23, QCoreApplication.translate("ReadDialog", u".hfe", None))
+ self.combo_disktype.setItemText(24, QCoreApplication.translate("ReadDialog", u".ima", None))
+ self.combo_disktype.setItemText(25, QCoreApplication.translate("ReadDialog", u".img", None))
+ self.combo_disktype.setItemText(26, QCoreApplication.translate("ReadDialog", u".imd", None))
+ self.combo_disktype.setItemText(27, QCoreApplication.translate("ReadDialog", u".ipf", None))
+ self.combo_disktype.setItemText(28, QCoreApplication.translate("ReadDialog", u".mgt", None))
+ self.combo_disktype.setItemText(29, QCoreApplication.translate("ReadDialog", u".msa", None))
+ self.combo_disktype.setItemText(30, QCoreApplication.translate("ReadDialog", u".nfd", None))
+ self.combo_disktype.setItemText(31, QCoreApplication.translate("ReadDialog", u".nsi", None))
+ self.combo_disktype.setItemText(32, QCoreApplication.translate("ReadDialog", u".po", None))
+ self.combo_disktype.setItemText(33, QCoreApplication.translate("ReadDialog", u".raw", None))
+ self.combo_disktype.setItemText(34, QCoreApplication.translate("ReadDialog", u".sf7", None))
+ self.combo_disktype.setItemText(35, QCoreApplication.translate("ReadDialog", u".scp", None))
+ self.combo_disktype.setItemText(36, QCoreApplication.translate("ReadDialog", u".ssd", None))
+ self.combo_disktype.setItemText(37, QCoreApplication.translate("ReadDialog", u".st", None))
+ self.combo_disktype.setItemText(38, QCoreApplication.translate("ReadDialog", u".td0", None))
+ self.combo_disktype.setItemText(39, QCoreApplication.translate("ReadDialog", u".xdf", None))
+
+ self.cb_format.setText(QCoreApplication.translate("ReadDialog", u"Format", None))
+ self.combo_format.setItemText(0, QCoreApplication.translate("ReadDialog", u"acorn.adfs.160", None))
+ self.combo_format.setItemText(1, QCoreApplication.translate("ReadDialog", u"acorn.adfs.1600", None))
+ self.combo_format.setItemText(2, QCoreApplication.translate("ReadDialog", u"acorn.adfs.320", None))
+ self.combo_format.setItemText(3, QCoreApplication.translate("ReadDialog", u"acorn.adfs.640", None))
+ self.combo_format.setItemText(4, QCoreApplication.translate("ReadDialog", u"acorn.adfs.800", None))
+ self.combo_format.setItemText(5, QCoreApplication.translate("ReadDialog", u"acorn.dfs.ds", None))
+ self.combo_format.setItemText(6, QCoreApplication.translate("ReadDialog", u"acorn.dfs.ds80", None))
+ self.combo_format.setItemText(7, QCoreApplication.translate("ReadDialog", u"acorn.dfs.ss", None))
+ self.combo_format.setItemText(8, QCoreApplication.translate("ReadDialog", u"acorn.dfs.ss80", None))
+ self.combo_format.setItemText(9, QCoreApplication.translate("ReadDialog", u"akai.1600", None))
+ self.combo_format.setItemText(10, QCoreApplication.translate("ReadDialog", u"akai.800", None))
+ self.combo_format.setItemText(11, QCoreApplication.translate("ReadDialog", u"amiga.amigados", None))
+ self.combo_format.setItemText(12, QCoreApplication.translate("ReadDialog", u"amiga.amigados_hd", None))
+ self.combo_format.setItemText(13, QCoreApplication.translate("ReadDialog", u"apple2.appledos.140", None))
+ self.combo_format.setItemText(14, QCoreApplication.translate("ReadDialog", u"apple2.nofs.140", None))
+ self.combo_format.setItemText(15, QCoreApplication.translate("ReadDialog", u"apple2.prodos.140", None))
+ self.combo_format.setItemText(16, QCoreApplication.translate("ReadDialog", u"atari.90", None))
+ self.combo_format.setItemText(17, QCoreApplication.translate("ReadDialog", u"atarist.360", None))
+ self.combo_format.setItemText(18, QCoreApplication.translate("ReadDialog", u"atarist.400", None))
+ self.combo_format.setItemText(19, QCoreApplication.translate("ReadDialog", u"atarist.440", None))
+ self.combo_format.setItemText(20, QCoreApplication.translate("ReadDialog", u"atarist.720", None))
+ self.combo_format.setItemText(21, QCoreApplication.translate("ReadDialog", u"atarist.800", None))
+ self.combo_format.setItemText(22, QCoreApplication.translate("ReadDialog", u"atarist.880", None))
+ self.combo_format.setItemText(23, QCoreApplication.translate("ReadDialog", u"coco.decb", None))
+ self.combo_format.setItemText(24, QCoreApplication.translate("ReadDialog", u"coco.decb.40t", None))
+ self.combo_format.setItemText(25, QCoreApplication.translate("ReadDialog", u"coco.os9.40ds", None))
+ self.combo_format.setItemText(26, QCoreApplication.translate("ReadDialog", u"coco.os9.40ss", None))
+ self.combo_format.setItemText(27, QCoreApplication.translate("ReadDialog", u"coco.os9.80ds", None))
+ self.combo_format.setItemText(28, QCoreApplication.translate("ReadDialog", u"coco.os9.80ss", None))
+ self.combo_format.setItemText(29, QCoreApplication.translate("ReadDialog", u"commodore.1541", None))
+ self.combo_format.setItemText(30, QCoreApplication.translate("ReadDialog", u"commodore.1571", None))
+ self.combo_format.setItemText(31, QCoreApplication.translate("ReadDialog", u"commodore.1581", None))
+ self.combo_format.setItemText(32, QCoreApplication.translate("ReadDialog", u"commodore.cmd.fd2000.dd", None))
+ self.combo_format.setItemText(33, QCoreApplication.translate("ReadDialog", u"commodore.cmd.fd2000.hd", None))
+ self.combo_format.setItemText(34, QCoreApplication.translate("ReadDialog", u"commodore.cmd.fd4000.ed", None))
+ self.combo_format.setItemText(35, QCoreApplication.translate("ReadDialog", u"dec.rx01", None))
+ self.combo_format.setItemText(36, QCoreApplication.translate("ReadDialog", u"dec.rx02", None))
+ self.combo_format.setItemText(37, QCoreApplication.translate("ReadDialog", u"dragon.40ds", None))
+ self.combo_format.setItemText(38, QCoreApplication.translate("ReadDialog", u"dragon.40ss", None))
+ self.combo_format.setItemText(39, QCoreApplication.translate("ReadDialog", u"dragon.80ds", None))
+ self.combo_format.setItemText(40, QCoreApplication.translate("ReadDialog", u"dragon.80ss", None))
+ self.combo_format.setItemText(41, QCoreApplication.translate("ReadDialog", u"ensoniq.1600", None))
+ self.combo_format.setItemText(42, QCoreApplication.translate("ReadDialog", u"ensoniq.800", None))
+ self.combo_format.setItemText(43, QCoreApplication.translate("ReadDialog", u"ensoniq.mirage", None))
+ self.combo_format.setItemText(44, QCoreApplication.translate("ReadDialog", u"epson.qx10.320", None))
+ self.combo_format.setItemText(45, QCoreApplication.translate("ReadDialog", u"epson.qx10.396", None))
+ self.combo_format.setItemText(46, QCoreApplication.translate("ReadDialog", u"epson.qx10.399", None))
+ self.combo_format.setItemText(47, QCoreApplication.translate("ReadDialog", u"epson.qx10.400", None))
+ self.combo_format.setItemText(48, QCoreApplication.translate("ReadDialog", u"epson.qx10.booter", None))
+ self.combo_format.setItemText(49, QCoreApplication.translate("ReadDialog", u"epson.qx10.logo", None))
+ self.combo_format.setItemText(50, QCoreApplication.translate("ReadDialog", u"gem.1600", None))
+ self.combo_format.setItemText(51, QCoreApplication.translate("ReadDialog", u"hp.mmfm.9885", None))
+ self.combo_format.setItemText(52, QCoreApplication.translate("ReadDialog", u"hp.mmfm.9895", None))
+ self.combo_format.setItemText(53, QCoreApplication.translate("ReadDialog", u"ibm.1200", None))
+ self.combo_format.setItemText(54, QCoreApplication.translate("ReadDialog", u"ibm.1440", None))
+ self.combo_format.setItemText(55, QCoreApplication.translate("ReadDialog", u"ibm.160", None))
+ self.combo_format.setItemText(56, QCoreApplication.translate("ReadDialog", u"ibm.1680", None))
+ self.combo_format.setItemText(57, QCoreApplication.translate("ReadDialog", u"ibm.180", None))
+ self.combo_format.setItemText(58, QCoreApplication.translate("ReadDialog", u"ibm.2880", None))
+ self.combo_format.setItemText(59, QCoreApplication.translate("ReadDialog", u"ibm.320", None))
+ self.combo_format.setItemText(60, QCoreApplication.translate("ReadDialog", u"ibm.360", None))
+ self.combo_format.setItemText(61, QCoreApplication.translate("ReadDialog", u"ibm.720", None))
+ self.combo_format.setItemText(62, QCoreApplication.translate("ReadDialog", u"ibm.800", None))
+ self.combo_format.setItemText(63, QCoreApplication.translate("ReadDialog", u"ibm.dmf", None))
+ self.combo_format.setItemText(64, QCoreApplication.translate("ReadDialog", u"ibm.scan", None))
+ self.combo_format.setItemText(65, QCoreApplication.translate("ReadDialog", u"mac.400", None))
+ self.combo_format.setItemText(66, QCoreApplication.translate("ReadDialog", u"mac.800", None))
+ self.combo_format.setItemText(67, QCoreApplication.translate("ReadDialog", u"micropolis.100tpi.ds", None))
+ self.combo_format.setItemText(68, QCoreApplication.translate("ReadDialog", u"micropolis.100tpi.ds.275", None))
+ self.combo_format.setItemText(69, QCoreApplication.translate("ReadDialog", u"micropolis.100tpi.ss", None))
+ self.combo_format.setItemText(70, QCoreApplication.translate("ReadDialog", u"micropolis.100tpi.ss.275", None))
+ self.combo_format.setItemText(71, QCoreApplication.translate("ReadDialog", u"micropolis.48tpi.ds", None))
+ self.combo_format.setItemText(72, QCoreApplication.translate("ReadDialog", u"micropolis.48tpi.ds.275", None))
+ self.combo_format.setItemText(73, QCoreApplication.translate("ReadDialog", u"micropolis.48tpi.ss", None))
+ self.combo_format.setItemText(74, QCoreApplication.translate("ReadDialog", u"micropolis.48tpi.ss.275", None))
+ self.combo_format.setItemText(75, QCoreApplication.translate("ReadDialog", u"mm1.os9.80dshd_32", None))
+ self.combo_format.setItemText(76, QCoreApplication.translate("ReadDialog", u"mm1.os9.80dshd_33", None))
+ self.combo_format.setItemText(77, QCoreApplication.translate("ReadDialog", u"mm1.os9.80dshd_36", None))
+ self.combo_format.setItemText(78, QCoreApplication.translate("ReadDialog", u"mm1.os9.80dshd_37", None))
+ self.combo_format.setItemText(79, QCoreApplication.translate("ReadDialog", u"msx.1d", None))
+ self.combo_format.setItemText(80, QCoreApplication.translate("ReadDialog", u"msx.1dd", None))
+ self.combo_format.setItemText(81, QCoreApplication.translate("ReadDialog", u"msx.2d", None))
+ self.combo_format.setItemText(82, QCoreApplication.translate("ReadDialog", u"msx.2dd", None))
+ self.combo_format.setItemText(83, QCoreApplication.translate("ReadDialog", u"northstar.fm.ds", None))
+ self.combo_format.setItemText(84, QCoreApplication.translate("ReadDialog", u"northstar.fm.ss", None))
+ self.combo_format.setItemText(85, QCoreApplication.translate("ReadDialog", u"northstar.mfm.ds", None))
+ self.combo_format.setItemText(86, QCoreApplication.translate("ReadDialog", u"northstar.mfm.ss", None))
+ self.combo_format.setItemText(87, QCoreApplication.translate("ReadDialog", u"occ1.dd", None))
+ self.combo_format.setItemText(88, QCoreApplication.translate("ReadDialog", u"occ1.sd", None))
+ self.combo_format.setItemText(89, QCoreApplication.translate("ReadDialog", u"olivetti.m20", None))
+ self.combo_format.setItemText(90, QCoreApplication.translate("ReadDialog", u"pc98.2d", None))
+ self.combo_format.setItemText(91, QCoreApplication.translate("ReadDialog", u"pc98.2dd", None))
+ self.combo_format.setItemText(92, QCoreApplication.translate("ReadDialog", u"pc98.2hd", None))
+ self.combo_format.setItemText(93, QCoreApplication.translate("ReadDialog", u"pc98.2hs", None))
+ self.combo_format.setItemText(94, QCoreApplication.translate("ReadDialog", u"pc98.n88basic.hd", None))
+ self.combo_format.setItemText(95, QCoreApplication.translate("ReadDialog", u"raw.125", None))
+ self.combo_format.setItemText(96, QCoreApplication.translate("ReadDialog", u"raw.250", None))
+ self.combo_format.setItemText(97, QCoreApplication.translate("ReadDialog", u"raw.500", None))
+ self.combo_format.setItemText(98, QCoreApplication.translate("ReadDialog", u"sci.prophet", None))
+ self.combo_format.setItemText(99, QCoreApplication.translate("ReadDialog", u"sega.sf7000", None))
+ self.combo_format.setItemText(100, QCoreApplication.translate("ReadDialog", u"thomson.1s160", None))
+ self.combo_format.setItemText(101, QCoreApplication.translate("ReadDialog", u"thomson.1s320", None))
+ self.combo_format.setItemText(102, QCoreApplication.translate("ReadDialog", u"thomson.1s80", None))
+ self.combo_format.setItemText(103, QCoreApplication.translate("ReadDialog", u"thomson.2s160", None))
+ self.combo_format.setItemText(104, QCoreApplication.translate("ReadDialog", u"thomson.2s320", None))
+ self.combo_format.setItemText(105, QCoreApplication.translate("ReadDialog", u"tsc.flex.dsdd", None))
+ self.combo_format.setItemText(106, QCoreApplication.translate("ReadDialog", u"tsc.flex.ssdd", None))
+ self.combo_format.setItemText(107, QCoreApplication.translate("ReadDialog", u"zx.3dos.ds80", None))
+ self.combo_format.setItemText(108, QCoreApplication.translate("ReadDialog", u"zx.3dos.ss40", None))
+ self.combo_format.setItemText(109, QCoreApplication.translate("ReadDialog", u"zx.d80.ds80", None))
+ self.combo_format.setItemText(110, QCoreApplication.translate("ReadDialog", u"zx.fdd3000.ds80", None))
+ self.combo_format.setItemText(111, QCoreApplication.translate("ReadDialog", u"zx.fdd3000.ss40", None))
+ self.combo_format.setItemText(112, QCoreApplication.translate("ReadDialog", u"zx.kempston.ds80", None))
+ self.combo_format.setItemText(113, QCoreApplication.translate("ReadDialog", u"zx.kempston.ss40", None))
+ self.combo_format.setItemText(114, QCoreApplication.translate("ReadDialog", u"zx.opus.ds80", None))
+ self.combo_format.setItemText(115, QCoreApplication.translate("ReadDialog", u"zx.opus.ss40", None))
+ self.combo_format.setItemText(116, QCoreApplication.translate("ReadDialog", u"zx.plusd.ds80", None))
+ self.combo_format.setItemText(117, QCoreApplication.translate("ReadDialog", u"zx.quorum.ds80", None))
+ self.combo_format.setItemText(118, QCoreApplication.translate("ReadDialog", u"zx.rocky.ds80", None))
+ self.combo_format.setItemText(119, QCoreApplication.translate("ReadDialog", u"zx.rocky.ss40", None))
+ self.combo_format.setItemText(120, QCoreApplication.translate("ReadDialog", u"zx.trdos.ds80", None))
+ self.combo_format.setItemText(121, QCoreApplication.translate("ReadDialog", u"zx.turbodrive.ds40", None))
+ self.combo_format.setItemText(122, QCoreApplication.translate("ReadDialog", u"zx.turbodrive.ds80", None))
+ self.combo_format.setItemText(123, QCoreApplication.translate("ReadDialog", u"zx.watford.ds80", None))
+ self.combo_format.setItemText(124, QCoreApplication.translate("ReadDialog", u"zx.watford.ss40", None))
+
+ self.label_8.setText(QCoreApplication.translate("ReadDialog", u"File Path", None))
+ self.btn_path_select.setText("")
+ self.label_7.setText(QCoreApplication.translate("ReadDialog", u"Filename", None))
+ self.btn_file_select.setText("")
self.groupBox_4.setTitle(QCoreApplication.translate("ReadDialog", u"Command Line", None))
self.te_command_line.setPlainText(QCoreApplication.translate("ReadDialog", u"gw.exe read --device=COM3 \"C:\\Users\\Rainer\\Downloads\\GreaseweazleGUI-v2.127\\mydisk.scp\"", None))
self.groupBox_5.setTitle("")
@@ -542,8 +936,6 @@ class Ui_ReadDialog(object):
"li.checked::marker { content: \"\\2612\"; }\n"
"\n"
"Using CMD Console mode