Fix a bunch of minor UI issues.

This commit is contained in:
David Given
2025-10-05 13:18:47 +02:00
parent 7090c1bfdf
commit 6146f442fb
5 changed files with 45 additions and 42 deletions

View File

@@ -232,6 +232,16 @@ static void deviceProperties()
deviceNameSetting = name;
}
/* The rescan button. */
ImGui::TableNextRow();
ImGui::TableNextColumn();
ImGui::TableNextColumn();
if (ImGui::Button("fluxengine.view.config.rescan"_lang))
{
Datastore::probeDevices();
}
/* The file path, if DEVICE_FLUXFILE, and device path, if DEVICE_MANUAL
*/
@@ -256,11 +266,11 @@ static void deviceProperties()
};
if ((std::string)deviceNameSetting == DEVICE_FLUXFILE)
doPathSetting("fluxengine.view.summary.fluxFile"_lang,
doPathSetting("fluxengine.view.config.fluxFile"_lang,
"fluxfile",
"##fluxfilePath");
if ((std::string)deviceNameSetting == DEVICE_MANUAL)
doPathSetting("fluxengine.view.summary.manualDevicePath"_lang,
doPathSetting("fluxengine.view.config.manualDevicePath"_lang,
"manualDevicePath",
"##manualDevicePath");

View File

@@ -94,46 +94,45 @@ void ControlPanelView::drawContent()
ImGui::TableNextRow();
button(ICON_TA_DEVICE_FLOPPY,
"fluxengine.views.controlpanel.readDevice"_lang,
"fluxengine.view.controlpanel.readDevice"_lang,
Datastore::beginRead,
busy);
ImGui::TableNextColumn();
button(ICON_VS_SAVE_AS,
"fluxengine.views.controlpanel.writeDevice"_lang,
"fluxengine.view.controlpanel.writeDevice"_lang,
nullptr,
busy || !hasImage);
ImGui::TableNextRow();
button(ICON_TA_UPLOAD,
"fluxengine.views.controlpanel.readFlux"_lang,
"fluxengine.view.controlpanel.readFlux"_lang,
loadFluxFile,
busy);
ImGui::TableNextColumn();
button(ICON_TA_DOWNLOAD,
"fluxengine.views.controlpanel.writeFlux"_lang,
"fluxengine.view.controlpanel.writeFlux"_lang,
saveFluxFile,
busy || !diskFlux);
ImGui::TableNextRow();
button(ICON_VS_FOLDER_OPENED,
"fluxengine.views.controlpanel.readImage"_lang,
"fluxengine.view.controlpanel.readImage"_lang,
nullptr,
busy);
ImGui::TableNextColumn();
button(ICON_VS_SAVE_ALL,
"fluxengine.views.controlpanel.writeImage"_lang,
"fluxengine.view.controlpanel.writeImage"_lang,
saveSectorImage,
busy || !hasImage);
ImGui::TableNextRow();
button(ICON_TA_REPEAT,
"fluxengine.views.controlpanel.rereadBad"_lang,
"fluxengine.view.controlpanel.rereadBad"_lang,
nullptr,
busy || !diskFlux);
ImGui::TableNextRow();
ImGui::TableNextColumn();
button(ICON_VS_NEW_FILE,
"fluxengine.views.controlpanel.createBlank"_lang,
"fluxengine.view.controlpanel.createBlank"_lang,
nullptr,
busy || !Datastore::canFormat());
}
@@ -157,7 +156,7 @@ void ControlPanelView::drawContent()
if (maybeDisabledButton(fmt::format("{} {}",
ICON_TA_CANCEL,
"fluxengine.summary.controls.stop"_lang),
"fluxengine.view.controlpanel.stop"_lang),
{ImGui::GetContentRegionAvail().x, 0},
!busy))
Datastore::stop();

View File

@@ -182,6 +182,7 @@ void Datastore::init()
hex::TaskManager::doLater(
[=]
{
hex::ImHexApi::System::unlockFrameRate();
Datastore::onLogMessage(message);
});
});

View File

