localize file dialog
This commit is contained in:
parent
ad566d11f2
commit
54a4d6b3f6
116
extern/igfd/ImGuiFileDialog.cpp
vendored
116
extern/igfd/ImGuiFileDialog.cpp
vendored
|
@ -113,12 +113,6 @@ namespace IGFD
|
||||||
#ifndef createDirButtonString
|
#ifndef createDirButtonString
|
||||||
#define createDirButtonString ICON_FA_PLUS
|
#define createDirButtonString ICON_FA_PLUS
|
||||||
#endif // createDirButtonString
|
#endif // createDirButtonString
|
||||||
#ifndef okButtonString
|
|
||||||
#define okButtonString "OK"
|
|
||||||
#endif // okButtonString
|
|
||||||
#ifndef cancelButtonString
|
|
||||||
#define cancelButtonString "Cancel"
|
|
||||||
#endif // cancelButtonString
|
|
||||||
#ifndef resetButtonString
|
#ifndef resetButtonString
|
||||||
#define resetButtonString ICON_FA_REPEAT
|
#define resetButtonString ICON_FA_REPEAT
|
||||||
#endif // resetButtonString
|
#endif // resetButtonString
|
||||||
|
@ -134,76 +128,6 @@ namespace IGFD
|
||||||
#ifndef editPathButtonString
|
#ifndef editPathButtonString
|
||||||
#define editPathButtonString ICON_FA_PENCIL
|
#define editPathButtonString ICON_FA_PENCIL
|
||||||
#endif // editPathButtonString
|
#endif // editPathButtonString
|
||||||
#ifndef searchString
|
|
||||||
#define searchString "Search"
|
|
||||||
#endif // searchString
|
|
||||||
#ifndef dirEntryString
|
|
||||||
#define dirEntryString "[Dir]"
|
|
||||||
#endif // dirEntryString
|
|
||||||
#ifndef linkEntryString
|
|
||||||
#define linkEntryString "[Link]"
|
|
||||||
#endif // linkEntryString
|
|
||||||
#ifndef fileEntryString
|
|
||||||
#define fileEntryString "[File]"
|
|
||||||
#endif // fileEntryString
|
|
||||||
#ifndef fileNameString
|
|
||||||
#define fileNameString "Name:"
|
|
||||||
#endif // fileNameString
|
|
||||||
#ifndef dirNameString
|
|
||||||
#define dirNameString "Path:"
|
|
||||||
#endif // dirNameString
|
|
||||||
#ifndef buttonResetSearchString
|
|
||||||
#define buttonResetSearchString "Reset search"
|
|
||||||
#endif // buttonResetSearchString
|
|
||||||
#ifndef buttonDriveString
|
|
||||||
#define buttonDriveString "Drives"
|
|
||||||
#endif // buttonDriveString
|
|
||||||
#ifndef buttonEditPathString
|
|
||||||
#define buttonEditPathString "Edit path\nYou can also right click on path buttons"
|
|
||||||
#endif // buttonEditPathString
|
|
||||||
#ifndef buttonResetPathString
|
|
||||||
#define buttonResetPathString "Go to home directory"
|
|
||||||
#endif // buttonResetPathString
|
|
||||||
#ifndef buttonParentDirString
|
|
||||||
#define buttonParentDirString "Go to parent directory"
|
|
||||||
#endif
|
|
||||||
#ifndef buttonCreateDirString
|
|
||||||
#define buttonCreateDirString "Create Directory"
|
|
||||||
#endif // buttonCreateDirString
|
|
||||||
#ifndef tableHeaderAscendingIcon
|
|
||||||
#define tableHeaderAscendingIcon "A|"
|
|
||||||
#endif // tableHeaderAscendingIcon
|
|
||||||
#ifndef tableHeaderDescendingIcon
|
|
||||||
#define tableHeaderDescendingIcon "D|"
|
|
||||||
#endif // tableHeaderDescendingIcon
|
|
||||||
#ifndef tableHeaderFileNameString
|
|
||||||
#define tableHeaderFileNameString "File name"
|
|
||||||
#endif // tableHeaderFileNameString
|
|
||||||
#ifndef tableHeaderFileTypeString
|
|
||||||
#define tableHeaderFileTypeString "Type"
|
|
||||||
#endif // tableHeaderFileTypeString
|
|
||||||
#ifndef tableHeaderFileSizeString
|
|
||||||
#define tableHeaderFileSizeString "Size"
|
|
||||||
#endif // tableHeaderFileSizeString
|
|
||||||
#ifndef tableHeaderFileDateString
|
|
||||||
#define tableHeaderFileDateString "Date"
|
|
||||||
#endif // tableHeaderFileDateString
|
|
||||||
#ifndef OverWriteDialogTitleString
|
|
||||||
#define OverWriteDialogTitleString "Warning"
|
|
||||||
#endif // OverWriteDialogTitleString
|
|
||||||
#ifndef OverWriteDialogMessageString
|
|
||||||
#define OverWriteDialogMessageString "The file you selected already exists! Would you like to overwrite it?"
|
|
||||||
#endif // OverWriteDialogMessageString
|
|
||||||
#ifndef OverWriteDialogConfirmButtonString
|
|
||||||
#define OverWriteDialogConfirmButtonString "Yes"
|
|
||||||
#endif // OverWriteDialogConfirmButtonString
|
|
||||||
#ifndef OverWriteDialogCancelButtonString
|
|
||||||
#define OverWriteDialogCancelButtonString "No"
|
|
||||||
#endif // OverWriteDialogCancelButtonString
|
|
||||||
// see strftime functionin <ctime> for customize
|
|
||||||
#ifndef DateTimeFormat
|
|
||||||
#define DateTimeFormat "%Y/%m/%d %H:%M"
|
|
||||||
#endif // DateTimeFormat
|
|
||||||
#ifdef USE_THUMBNAILS
|
#ifdef USE_THUMBNAILS
|
||||||
#ifndef tableHeaderFileThumbnailsString
|
#ifndef tableHeaderFileThumbnailsString
|
||||||
#define tableHeaderFileThumbnailsString "Thumbnails"
|
#define tableHeaderFileThumbnailsString "Thumbnails"
|
||||||
|
@ -649,10 +573,10 @@ namespace IGFD
|
||||||
vFileDialogInternal.puFileManager.ApplyFilteringOnFileList(vFileDialogInternal);
|
vFileDialogInternal.puFileManager.ApplyFilteringOnFileList(vFileDialogInternal);
|
||||||
}
|
}
|
||||||
if (ImGui::IsItemHovered())
|
if (ImGui::IsItemHovered())
|
||||||
ImGui::SetTooltip(buttonResetSearchString);
|
ImGui::SetTooltip("%s",FileDialog::Instance()->buttonResetSearchString);
|
||||||
ImGui::SameLine();
|
ImGui::SameLine();
|
||||||
ImGui::PushItemWidth(ImGui::GetContentRegionAvail().x);
|
ImGui::PushItemWidth(ImGui::GetContentRegionAvail().x);
|
||||||
bool edited = ImGui::InputTextWithHint("##InputImGuiFileDialogSearchField", searchString, puSearchBuffer, MAX_FILE_DIALOG_NAME_BUFFER);
|
bool edited = ImGui::InputTextWithHint("##InputImGuiFileDialogSearchField", FileDialog::Instance()->searchString, puSearchBuffer, MAX_FILE_DIALOG_NAME_BUFFER);
|
||||||
if (ImGui::GetItemID() == ImGui::GetActiveID())
|
if (ImGui::GetItemID() == ImGui::GetActiveID())
|
||||||
puSearchInputIsActive = true;
|
puSearchInputIsActive = true;
|
||||||
ImGui::PopItemWidth();
|
ImGui::PopItemWidth();
|
||||||
|
@ -1164,10 +1088,10 @@ namespace IGFD
|
||||||
logV("IGFD: SortFields()");
|
logV("IGFD: SortFields()");
|
||||||
if (vSortingField != SortingFieldEnum::FIELD_NONE)
|
if (vSortingField != SortingFieldEnum::FIELD_NONE)
|
||||||
{
|
{
|
||||||
puHeaderFileName = tableHeaderFileNameString;
|
puHeaderFileName = FileDialog::Instance()->tableHeaderFileNameString;
|
||||||
puHeaderFileType = tableHeaderFileTypeString;
|
puHeaderFileType = FileDialog::Instance()->tableHeaderFileTypeString;
|
||||||
puHeaderFileSize = tableHeaderFileSizeString;
|
puHeaderFileSize = FileDialog::Instance()->tableHeaderFileSizeString;
|
||||||
puHeaderFileDate = tableHeaderFileDateString;
|
puHeaderFileDate = FileDialog::Instance()->tableHeaderFileDateString;
|
||||||
#ifdef USE_THUMBNAILS
|
#ifdef USE_THUMBNAILS
|
||||||
puHeaderFileThumbnails = tableHeaderFileThumbnailsString;
|
puHeaderFileThumbnails = tableHeaderFileThumbnailsString;
|
||||||
#endif // #ifdef USE_THUMBNAILS
|
#endif // #ifdef USE_THUMBNAILS
|
||||||
|
@ -1756,10 +1680,10 @@ namespace IGFD
|
||||||
#ifdef MSVC
|
#ifdef MSVC
|
||||||
struct tm _tm;
|
struct tm _tm;
|
||||||
errno_t err = localtime_s(&_tm, &statInfos.st_mtime);
|
errno_t err = localtime_s(&_tm, &statInfos.st_mtime);
|
||||||
if (!err) len = strftime(timebuf, 99, DateTimeFormat, &_tm);
|
if (!err) len = strftime(timebuf, 99, FileDialog::Instance()->DateTimeFormat, &_tm);
|
||||||
#else // MSVC
|
#else // MSVC
|
||||||
struct tm* _tm = localtime(&statInfos.st_mtime);
|
struct tm* _tm = localtime(&statInfos.st_mtime);
|
||||||
if (_tm) len = strftime(timebuf, 99, DateTimeFormat, _tm);
|
if (_tm) len = strftime(timebuf, 99, FileDialog::Instance()->DateTimeFormat, _tm);
|
||||||
#endif // MSVC
|
#endif // MSVC
|
||||||
if (len)
|
if (len)
|
||||||
{
|
{
|
||||||
|
@ -2120,7 +2044,7 @@ namespace IGFD
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (ImGui::IsItemHovered())
|
if (ImGui::IsItemHovered())
|
||||||
ImGui::SetTooltip(buttonCreateDirString);
|
ImGui::SetTooltip("%s",FileDialog::Instance()->buttonCreateDirString);
|
||||||
|
|
||||||
if (prCreateDirectoryMode)
|
if (prCreateDirectoryMode)
|
||||||
{
|
{
|
||||||
|
@ -2132,7 +2056,7 @@ namespace IGFD
|
||||||
|
|
||||||
ImGui::SameLine();
|
ImGui::SameLine();
|
||||||
|
|
||||||
if (IMGUI_BUTTON(okButtonString))
|
if (IMGUI_BUTTON(FileDialog::Instance()->okButtonString))
|
||||||
{
|
{
|
||||||
std::string newDir = std::string(puDirectoryNameBuffer);
|
std::string newDir = std::string(puDirectoryNameBuffer);
|
||||||
if (CreateDir(newDir))
|
if (CreateDir(newDir))
|
||||||
|
@ -2146,7 +2070,7 @@ namespace IGFD
|
||||||
|
|
||||||
ImGui::SameLine();
|
ImGui::SameLine();
|
||||||
|
|
||||||
if (IMGUI_BUTTON(cancelButtonString))
|
if (IMGUI_BUTTON(FileDialog::Instance()->cancelButtonString))
|
||||||
{
|
{
|
||||||
prCreateDirectoryMode = false;
|
prCreateDirectoryMode = false;
|
||||||
}
|
}
|
||||||
|
@ -2161,7 +2085,7 @@ namespace IGFD
|
||||||
OpenCurrentPath(vFileDialogInternal);
|
OpenCurrentPath(vFileDialogInternal);
|
||||||
}
|
}
|
||||||
if (ImGui::IsItemHovered())
|
if (ImGui::IsItemHovered())
|
||||||
ImGui::SetTooltip(buttonResetPathString);
|
ImGui::SetTooltip("%s",FileDialog::Instance()->buttonResetPathString);
|
||||||
|
|
||||||
ImGui::SameLine();
|
ImGui::SameLine();
|
||||||
if (IMGUI_BUTTON(parentDirString))
|
if (IMGUI_BUTTON(parentDirString))
|
||||||
|
@ -2171,7 +2095,7 @@ namespace IGFD
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (ImGui::IsItemHovered())
|
if (ImGui::IsItemHovered())
|
||||||
ImGui::SetTooltip(buttonParentDirString);
|
ImGui::SetTooltip("%s",FileDialog::Instance()->buttonParentDirString);
|
||||||
|
|
||||||
#ifdef WIN32
|
#ifdef WIN32
|
||||||
ImGui::SameLine();
|
ImGui::SameLine();
|
||||||
|
@ -2191,7 +2115,7 @@ namespace IGFD
|
||||||
puInputPathActivated = true;
|
puInputPathActivated = true;
|
||||||
}
|
}
|
||||||
if (ImGui::IsItemHovered())
|
if (ImGui::IsItemHovered())
|
||||||
ImGui::SetTooltip(buttonEditPathString);
|
ImGui::SetTooltip("%s",FileDialog::Instance()->buttonEditPathString);
|
||||||
|
|
||||||
ImGui::SameLine();
|
ImGui::SameLine();
|
||||||
|
|
||||||
|
@ -3892,9 +3816,9 @@ namespace IGFD
|
||||||
|
|
||||||
ImGui::AlignTextToFramePadding();
|
ImGui::AlignTextToFramePadding();
|
||||||
if (!fdFile.puDLGDirectoryMode)
|
if (!fdFile.puDLGDirectoryMode)
|
||||||
ImGui::Text(fileNameString);
|
ImGui::Text("%s",FileDialog::Instance()->fileNameString);
|
||||||
else // directory chooser
|
else // directory chooser
|
||||||
ImGui::Text(dirNameString);
|
ImGui::Text("%s",FileDialog::Instance()->dirNameString);
|
||||||
|
|
||||||
ImGui::SameLine();
|
ImGui::SameLine();
|
||||||
|
|
||||||
|
@ -3919,7 +3843,8 @@ namespace IGFD
|
||||||
int fileValid=isFileNameValid(fdFile.puFileNameBuffer);
|
int fileValid=isFileNameValid(fdFile.puFileNameBuffer);
|
||||||
if (!(prFileDialogInternal.puDLGflags&ImGuiFileDialogFlags_ConfirmOverwrite)) fileValid=0;
|
if (!(prFileDialogInternal.puDLGflags&ImGuiFileDialogFlags_ConfirmOverwrite)) fileValid=0;
|
||||||
ImGui::BeginDisabled(!(prFileDialogInternal.puCanWeContinue && notEmpty && fileValid==0));
|
ImGui::BeginDisabled(!(prFileDialogInternal.puCanWeContinue && notEmpty && fileValid==0));
|
||||||
if (IMGUI_BUTTON(okButtonString "##validationdialog"))
|
std::string okbs=std::string(FileDialog::Instance()->okButtonString)+"##validationdialog";
|
||||||
|
if (IMGUI_BUTTON(okbs.c_str()))
|
||||||
{
|
{
|
||||||
prFileDialogInternal.puIsOk = true;
|
prFileDialogInternal.puIsOk = true;
|
||||||
res = true;
|
res = true;
|
||||||
|
@ -3959,7 +3884,8 @@ namespace IGFD
|
||||||
ImGui::SameLine();
|
ImGui::SameLine();
|
||||||
|
|
||||||
// Cancel Button
|
// Cancel Button
|
||||||
if (IMGUI_BUTTON(cancelButtonString "##validationdialog") ||
|
std::string cbs=std::string(cancelButtonString)+"##validationdialog";
|
||||||
|
if (IMGUI_BUTTON(cbs.c_str()) ||
|
||||||
prFileDialogInternal.puNeedToExitDialog) // dialog exit asked
|
prFileDialogInternal.puNeedToExitDialog) // dialog exit asked
|
||||||
{
|
{
|
||||||
prFileDialogInternal.puIsOk = false;
|
prFileDialogInternal.puIsOk = false;
|
||||||
|
@ -4585,7 +4511,7 @@ namespace IGFD
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
std::string name = OverWriteDialogTitleString "##" + prFileDialogInternal.puDLGtitle + prFileDialogInternal.puDLGkey + "OverWriteDialog";
|
std::string name = std::string(OverWriteDialogTitleString) + "##" + prFileDialogInternal.puDLGtitle + prFileDialogInternal.puDLGkey + "OverWriteDialog";
|
||||||
|
|
||||||
bool res = false;
|
bool res = false;
|
||||||
|
|
||||||
|
|
23
extern/igfd/ImGuiFileDialog.h
vendored
23
extern/igfd/ImGuiFileDialog.h
vendored
|
@ -1140,6 +1140,29 @@ namespace IGFD
|
||||||
bool singleClickSel;
|
bool singleClickSel;
|
||||||
bool mobileMode;
|
bool mobileMode;
|
||||||
std::string homePath;
|
std::string homePath;
|
||||||
|
const char* okButtonString="OK";
|
||||||
|
const char* cancelButtonString="Cancel";
|
||||||
|
const char* searchString="Search";
|
||||||
|
const char* dirEntryString="[Dir]";
|
||||||
|
const char* linkEntryString="[Link]";
|
||||||
|
const char* fileEntryString="[File]";
|
||||||
|
const char* fileNameString="Name:";
|
||||||
|
const char* dirNameString="Path:";
|
||||||
|
const char* buttonResetSearchString="Reset search";
|
||||||
|
const char* buttonDriveString="Drives";
|
||||||
|
const char* buttonEditPathString="Edit path\nYou can also right click on path buttons";
|
||||||
|
const char* buttonResetPathString="Go to home directory";
|
||||||
|
const char* buttonParentDirString="Go to parent directory";
|
||||||
|
const char* buttonCreateDirString="Create Directory";
|
||||||
|
const char* tableHeaderFileNameString="File name";
|
||||||
|
const char* tableHeaderFileTypeString="Type";
|
||||||
|
const char* tableHeaderFileSizeString="Size";
|
||||||
|
const char* tableHeaderFileDateString="Date";
|
||||||
|
const char* OverWriteDialogTitleString="Warning";
|
||||||
|
const char* OverWriteDialogMessageString="The file you selected already exists! Would you like to overwrite it?";
|
||||||
|
const char* OverWriteDialogConfirmButtonString="Yes";
|
||||||
|
const char* OverWriteDialogCancelButtonString="No";
|
||||||
|
const char* DateTimeFormat="%Y/%m/%d %H:%M";
|
||||||
|
|
||||||
public:
|
public:
|
||||||
static FileDialog* Instance() // Singleton for easier accces form anywhere but only one dialog at a time
|
static FileDialog* Instance() // Singleton for easier accces form anywhere but only one dialog at a time
|
||||||
|
|
|
@ -6660,6 +6660,31 @@ void FurnaceGUI::applyUISettings(bool updateFonts) {
|
||||||
mainFont->EllipsisCharCount=3;
|
mainFont->EllipsisCharCount=3;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
ImGuiFileDialog::Instance()->okButtonString=_("OK");
|
||||||
|
ImGuiFileDialog::Instance()->cancelButtonString=_("Cancel");
|
||||||
|
ImGuiFileDialog::Instance()->searchString=_("Search");
|
||||||
|
ImGuiFileDialog::Instance()->dirEntryString=_("[Dir]");
|
||||||
|
ImGuiFileDialog::Instance()->linkEntryString=_("[Link]");
|
||||||
|
ImGuiFileDialog::Instance()->fileEntryString=_("[File]");
|
||||||
|
ImGuiFileDialog::Instance()->fileNameString=_("Name:");
|
||||||
|
ImGuiFileDialog::Instance()->dirNameString=_("Path:");
|
||||||
|
ImGuiFileDialog::Instance()->buttonResetSearchString=_("Reset search");
|
||||||
|
ImGuiFileDialog::Instance()->buttonDriveString=_("Drives");
|
||||||
|
ImGuiFileDialog::Instance()->buttonEditPathString=_("Edit path\nYou can also right click on path buttons");
|
||||||
|
ImGuiFileDialog::Instance()->buttonResetPathString=_("Go to home directory");
|
||||||
|
ImGuiFileDialog::Instance()->buttonParentDirString=_("Go to parent directory");
|
||||||
|
ImGuiFileDialog::Instance()->buttonCreateDirString=_("Create Directory");
|
||||||
|
ImGuiFileDialog::Instance()->tableHeaderFileNameString=_("File name");
|
||||||
|
ImGuiFileDialog::Instance()->tableHeaderFileTypeString=_("Type");
|
||||||
|
ImGuiFileDialog::Instance()->tableHeaderFileSizeString=_("Size");
|
||||||
|
ImGuiFileDialog::Instance()->tableHeaderFileDateString=_("Date");
|
||||||
|
ImGuiFileDialog::Instance()->OverWriteDialogTitleString=_("Warning");
|
||||||
|
ImGuiFileDialog::Instance()->OverWriteDialogMessageString=_("The file you selected already exists! Would you like to overwrite it?");
|
||||||
|
ImGuiFileDialog::Instance()->OverWriteDialogConfirmButtonString=_("Yes");
|
||||||
|
ImGuiFileDialog::Instance()->OverWriteDialogCancelButtonString=_("No");
|
||||||
|
ImGuiFileDialog::Instance()->DateTimeFormat=_("%Y/%m/%d %H:%M");
|
||||||
|
|
||||||
ImGuiFileDialog::Instance()->SetFileStyle(IGFD_FileStyleByTypeDir,"",uiColors[GUI_COLOR_FILE_DIR],ICON_FA_FOLDER_O);
|
ImGuiFileDialog::Instance()->SetFileStyle(IGFD_FileStyleByTypeDir,"",uiColors[GUI_COLOR_FILE_DIR],ICON_FA_FOLDER_O);
|
||||||
ImGuiFileDialog::Instance()->SetFileStyle(IGFD_FileStyleByTypeFile,"",uiColors[GUI_COLOR_FILE_OTHER],ICON_FA_FILE_O);
|
ImGuiFileDialog::Instance()->SetFileStyle(IGFD_FileStyleByTypeFile,"",uiColors[GUI_COLOR_FILE_OTHER],ICON_FA_FILE_O);
|
||||||
ImGuiFileDialog::Instance()->SetFileStyle(IGFD_FileStyleByExtension,".fur",uiColors[GUI_COLOR_FILE_SONG_NATIVE],ICON_FA_FILE);
|
ImGuiFileDialog::Instance()->SetFileStyle(IGFD_FileStyleByExtension,".fur",uiColors[GUI_COLOR_FILE_SONG_NATIVE],ICON_FA_FILE);
|
||||||
|
|
Loading…
Reference in a new issue