GUI: auto-fill on save
This commit is contained in:
parent
71a9355a9e
commit
d7c9bd5620
|
@ -1642,6 +1642,18 @@ bool dirExists(String s) {
|
||||||
|
|
||||||
void FurnaceGUI::openFileDialog(FurnaceGUIFileDialogs type) {
|
void FurnaceGUI::openFileDialog(FurnaceGUIFileDialogs type) {
|
||||||
bool hasOpened=false;
|
bool hasOpened=false;
|
||||||
|
|
||||||
|
String shortName;
|
||||||
|
size_t shortNamePos=curFileName.rfind(DIR_SEPARATOR);
|
||||||
|
if (shortNamePos!=String::npos && (shortNamePos+1)<curFileName.size()) {
|
||||||
|
shortName=curFileName.substr(shortNamePos+1);
|
||||||
|
// remove extension
|
||||||
|
shortNamePos=shortName.rfind('.');
|
||||||
|
if (shortNamePos!=String::npos) {
|
||||||
|
shortName=shortName.substr(0,shortNamePos);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
switch (type) {
|
switch (type) {
|
||||||
case GUI_FILE_OPEN:
|
case GUI_FILE_OPEN:
|
||||||
if (!dirExists(workingDirSong)) workingDirSong=getHomeDir();
|
if (!dirExists(workingDirSong)) workingDirSong=getHomeDir();
|
||||||
|
@ -1680,7 +1692,8 @@ void FurnaceGUI::openFileDialog(FurnaceGUIFileDialogs type) {
|
||||||
"Export DMF",
|
"Export DMF",
|
||||||
{"DefleMask 1.1.3 module", "*.dmf"},
|
{"DefleMask 1.1.3 module", "*.dmf"},
|
||||||
workingDirSong,
|
workingDirSong,
|
||||||
dpiScale
|
dpiScale,
|
||||||
|
(settings.autoFillSave)?shortName:""
|
||||||
);
|
);
|
||||||
break;
|
break;
|
||||||
case GUI_FILE_SAVE_DMF_LEGACY:
|
case GUI_FILE_SAVE_DMF_LEGACY:
|
||||||
|
@ -1689,7 +1702,8 @@ void FurnaceGUI::openFileDialog(FurnaceGUIFileDialogs type) {
|
||||||
"Export DMF",
|
"Export DMF",
|
||||||
{"DefleMask 1.0/legacy module", "*.dmf"},
|
{"DefleMask 1.0/legacy module", "*.dmf"},
|
||||||
workingDirSong,
|
workingDirSong,
|
||||||
dpiScale
|
dpiScale,
|
||||||
|
(settings.autoFillSave)?shortName:""
|
||||||
);
|
);
|
||||||
break;
|
break;
|
||||||
case GUI_FILE_INS_OPEN:
|
case GUI_FILE_INS_OPEN:
|
||||||
|
@ -1766,7 +1780,8 @@ void FurnaceGUI::openFileDialog(FurnaceGUIFileDialogs type) {
|
||||||
"Save Instrument",
|
"Save Instrument",
|
||||||
{"DefleMask preset", "*.dmp"},
|
{"DefleMask preset", "*.dmp"},
|
||||||
workingDirIns,
|
workingDirIns,
|
||||||
dpiScale
|
dpiScale,
|
||||||
|
(settings.autoFillSave)?e->getIns(curIns)->name:""
|
||||||
);
|
);
|
||||||
break;
|
break;
|
||||||
case GUI_FILE_WAVE_OPEN:
|
case GUI_FILE_WAVE_OPEN:
|
||||||
|
@ -1838,7 +1853,8 @@ void FurnaceGUI::openFileDialog(FurnaceGUIFileDialogs type) {
|
||||||
"Save Sample",
|
"Save Sample",
|
||||||
{"Wave file", "*.wav"},
|
{"Wave file", "*.wav"},
|
||||||
workingDirSample,
|
workingDirSample,
|
||||||
dpiScale
|
dpiScale,
|
||||||
|
(settings.autoFillSave)?e->getSample(curSample)->name:""
|
||||||
);
|
);
|
||||||
break;
|
break;
|
||||||
case GUI_FILE_SAMPLE_SAVE_RAW:
|
case GUI_FILE_SAMPLE_SAVE_RAW:
|
||||||
|
@ -1847,7 +1863,8 @@ void FurnaceGUI::openFileDialog(FurnaceGUIFileDialogs type) {
|
||||||
"Save Raw Sample",
|
"Save Raw Sample",
|
||||||
{"all files", "*"},
|
{"all files", "*"},
|
||||||
workingDirSample,
|
workingDirSample,
|
||||||
dpiScale
|
dpiScale,
|
||||||
|
(settings.autoFillSave)?e->getSample(curSample)->name:""
|
||||||
);
|
);
|
||||||
break;
|
break;
|
||||||
case GUI_FILE_EXPORT_AUDIO_ONE:
|
case GUI_FILE_EXPORT_AUDIO_ONE:
|
||||||
|
@ -1856,7 +1873,8 @@ void FurnaceGUI::openFileDialog(FurnaceGUIFileDialogs type) {
|
||||||
"Export Audio",
|
"Export Audio",
|
||||||
{"Wave file", "*.wav"},
|
{"Wave file", "*.wav"},
|
||||||
workingDirAudioExport,
|
workingDirAudioExport,
|
||||||
dpiScale
|
dpiScale,
|
||||||
|
(settings.autoFillSave)?shortName:""
|
||||||
);
|
);
|
||||||
break;
|
break;
|
||||||
case GUI_FILE_EXPORT_AUDIO_PER_SYS:
|
case GUI_FILE_EXPORT_AUDIO_PER_SYS:
|
||||||
|
@ -1865,7 +1883,8 @@ void FurnaceGUI::openFileDialog(FurnaceGUIFileDialogs type) {
|
||||||
"Export Audio",
|
"Export Audio",
|
||||||
{"Wave file", "*.wav"},
|
{"Wave file", "*.wav"},
|
||||||
workingDirAudioExport,
|
workingDirAudioExport,
|
||||||
dpiScale
|
dpiScale,
|
||||||
|
(settings.autoFillSave)?shortName:""
|
||||||
);
|
);
|
||||||
break;
|
break;
|
||||||
case GUI_FILE_EXPORT_AUDIO_PER_CHANNEL:
|
case GUI_FILE_EXPORT_AUDIO_PER_CHANNEL:
|
||||||
|
@ -1874,7 +1893,8 @@ void FurnaceGUI::openFileDialog(FurnaceGUIFileDialogs type) {
|
||||||
"Export Audio",
|
"Export Audio",
|
||||||
{"Wave file", "*.wav"},
|
{"Wave file", "*.wav"},
|
||||||
workingDirAudioExport,
|
workingDirAudioExport,
|
||||||
dpiScale
|
dpiScale,
|
||||||
|
(settings.autoFillSave)?shortName:""
|
||||||
);
|
);
|
||||||
break;
|
break;
|
||||||
case GUI_FILE_EXPORT_VGM:
|
case GUI_FILE_EXPORT_VGM:
|
||||||
|
@ -1883,7 +1903,8 @@ void FurnaceGUI::openFileDialog(FurnaceGUIFileDialogs type) {
|
||||||
"Export VGM",
|
"Export VGM",
|
||||||
{"VGM file", "*.vgm"},
|
{"VGM file", "*.vgm"},
|
||||||
workingDirVGMExport,
|
workingDirVGMExport,
|
||||||
dpiScale
|
dpiScale,
|
||||||
|
(settings.autoFillSave)?shortName:""
|
||||||
);
|
);
|
||||||
break;
|
break;
|
||||||
case GUI_FILE_EXPORT_ZSM:
|
case GUI_FILE_EXPORT_ZSM:
|
||||||
|
@ -1892,7 +1913,8 @@ void FurnaceGUI::openFileDialog(FurnaceGUIFileDialogs type) {
|
||||||
"Export ZSM",
|
"Export ZSM",
|
||||||
{"ZSM file", "*.zsm"},
|
{"ZSM file", "*.zsm"},
|
||||||
workingDirZSMExport,
|
workingDirZSMExport,
|
||||||
dpiScale
|
dpiScale,
|
||||||
|
(settings.autoFillSave)?shortName:""
|
||||||
);
|
);
|
||||||
break;
|
break;
|
||||||
case GUI_FILE_EXPORT_TEXT:
|
case GUI_FILE_EXPORT_TEXT:
|
||||||
|
@ -1901,7 +1923,8 @@ void FurnaceGUI::openFileDialog(FurnaceGUIFileDialogs type) {
|
||||||
"Export Command Stream",
|
"Export Command Stream",
|
||||||
{"text file", "*.txt"},
|
{"text file", "*.txt"},
|
||||||
workingDirROMExport,
|
workingDirROMExport,
|
||||||
dpiScale
|
dpiScale,
|
||||||
|
(settings.autoFillSave)?shortName:""
|
||||||
);
|
);
|
||||||
break;
|
break;
|
||||||
case GUI_FILE_EXPORT_CMDSTREAM:
|
case GUI_FILE_EXPORT_CMDSTREAM:
|
||||||
|
@ -1910,7 +1933,8 @@ void FurnaceGUI::openFileDialog(FurnaceGUIFileDialogs type) {
|
||||||
"Export Command Stream",
|
"Export Command Stream",
|
||||||
{"binary file", "*.bin"},
|
{"binary file", "*.bin"},
|
||||||
workingDirROMExport,
|
workingDirROMExport,
|
||||||
dpiScale
|
dpiScale,
|
||||||
|
(settings.autoFillSave)?shortName:""
|
||||||
);
|
);
|
||||||
break;
|
break;
|
||||||
case GUI_FILE_EXPORT_ROM:
|
case GUI_FILE_EXPORT_ROM:
|
||||||
|
|
Loading…
Reference in a new issue