@@ -1,4 +1,6 @@
{
"fluxengine.provider.disk": "FluxEngine disk access",
"fluxengine.view.config.name": "FluxEngine configuration",
"fluxengine.view.config.deviceConfiguration": "Device setup",
"fluxengine.view.config.selectedDevice": "Device",
@@ -10,25 +12,7 @@
"fluxengine.view.config.manual": "Manual device setup",
"fluxengine.view.config.hardwareDevicePath": "Device path",
"fluxengine.view.config.highDensity": "High density disk",
"fluxengine.view.config.rescan": "Rescan",
"fluxengine.view.summary.name":"FluxEngine status",
"fluxengine.summary.controls.read": "Read from device",
"fluxengine.summary.controls.write": "Write to device",
"fluxengine.summary.controls.stop": "Stop",
"fluxengine.view.summary.edit": "Edit",
"fluxengine.view.summary.highDensity": "High density",
"fluxengine.view.summary.yes": "yes",
"fluxengine.view.summary.no": "no",
"fluxengine.view.summary.format": "Format",
"fluxengine.view.summary.variations": "Variant",
"fluxengine.view.summary.manualDevicePath": "Device path",
"fluxengine.view.summary.fluxFile": "Flux file",
"fluxengine.view.image.name": "FluxEngine logical sector map",
"fluxengine.view.physical.name": "FluxEngine physical sector map",
"fluxengine.view.config.rescan": "Rescan USB",
"fluxengine.view.config.yes": "yes",
"fluxengine.view.config.no": "no",
"fluxengine.view.config.format": "Format",
@@ -39,13 +23,22 @@
"fluxengine.view.config.deviceProperties": "Device properties",
"fluxengine.view.config.customProperties": "Custom properties",
"fluxengine.view.summary.name":"FluxEngine status",
"fluxengine.view.summary.physical":"Physical view (what your drive sees)",
"fluxengine.view.summary.logical":"Logical view (what's on the disk)",
"fluxengine.view.image.name": "FluxEngine logical sector map",
"fluxengine.view.physical.name": "FluxEngine physical sector map",
"fluxengine.view.controlpanel.name": "FluxEngine controls",
"fluxengine.views.controlpanel.readDevice": "Read from device",
"fluxengine.views.controlpanel.writeDevice": "Write to device",
"fluxengine.views.controlpanel.readFlux": "Load flux file",
"fluxengine.views.controlpanel.writeFlux": "Save flux file",
"fluxengine.views.controlpanel.readImage": "Load disk image",
"fluxengine.views.controlpanel.writeImage": "Save disk image",
"fluxengine.views.controlpanel.rereadBad": "Re-read bad tracks",
"fluxengine.views.controlpanel.createBlank": "Create blank disk"
"fluxengine.view.controlpanel.readDevice": "Read",
"fluxengine.view.controlpanel.writeDevice": "Write",
"fluxengine.view.controlpanel.readFlux": "Read flux file",
"fluxengine.view.controlpanel.writeFlux": "Write flux file",
"fluxengine.view.controlpanel.readImage": "Load disk image",
"fluxengine.view.controlpanel.writeImage": "Save disk image",
"fluxengine.view.controlpanel.rereadBad": "Re-read bad tracks",
"fluxengine.view.controlpanel.createBlank": "Format disk",
"fluxengine.view.controlpanel.stop": "Stop"
}

View File

@@ -115,7 +115,7 @@ void SummaryView::drawContent()
};
ImGuiExt::TextFormattedCenteredHorizontal(
"Physical map (what the drive sees)");
"fluxengine.view.summary.physical"_lang);
auto originalFontSize = ImGui::GetFontSize();
if (ImGui::BeginTable("physicalMap",
@@ -207,7 +207,7 @@ void SummaryView::drawContent()
}
ImGuiExt::TextFormattedCenteredHorizontal(
"Logical map (what's in the disk image)");
"fluxengine.view.summary.logical"_lang);
/* Must match the physicalMap table width above. */
if (ImGui::BeginTable("logicalMap",