1. Media menu strings are translated now.
2. Save/Quit dialogs are also translated now. 3. Fix Sound Gain text cutoff.
This commit is contained in:
@@ -139,6 +139,7 @@ void DeviceConfig::ConfigureDevice(const _device_* device, int instance) {
|
|||||||
auto* fileField = new FileField();
|
auto* fileField = new FileField();
|
||||||
fileField->setObjectName(config->name);
|
fileField->setObjectName(config->name);
|
||||||
fileField->setFileName(fileName);
|
fileField->setFileName(fileName);
|
||||||
|
fileField->setFilter(QString(config->file_filter).left(strcspn(config->file_filter, "|")));
|
||||||
dc.ui->formLayout->addRow(config->description, fileField);
|
dc.ui->formLayout->addRow(config->description, fileField);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@@ -29,6 +29,7 @@ HarddiskDialog::HarddiskDialog(bool existing, QWidget *parent) :
|
|||||||
{
|
{
|
||||||
ui->setupUi(this);
|
ui->setupUi(this);
|
||||||
|
|
||||||
|
ui->fileField->setFilter(tr("Hard disk images (*.HD? *.hd? *.IM? *.im? *.VHD *.vhd);;All files (*)"));
|
||||||
if (existing) {
|
if (existing) {
|
||||||
setWindowTitle(tr("Add Existing Hard Disk"));
|
setWindowTitle(tr("Add Existing Hard Disk"));
|
||||||
ui->lineEditCylinders->setEnabled(false);
|
ui->lineEditCylinders->setEnabled(false);
|
||||||
|
@@ -414,39 +414,39 @@ void MachineStatus::refresh(QStatusBar* sbar) {
|
|||||||
if ((has_mfm || hdc_name.left(5) == QStringLiteral("st506")) && c_mfm > 0) {
|
if ((has_mfm || hdc_name.left(5) == QStringLiteral("st506")) && c_mfm > 0) {
|
||||||
d->hdds[HDD_BUS_MFM].label = std::make_unique<QLabel>();
|
d->hdds[HDD_BUS_MFM].label = std::make_unique<QLabel>();
|
||||||
d->hdds[HDD_BUS_MFM].setActive(false);
|
d->hdds[HDD_BUS_MFM].setActive(false);
|
||||||
d->hdds[HDD_BUS_MFM].label->setToolTip(QStringLiteral("Hard Disk (%1)").arg("MFM/RLL"));
|
d->hdds[HDD_BUS_MFM].label->setToolTip(tr("Hard disk (%s)").replace("%s", "MFM/RLL"));
|
||||||
sbar->addWidget(d->hdds[HDD_BUS_MFM].label.get());
|
sbar->addWidget(d->hdds[HDD_BUS_MFM].label.get());
|
||||||
}
|
}
|
||||||
if ((has_esdi || hdc_name.left(4) == QStringLiteral("esdi")) && c_esdi > 0) {
|
if ((has_esdi || hdc_name.left(4) == QStringLiteral("esdi")) && c_esdi > 0) {
|
||||||
d->hdds[HDD_BUS_ESDI].label = std::make_unique<QLabel>();
|
d->hdds[HDD_BUS_ESDI].label = std::make_unique<QLabel>();
|
||||||
d->hdds[HDD_BUS_ESDI].setActive(false);
|
d->hdds[HDD_BUS_ESDI].setActive(false);
|
||||||
d->hdds[HDD_BUS_ESDI].label->setToolTip(QStringLiteral("Hard Disk (%1)").arg("ESDI"));
|
d->hdds[HDD_BUS_ESDI].label->setToolTip(tr("Hard disk (%s)").replace("%s", "ESDI"));
|
||||||
sbar->addWidget(d->hdds[HDD_BUS_ESDI].label.get());
|
sbar->addWidget(d->hdds[HDD_BUS_ESDI].label.get());
|
||||||
}
|
}
|
||||||
if ((has_xta || hdc_name.left(3) == QStringLiteral("xta")) && c_xta > 0) {
|
if ((has_xta || hdc_name.left(3) == QStringLiteral("xta")) && c_xta > 0) {
|
||||||
d->hdds[HDD_BUS_XTA].label = std::make_unique<QLabel>();
|
d->hdds[HDD_BUS_XTA].label = std::make_unique<QLabel>();
|
||||||
d->hdds[HDD_BUS_XTA].setActive(false);
|
d->hdds[HDD_BUS_XTA].setActive(false);
|
||||||
d->hdds[HDD_BUS_XTA].label->setToolTip(QStringLiteral("Hard Disk (%1)").arg("XTA"));
|
d->hdds[HDD_BUS_XTA].label->setToolTip(tr("Hard disk (%s)").replace("%s", "XTA"));
|
||||||
sbar->addWidget(d->hdds[HDD_BUS_XTA].label.get());
|
sbar->addWidget(d->hdds[HDD_BUS_XTA].label.get());
|
||||||
}
|
}
|
||||||
if ((hasIDE() || hdc_name.left(5) == QStringLiteral("xtide") || hdc_name.left(3) == QStringLiteral("ide")) && c_ide > 0) {
|
if ((hasIDE() || hdc_name.left(5) == QStringLiteral("xtide") || hdc_name.left(3) == QStringLiteral("ide")) && c_ide > 0) {
|
||||||
d->hdds[HDD_BUS_IDE].label = std::make_unique<QLabel>();
|
d->hdds[HDD_BUS_IDE].label = std::make_unique<QLabel>();
|
||||||
d->hdds[HDD_BUS_IDE].setActive(false);
|
d->hdds[HDD_BUS_IDE].setActive(false);
|
||||||
d->hdds[HDD_BUS_IDE].label->setToolTip(QStringLiteral("Hard Disk (%1)").arg("IDE"));
|
d->hdds[HDD_BUS_IDE].label->setToolTip(tr("Hard disk (%s)").replace("%s", "IDE"));
|
||||||
sbar->addWidget(d->hdds[HDD_BUS_IDE].label.get());
|
sbar->addWidget(d->hdds[HDD_BUS_IDE].label.get());
|
||||||
}
|
}
|
||||||
if ((hasSCSI() || (scsi_card_current[0] != 0) || (scsi_card_current[1] != 0) ||
|
if ((hasSCSI() || (scsi_card_current[0] != 0) || (scsi_card_current[1] != 0) ||
|
||||||
(scsi_card_current[2] != 0) || (scsi_card_current[3] != 0)) && c_scsi > 0) {
|
(scsi_card_current[2] != 0) || (scsi_card_current[3] != 0)) && c_scsi > 0) {
|
||||||
d->hdds[HDD_BUS_SCSI].label = std::make_unique<QLabel>();
|
d->hdds[HDD_BUS_SCSI].label = std::make_unique<QLabel>();
|
||||||
d->hdds[HDD_BUS_SCSI].setActive(false);
|
d->hdds[HDD_BUS_SCSI].setActive(false);
|
||||||
d->hdds[HDD_BUS_SCSI].label->setToolTip(QStringLiteral("Hard Disk (%1)").arg("SCSI"));
|
d->hdds[HDD_BUS_SCSI].label->setToolTip(tr("Hard disk (%s)").replace("%s", "SCSI"));
|
||||||
sbar->addWidget(d->hdds[HDD_BUS_SCSI].label.get());
|
sbar->addWidget(d->hdds[HDD_BUS_SCSI].label.get());
|
||||||
}
|
}
|
||||||
|
|
||||||
if (do_net) {
|
if (do_net) {
|
||||||
d->net.label = std::make_unique<QLabel>();
|
d->net.label = std::make_unique<QLabel>();
|
||||||
d->net.setActive(false);
|
d->net.setActive(false);
|
||||||
d->net.label->setToolTip("Network");
|
d->net.label->setToolTip(tr("Network"));
|
||||||
sbar->addWidget(d->net.label.get());
|
sbar->addWidget(d->net.label.get());
|
||||||
}
|
}
|
||||||
d->sound = std::make_unique<ClickableLabel>();
|
d->sound = std::make_unique<ClickableLabel>();
|
||||||
@@ -456,7 +456,7 @@ void MachineStatus::refresh(QStatusBar* sbar) {
|
|||||||
SoundGain gain(main_window);
|
SoundGain gain(main_window);
|
||||||
gain.exec();
|
gain.exec();
|
||||||
});
|
});
|
||||||
d->sound->setToolTip("Sound");
|
d->sound->setToolTip(tr("Sound"));
|
||||||
sbar->addWidget(d->sound.get());
|
sbar->addWidget(d->sound.get());
|
||||||
d->text = std::make_unique<QLabel>();
|
d->text = std::make_unique<QLabel>();
|
||||||
sbar->addWidget(d->text.get());
|
sbar->addWidget(d->text.get());
|
||||||
|
@@ -290,8 +290,8 @@ MainWindow::MainWindow(QWidget *parent) :
|
|||||||
void MainWindow::closeEvent(QCloseEvent *event) {
|
void MainWindow::closeEvent(QCloseEvent *event) {
|
||||||
if (confirm_exit && cpu_thread_run)
|
if (confirm_exit && cpu_thread_run)
|
||||||
{
|
{
|
||||||
QMessageBox questionbox(QMessageBox::Icon::Question, "86Box", "Are you sure you want to exit 86Box?", QMessageBox::Yes | QMessageBox::No, this);
|
QMessageBox questionbox(QMessageBox::Icon::Question, "86Box", tr("Are you sure you want to exit 86Box?"), QMessageBox::Yes | QMessageBox::No, this);
|
||||||
QCheckBox *chkbox = new QCheckBox("Do not ask me again");
|
QCheckBox *chkbox = new QCheckBox(tr("Don't show this message again"));
|
||||||
questionbox.setCheckBox(chkbox);
|
questionbox.setCheckBox(chkbox);
|
||||||
chkbox->setChecked(!confirm_exit);
|
chkbox->setChecked(!confirm_exit);
|
||||||
bool confirm_exit_temp = false;
|
bool confirm_exit_temp = false;
|
||||||
|
@@ -145,7 +145,7 @@ void MediaMenu::cassetteNewImage() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void MediaMenu::cassetteSelectImage(bool wp) {
|
void MediaMenu::cassetteSelectImage(bool wp) {
|
||||||
auto filename = QFileDialog::getOpenFileName(parentWidget, tr("Open"), QString(), tr("Cassette images (*.pcm *.PCM *.raw *.RAW *.wav *.WAV *.cas *.CAS);;All files (*)"));
|
auto filename = QFileDialog::getOpenFileName(parentWidget, QString(), QString(), tr("Cassette images (*.pcm *.PCM *.raw *.RAW *.wav *.WAV *.cas *.CAS);;All files (*)"));
|
||||||
cassetteMount(filename, wp);
|
cassetteMount(filename, wp);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -199,7 +199,7 @@ void MediaMenu::cassetteUpdateMenu() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void MediaMenu::cartridgeSelectImage(int i) {
|
void MediaMenu::cartridgeSelectImage(int i) {
|
||||||
auto filename = QFileDialog::getOpenFileName(parentWidget, tr("Open"), QString(), tr("Cartridge images (*.a *.b *.jrc *.A *.B *.JRC);;All files (*)"));
|
auto filename = QFileDialog::getOpenFileName(parentWidget, QString(), QString(), tr("Cartridge images (*.A *.a *.B *.b *.JRC *.jrc);;All files (*)"));
|
||||||
if (filename.isEmpty()) {
|
if (filename.isEmpty()) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -242,7 +242,7 @@ void MediaMenu::floppyNewImage(int i) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void MediaMenu::floppySelectImage(int i, bool wp) {
|
void MediaMenu::floppySelectImage(int i, bool wp) {
|
||||||
auto filename = QFileDialog::getOpenFileName(parentWidget, "Open", QString(), tr("All images (*.86F *.86f *.DSK *.dsk *.FLP *.flp *.IM? *.im? *.*FD? *.*fd?);;Basic sector images (*.DSK *.dsk *.FLP *.flp *.IM? *.im? *.IMG *.img *.*FD? *.*fd?);;Surface images (*.86F *.86f)"));
|
auto filename = QFileDialog::getOpenFileName(parentWidget, QString(), QString(), tr("All images (*.0?? *.1?? *.??0 *.86F *.86f *.BIN *.bin *.CQ? *.cq? *.D?? *.d?? *.FLP *.flp *.HDM *.hdm *.IM? *.im? *.JSON *.json *.TD0 *.td0 *.*FD? *.*fd? *.MFM *.mfm *.XDF *.xdf);;Advanced sector images (*.IMD *.imd *.JSON *.json *.TD0 *.td0);;Basic sector images (*.0?? *.1?? *.??0 *.BIN *.bin *.CQ? *.cq? *.D?? *.d?? *.FLP *.flp *.HDM *.hdm *.IM? *.im? *.XDF *.xdf *.*FD? *.*fd?);;Flux images (*.FDI *.fdi);;Surface images (*.86F *.86f *.MFM *.mfm);;All files (*)"));
|
||||||
floppyMount(i, filename, wp);
|
floppyMount(i, filename, wp);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -268,7 +268,7 @@ void MediaMenu::floppyEject(int i) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void MediaMenu::floppyExportTo86f(int i) {
|
void MediaMenu::floppyExportTo86f(int i) {
|
||||||
auto filename = QFileDialog::getSaveFileName(parentWidget, tr("Save as 86f"), QString(), tr("Surface images (*.86F *.86f)"));
|
auto filename = QFileDialog::getSaveFileName(parentWidget, QString(), QString(), tr("Surface images (*.86F *.86f)"));
|
||||||
if (! filename.isEmpty()) {
|
if (! filename.isEmpty()) {
|
||||||
QByteArray filenameBytes = filename.toUtf8();
|
QByteArray filenameBytes = filename.toUtf8();
|
||||||
plat_pause(1);
|
plat_pause(1);
|
||||||
@@ -306,7 +306,7 @@ void MediaMenu::cdromMount(int i) {
|
|||||||
QString dir;
|
QString dir;
|
||||||
QFileInfo fi(cdrom[i].image_path);
|
QFileInfo fi(cdrom[i].image_path);
|
||||||
|
|
||||||
auto filename = QFileDialog::getOpenFileName(parentWidget, tr("Open"), QString(), tr("CD-ROM images (*.ISO *.iso *.CUE *.cue);;All files (*)"));
|
auto filename = QFileDialog::getOpenFileName(parentWidget, QString(), QString(), tr("CD-ROM images (*.ISO *.iso *.CUE *.cue);;All files (*)"));
|
||||||
if (filename.isEmpty()) {
|
if (filename.isEmpty()) {
|
||||||
auto* imageMenu = dynamic_cast<QAction*>(cdromMenus[i]->children()[cdromImagePos]);
|
auto* imageMenu = dynamic_cast<QAction*>(cdromMenus[i]->children()[cdromImagePos]);
|
||||||
imageMenu->setChecked(false);
|
imageMenu->setChecked(false);
|
||||||
@@ -374,7 +374,8 @@ void MediaMenu::cdromUpdateMenu(int i) {
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
menu->setTitle(tr("CD-ROM %1 (%2): %3").arg(QString::number(i+1), busName, name.isEmpty() ? tr("(empty)") : name));
|
//menu->setTitle(tr("CD-ROM %1 (%2): %3").arg(QString::number(i+1), busName, name.isEmpty() ? tr("(empty)") : name));
|
||||||
|
menu->setTitle(QString::asprintf(tr("CD-ROM %i (%s): %s").toUtf8().constData(), i + 1, busName.toUtf8().data(), name.isEmpty() ? tr("(empty)").toUtf8().data() : name.toUtf8().data()));
|
||||||
}
|
}
|
||||||
|
|
||||||
void MediaMenu::zipNewImage(int i) {
|
void MediaMenu::zipNewImage(int i) {
|
||||||
@@ -388,7 +389,7 @@ void MediaMenu::zipNewImage(int i) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void MediaMenu::zipSelectImage(int i, bool wp) {
|
void MediaMenu::zipSelectImage(int i, bool wp) {
|
||||||
auto filename = QFileDialog::getOpenFileName(parentWidget, tr("Open"), QString(), tr("ZIP images (*.im? *.zdi *.IM? *.ZDI);;All files (*)"));
|
auto filename = QFileDialog::getOpenFileName(parentWidget, QString(), QString(), tr("ZIP images (*.IM? *.im? *.ZDI *.zdi);;All files (*)"));
|
||||||
zipMount(i, filename, wp);
|
zipMount(i, filename, wp);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -462,7 +463,8 @@ void MediaMenu::zipUpdateMenu(int i) {
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
menu->setTitle(tr("ZIP %1 %2 (%3): %4").arg((zip_drives[i].is_250 > 0) ? "250" : "100", QString::number(i+1), busName, name.isEmpty() ? tr("(empty)") : name));
|
//menu->setTitle(tr("ZIP %1 %2 (%3): %4").arg((zip_drives[i].is_250 > 0) ? "250" : "100", QString::number(i+1), busName, name.isEmpty() ? tr("(empty)") : name));
|
||||||
|
menu->setTitle(QString::asprintf(tr("ZIP %03i %i (%s): %ls").toUtf8().constData(), (zip_drives[i].is_250 > 0) ? 250 : 100, i + 1, busName.toUtf8().data(), name.isEmpty() ? tr("(empty)").toStdU16String().data() : name.toStdU16String().data()));
|
||||||
}
|
}
|
||||||
|
|
||||||
void MediaMenu::moNewImage(int i) {
|
void MediaMenu::moNewImage(int i) {
|
||||||
@@ -476,7 +478,7 @@ void MediaMenu::moNewImage(int i) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void MediaMenu::moSelectImage(int i, bool wp) {
|
void MediaMenu::moSelectImage(int i, bool wp) {
|
||||||
auto filename = QFileDialog::getOpenFileName(parentWidget, tr("Open"), QString(), tr("MO images (*.im? *.mdi *.IM? *.MDI);;All files (*)"));
|
auto filename = QFileDialog::getOpenFileName(parentWidget, QString(), QString(), tr("MO images (*.im? *.mdi *.IM? *.MDI);;All files (*)"));
|
||||||
moMount(i, filename, wp);
|
moMount(i, filename, wp);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -550,7 +552,7 @@ void MediaMenu::moUpdateMenu(int i) {
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
menu->setTitle(tr("MO %1 (%2): %3").arg(QString::number(i+1), busName, name.isEmpty() ? tr("(empty)") : name));
|
menu->setTitle(QString::asprintf(tr("MO %i (%ls): %ls").toUtf8().constData(), i + 1, busName.toStdU16String().data(), name.isEmpty() ? tr("(empty)").toStdU16String().data() : name.toStdU16String().data()));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@@ -144,8 +144,8 @@ void Settings::accept()
|
|||||||
{
|
{
|
||||||
if (confirm_save)
|
if (confirm_save)
|
||||||
{
|
{
|
||||||
QMessageBox questionbox(QMessageBox::Icon::Question, "86Box", "Do you want to save the settings?\n\nThis will hard reset the emulated machine.", QMessageBox::Save | QMessageBox::Cancel, this);
|
QMessageBox questionbox(QMessageBox::Icon::Question, "86Box", QStringLiteral("%1\n\n%2").arg(tr("Do you want to save the settings?"), tr("This will hard reset the emulated machine.")), QMessageBox::Save | QMessageBox::Cancel, this);
|
||||||
QCheckBox *chkbox = new QCheckBox("Do not ask me again");
|
QCheckBox *chkbox = new QCheckBox(tr("Don't show this message again"));
|
||||||
questionbox.setCheckBox(chkbox);
|
questionbox.setCheckBox(chkbox);
|
||||||
chkbox->setChecked(!confirm_save);
|
chkbox->setChecked(!confirm_save);
|
||||||
QObject::connect(chkbox, &QCheckBox::stateChanged, [](int state) {
|
QObject::connect(chkbox, &QCheckBox::stateChanged, [](int state) {
|
||||||
|
@@ -60,15 +60,18 @@
|
|||||||
<widget class="QLabel" name="label">
|
<widget class="QLabel" name="label">
|
||||||
<property name="geometry">
|
<property name="geometry">
|
||||||
<rect>
|
<rect>
|
||||||
<x>30</x>
|
<x>-20</x>
|
||||||
<y>10</y>
|
<y>10</y>
|
||||||
<width>54</width>
|
<width>131</width>
|
||||||
<height>17</height>
|
<height>20</height>
|
||||||
</rect>
|
</rect>
|
||||||
</property>
|
</property>
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string>Gain</string>
|
<string>Gain</string>
|
||||||
</property>
|
</property>
|
||||||
|
<property name="alignment">
|
||||||
|
<set>Qt::AlignCenter</set>
|
||||||
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</widget>
|
</widget>
|
||||||
<resources/>
|
<resources/>
|
||||||
|
Reference in New Issue
Block a user