bind the new file picker

here be lions until further notice.
This commit is contained in:
tildearrow 2025-09-27 23:01:24 -05:00
parent 4ec66a4684
commit d81d8ff6aa
6 changed files with 64 additions and 138 deletions

View file

@ -1,5 +1,4 @@
#include "fileDialog.h"
#include "ImGuiFileDialog.h"
#include "util.h"
#include "../ta-log.h"
@ -192,13 +191,9 @@ bool FurnaceGUIFileDialog::openLoad(String header, std::vector<String> filter, S
}
#endif
convertFilterList(filter);
ImGuiFileDialog::Instance()->singleClickSel=mobileUI;
ImGuiFileDialog::Instance()->DpiScale=dpiScale;
ImGuiFileDialog::Instance()->mobileMode=mobileUI;
ImGuiFileDialog::Instance()->homePath=getHomeDir();
ImGuiFileDialog::Instance()->OpenModal("FileDialog",header,filter.empty()?NULL:noSysFilter,path,hint,allowMultiple?999:1,nullptr,0,clickCallback);
// TODO: hint, clickCallback, "FileDialog" ID
newFilePicker->setHomeDir(getHomeDir());
newFilePicker->open(header+"##FileDialog",path,FP_FLAGS_MODAL|(allowMultiple?FP_FLAGS_MULTI_SELECT:0),filter);
}
opened=true;
return true;
@ -281,13 +276,9 @@ bool FurnaceGUIFileDialog::openSave(String header, std::vector<String> filter, S
} else {
hasError=false;
convertFilterList(filter);
ImGuiFileDialog::Instance()->singleClickSel=false;
ImGuiFileDialog::Instance()->DpiScale=dpiScale;
ImGuiFileDialog::Instance()->mobileMode=mobileUI;
ImGuiFileDialog::Instance()->homePath=getHomeDir();
ImGuiFileDialog::Instance()->OpenModal("FileDialog",header,noSysFilter,path,hint,1,nullptr,ImGuiFileDialogFlags_ConfirmOverwrite);
// TODO: hint, clickCallback, "FileDialog" ID
newFilePicker->setHomeDir(getHomeDir());
newFilePicker->open(header+"##FileDialog",path,FP_FLAGS_MODAL|FP_FLAGS_SAVE,filter);
}
opened=true;
return true;
@ -334,11 +325,9 @@ bool FurnaceGUIFileDialog::openSelectDir(String header, String path, double dpiS
}
#endif
ImGuiFileDialog::Instance()->singleClickSel=mobileUI;
ImGuiFileDialog::Instance()->DpiScale=dpiScale;
ImGuiFileDialog::Instance()->mobileMode=mobileUI;
ImGuiFileDialog::Instance()->homePath=getHomeDir();
ImGuiFileDialog::Instance()->OpenModal("FileDialog",header,NULL,path,hint,1,nullptr,0);
// TODO: hint, "FileDialog" ID
newFilePicker->setHomeDir(getHomeDir());
newFilePicker->open(header+"##FileDialog",path,FP_FLAGS_MODAL|FP_FLAGS_DIR_SELECT,{});
}
opened=true;
return true;
@ -348,7 +337,7 @@ bool FurnaceGUIFileDialog::accepted() {
if (sysDialog) {
return (!fileName.empty());
} else {
return ImGuiFileDialog::Instance()->IsOk();
return (newFilePicker->getStatus()==FP_STATUS_ACCEPTED);
}
}
@ -391,7 +380,7 @@ void FurnaceGUIFileDialog::close() {
dialogOK=false;
#endif
} else {
ImGuiFileDialog::Instance()->Close();
newFilePicker->close();
}
opened=false;
}
@ -468,7 +457,7 @@ bool FurnaceGUIFileDialog::render(const ImVec2& min, const ImVec2& max) {
return false;
#endif
} else {
return ImGuiFileDialog::Instance()->Display("FileDialog",ImGuiWindowFlags_NoCollapse|ImGuiWindowFlags_NoMove|ImGuiWindowFlags_NoScrollWithMouse,min,max);
return newFilePicker->draw();
}
}
@ -490,7 +479,7 @@ String FurnaceGUIFileDialog::getPath() {
logD("curPath: %s",curPath.c_str());
return curPath;
} else {
return ImGuiFileDialog::Instance()->GetCurrentPath();
return newFilePicker->getPath();
}
}
@ -499,14 +488,7 @@ std::vector<String>& FurnaceGUIFileDialog::getFileName() {
return fileName;
} else {
fileName.clear();
if (dialogType!=0) {
fileName.push_back(ImGuiFileDialog::Instance()->GetFilePathName());
} else {
for (auto& i: ImGuiFileDialog::Instance()->GetSelection()) {
fileName.push_back(i.second);
}
}
//
fileName=newFilePicker->getSelected();
return fileName;
}
}

View file

@ -1,5 +1,5 @@
#include "../ta-utils.h"
#include "imgui.h"
#include "newFilePicker.h"
#include <functional>
#include "../pch.h"
@ -38,6 +38,7 @@ class FurnaceGUIFileDialog {
bool hasError;
char noSysFilter[4096];
String curPath;
FurnaceFilePicker* newFilePicker;
std::vector<String> fileName;
#ifdef USE_NFD
std::thread* dialogO;
@ -73,11 +74,12 @@ class FurnaceGUIFileDialog {
bool isError();
String getPath();
std::vector<String>& getFileName();
explicit FurnaceGUIFileDialog(bool system):
explicit FurnaceGUIFileDialog(bool system, FurnaceFilePicker* builtInPicker):
sysDialog(system),
opened(false),
dialogType(0),
hasError(false),
newFilePicker(builtInPicker),
#ifdef ANDROID
jniEnv(NULL),
#endif

View file

@ -29,7 +29,6 @@
#include "../fileutils.h"
#include "imgui.h"
#include "imgui_internal.h"
#include "ImGuiFileDialog.h"
#include "IconsFontAwesome4.h"
#include "misc/cpp/imgui_stdlib.h"
#include "plot_nolerp.h"
@ -1556,7 +1555,7 @@ void FurnaceGUI::keyDown(SDL_Event& ev) {
mapped|=FURKMOD_SHIFT;
}
if (!ImGuiFileDialog::Instance()->IsOpened()) {
if (!newFilePicker->isOpened()) {
if (bindSetActive) {
if (!ev.key.repeat) {
switch (ev.key.keysym.sym) {
@ -1809,7 +1808,7 @@ void FurnaceGUI::keyDown(SDL_Event& ev) {
if (actionI!=actionMapGlobal.cend()) {
int action=actionI->second;
if (action>0) {
if (ImGuiFileDialog::Instance()->IsOpened()) {
if (newFilePicker->isOpened()) {
if (action!=GUI_ACTION_OCTAVE_UP && action!=GUI_ACTION_OCTAVE_DOWN) return;
}
doAction(action);
@ -3964,7 +3963,7 @@ bool FurnaceGUI::loop() {
}
#endif
case SDL_KEYDOWN:
if (!ImGui::GetIO().WantCaptureKeyboard || (ImGuiFileDialog::Instance()->IsOpened() && !ImGui::GetIO().WantTextInput)) {
if (!ImGui::GetIO().WantCaptureKeyboard || (newFilePicker->isOpened() && !ImGui::GetIO().WantTextInput)) {
keyDown(ev);
}
if (introPos<11.0 && !shortIntro) {
@ -5013,7 +5012,6 @@ bool FurnaceGUI::loop() {
MEASURE(userPresets,drawUserPresets());
MEASURE(patManager,drawPatManager());
newFilePicker->draw();
} else {
globalWinFlags=0;
ImGui::DockSpaceOverViewport(0,NULL,lockLayout?(ImGuiDockNodeFlags_NoWindowMenuButton|ImGuiDockNodeFlags_NoMove|ImGuiDockNodeFlags_NoResize|ImGuiDockNodeFlags_NoCloseButton|ImGuiDockNodeFlags_NoDocking|ImGuiDockNodeFlags_NoDockingSplit|ImGuiDockNodeFlags_NoDockingSplitOther):0);
@ -5058,7 +5056,6 @@ bool FurnaceGUI::loop() {
MEASURE(effectList,drawEffectList());
MEASURE(userPresets,drawUserPresets());
newFilePicker->draw();
}
// release selection if mouse released
@ -5115,23 +5112,6 @@ bool FurnaceGUI::loop() {
#endif
#endif
switch (newFilePicker->getStatus()) {
case FP_STATUS_ACCEPTED: {
String combined="The file picker says: ";
for (const String& i: newFilePicker->getSelected()) {
combined+="\n- ";
combined+=i;
}
showError(combined);
break;
}
case FP_STATUS_CLOSED:
showError("The file picker was closed.");
break;
default:
break;
}
if (fileDialog->render(mobileUI?ImVec2(canvasW-(portrait?0:(60.0*dpiScale)),canvasH-60.0*dpiScale):ImVec2(600.0f*dpiScale,400.0f*dpiScale),ImVec2(canvasW-((mobileUI && !portrait)?(60.0*dpiScale):0),canvasH-(mobileUI?(60.0*dpiScale):0)))) {
bool openOpen=false;
//ImGui::GetIO().ConfigFlags&=~ImGuiConfigFlags_NavEnableKeyboard;
@ -7852,7 +7832,6 @@ bool FurnaceGUI::init() {
}
newFilePicker=new FurnaceFilePicker;
newFilePicker->setHomeDir(getHomeDir());
updateWindowTitle();
updateROMExportAvail();

View file

@ -18,7 +18,7 @@
*/
// this is the code to a new file picker using Dear ImGui.
// this will eventually replace ImGuiFileDialog as the built-in file picker.
// this replaces ImGuiFileDialog as the built-in file picker.
#include "newFilePicker.h"
#include "IconsFontAwesome4.h"
@ -1120,6 +1120,10 @@ bool FurnaceFilePicker::draw() {
// change directory
readDirectory(newDir);
}
return (curStatus!=FP_STATUS_WAITING);
}
bool FurnaceFilePicker::isOpened() {
return isOpen;
}
@ -1151,6 +1155,10 @@ bool FurnaceFilePicker::open(String name, String pa, int flags, const std::vecto
return true;
}
void FurnaceFilePicker::close() {
isOpen=false;
}
void FurnaceFilePicker::setMobile(bool val) {
isMobile=val;
}

View file

@ -17,6 +17,9 @@
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
#ifndef _NEW_FILE_DIALOG_H
#define _NEW_FILE_DIALOG_H
#include "../ta-utils.h"
#include "../engine/config.h"
#include <stdint.h>
@ -133,6 +136,8 @@ class FurnaceFilePicker {
const std::vector<String>& getSelected();
void setMobile(bool val);
bool draw();
bool isOpened();
void close();
bool open(String name, String path, int flags, const std::vector<String>& filter);
void loadSettings(DivConfig& conf);
void saveSettings(DivConfig& conf);
@ -141,3 +146,5 @@ class FurnaceFilePicker {
void clearTypes();
FurnaceFilePicker();
};
#endif

View file

@ -26,7 +26,6 @@
#include "util.h"
#include "guiConst.h"
#include "intConst.h"
#include "ImGuiFileDialog.h"
#include "IconsFontAwesome4.h"
#include "furIcons.h"
#include "misc/cpp/imgui_stdlib.h"
@ -6806,85 +6805,34 @@ void FurnaceGUI::applyUISettings(bool updateFonts) {
patFont=mainFont;
bigFont=mainFont;
headFont=mainFont;
//mainFont->FallbackChar='?';
//mainFont->EllipsisChar='.';
//mainFont->EllipsisCharCount=3;
}
// set built-in file picker up (OLD)
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_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,".fui",uiColors[GUI_COLOR_FILE_INSTR],ICON_FA_FILE);
ImGuiFileDialog::Instance()->SetFileStyle(IGFD_FileStyleByExtension,".fuw",uiColors[GUI_COLOR_FILE_WAVE],ICON_FA_FILE);
ImGuiFileDialog::Instance()->SetFileStyle(IGFD_FileStyleByExtension,".dmp",uiColors[GUI_COLOR_FILE_INSTR],ICON_FA_FILE);
ImGuiFileDialog::Instance()->SetFileStyle(IGFD_FileStyleByExtension,".dmw",uiColors[GUI_COLOR_FILE_WAVE],ICON_FA_FILE);
ImGuiFileDialog::Instance()->SetFileStyle(IGFD_FileStyleByExtension,".wav",uiColors[GUI_COLOR_FILE_AUDIO],ICON_FA_FILE_AUDIO_O);
ImGuiFileDialog::Instance()->SetFileStyle(IGFD_FileStyleByExtension,".dmc",uiColors[GUI_COLOR_FILE_AUDIO],ICON_FA_FILE_AUDIO_O);
ImGuiFileDialog::Instance()->SetFileStyle(IGFD_FileStyleByExtension,".brr",uiColors[GUI_COLOR_FILE_AUDIO],ICON_FA_FILE_AUDIO_O);
ImGuiFileDialog::Instance()->SetFileStyle(IGFD_FileStyleByExtension,".vgm",uiColors[GUI_COLOR_FILE_VGM],ICON_FA_FILE_AUDIO_O);
ImGuiFileDialog::Instance()->SetFileStyle(IGFD_FileStyleByExtension,".zsm",uiColors[GUI_COLOR_FILE_ZSM],ICON_FA_FILE_AUDIO_O);
ImGuiFileDialog::Instance()->SetFileStyle(IGFD_FileStyleByExtension,".ttf",uiColors[GUI_COLOR_FILE_FONT],ICON_FA_FONT);
ImGuiFileDialog::Instance()->SetFileStyle(IGFD_FileStyleByExtension,".otf",uiColors[GUI_COLOR_FILE_FONT],ICON_FA_FONT);
ImGuiFileDialog::Instance()->SetFileStyle(IGFD_FileStyleByExtension,".ttc",uiColors[GUI_COLOR_FILE_FONT],ICON_FA_FONT);
ImGuiFileDialog::Instance()->SetFileStyle(IGFD_FileStyleByExtension,".dfont",uiColors[GUI_COLOR_FILE_FONT],ICON_FA_FONT);
ImGuiFileDialog::Instance()->SetFileStyle(IGFD_FileStyleByExtension,".fon",uiColors[GUI_COLOR_FILE_FONT],ICON_FA_FONT);
ImGuiFileDialog::Instance()->SetFileStyle(IGFD_FileStyleByExtension,".pcf",uiColors[GUI_COLOR_FILE_FONT],ICON_FA_FONT);
ImGuiFileDialog::Instance()->SetFileStyle(IGFD_FileStyleByExtension,".psf",uiColors[GUI_COLOR_FILE_FONT],ICON_FA_FONT);
ImGuiFileDialog::Instance()->SetFileStyle(IGFD_FileStyleByExtension,".dmf",uiColors[GUI_COLOR_FILE_SONG_IMPORT],ICON_FA_FILE);
ImGuiFileDialog::Instance()->SetFileStyle(IGFD_FileStyleByExtension,".mod",uiColors[GUI_COLOR_FILE_SONG_IMPORT],ICON_FA_FILE);
ImGuiFileDialog::Instance()->SetFileStyle(IGFD_FileStyleByExtension,".s3m",uiColors[GUI_COLOR_FILE_SONG_IMPORT],ICON_FA_FILE);
ImGuiFileDialog::Instance()->SetFileStyle(IGFD_FileStyleByExtension,".xm",uiColors[GUI_COLOR_FILE_SONG_IMPORT],ICON_FA_FILE);
ImGuiFileDialog::Instance()->SetFileStyle(IGFD_FileStyleByExtension,".it",uiColors[GUI_COLOR_FILE_SONG_IMPORT],ICON_FA_FILE);
ImGuiFileDialog::Instance()->SetFileStyle(IGFD_FileStyleByExtension,".fc13",uiColors[GUI_COLOR_FILE_SONG_IMPORT],ICON_FA_FILE);
ImGuiFileDialog::Instance()->SetFileStyle(IGFD_FileStyleByExtension,".fc14",uiColors[GUI_COLOR_FILE_SONG_IMPORT],ICON_FA_FILE);
ImGuiFileDialog::Instance()->SetFileStyle(IGFD_FileStyleByExtension,".fc",uiColors[GUI_COLOR_FILE_SONG_IMPORT],ICON_FA_FILE);
ImGuiFileDialog::Instance()->SetFileStyle(IGFD_FileStyleByExtension,".smod",uiColors[GUI_COLOR_FILE_SONG_IMPORT],ICON_FA_FILE);
ImGuiFileDialog::Instance()->SetFileStyle(IGFD_FileStyleByExtension,".ftm",uiColors[GUI_COLOR_FILE_SONG_IMPORT],ICON_FA_FILE);
ImGuiFileDialog::Instance()->SetFileStyle(IGFD_FileStyleByExtension,".0cc",uiColors[GUI_COLOR_FILE_SONG_IMPORT],ICON_FA_FILE);
ImGuiFileDialog::Instance()->SetFileStyle(IGFD_FileStyleByExtension,".dnm",uiColors[GUI_COLOR_FILE_SONG_IMPORT],ICON_FA_FILE);
ImGuiFileDialog::Instance()->SetFileStyle(IGFD_FileStyleByExtension,".eft",uiColors[GUI_COLOR_FILE_SONG_IMPORT],ICON_FA_FILE);
ImGuiFileDialog::Instance()->SetFileStyle(IGFD_FileStyleByExtension,".fub",uiColors[GUI_COLOR_FILE_SONG_IMPORT],ICON_FA_FILE);
ImGuiFileDialog::Instance()->SetFileStyle(IGFD_FileStyleByExtension,".tfi",uiColors[GUI_COLOR_FILE_INSTR],ICON_FA_FILE);
ImGuiFileDialog::Instance()->SetFileStyle(IGFD_FileStyleByExtension,".vgi",uiColors[GUI_COLOR_FILE_INSTR],ICON_FA_FILE);
ImGuiFileDialog::Instance()->SetFileStyle(IGFD_FileStyleByExtension,".s3i",uiColors[GUI_COLOR_FILE_INSTR],ICON_FA_FILE);
ImGuiFileDialog::Instance()->SetFileStyle(IGFD_FileStyleByExtension,".sbi",uiColors[GUI_COLOR_FILE_INSTR],ICON_FA_FILE);
ImGuiFileDialog::Instance()->SetFileStyle(IGFD_FileStyleByExtension,".opli",uiColors[GUI_COLOR_FILE_INSTR],ICON_FA_FILE);
ImGuiFileDialog::Instance()->SetFileStyle(IGFD_FileStyleByExtension,".opni",uiColors[GUI_COLOR_FILE_INSTR],ICON_FA_FILE);
ImGuiFileDialog::Instance()->SetFileStyle(IGFD_FileStyleByExtension,".y12",uiColors[GUI_COLOR_FILE_INSTR],ICON_FA_FILE);
ImGuiFileDialog::Instance()->SetFileStyle(IGFD_FileStyleByExtension,".bnk",uiColors[GUI_COLOR_FILE_INSTR],ICON_FA_FILE);
ImGuiFileDialog::Instance()->SetFileStyle(IGFD_FileStyleByExtension,".fti",uiColors[GUI_COLOR_FILE_INSTR],ICON_FA_FILE);
ImGuiFileDialog::Instance()->SetFileStyle(IGFD_FileStyleByExtension,".bti",uiColors[GUI_COLOR_FILE_INSTR],ICON_FA_FILE);
ImGuiFileDialog::Instance()->SetFileStyle(IGFD_FileStyleByExtension,".ff",uiColors[GUI_COLOR_FILE_INSTR],ICON_FA_FILE);
ImGuiFileDialog::Instance()->SetFileStyle(IGFD_FileStyleByExtension,".opm",uiColors[GUI_COLOR_FILE_INSTR],ICON_FA_FILE);
/*
IGFDOld::Instance()->okButtonString=_("OK");
IGFDOld::Instance()->cancelButtonString=_("Cancel");
IGFDOld::Instance()->searchString=_("Search");
IGFDOld::Instance()->dirEntryString=_("[Dir]");
IGFDOld::Instance()->linkEntryString=_("[Link]");
IGFDOld::Instance()->fileEntryString=_("[File]");
IGFDOld::Instance()->fileNameString=_("Name:");
IGFDOld::Instance()->dirNameString=_("Path:");
IGFDOld::Instance()->buttonResetSearchString=_("Reset search");
IGFDOld::Instance()->buttonDriveString=_("Drives");
IGFDOld::Instance()->buttonEditPathString=_("Edit path\nYou can also right click on path buttons");
IGFDOld::Instance()->buttonResetPathString=_("Go to home directory");
IGFDOld::Instance()->buttonParentDirString=_("Go to parent directory");
IGFDOld::Instance()->buttonCreateDirString=_("Create Directory");
IGFDOld::Instance()->tableHeaderFileNameString=_("File name");
IGFDOld::Instance()->tableHeaderFileTypeString=_("Type");
IGFDOld::Instance()->tableHeaderFileSizeString=_("Size");
IGFDOld::Instance()->tableHeaderFileDateString=_("Date");
IGFDOld::Instance()->OverWriteDialogTitleString=_("Warning");
IGFDOld::Instance()->OverWriteDialogMessageString=_("The file you selected already exists! Would you like to overwrite it?");
IGFDOld::Instance()->OverWriteDialogConfirmButtonString=_("Yes");
IGFDOld::Instance()->OverWriteDialogCancelButtonString=_("No");
IGFDOld::Instance()->DateTimeFormat=_("%Y/%m/%d %H:%M");
*/
// set built-in file picker up (NEW)
newFilePicker->setTypeStyle(FP_TYPE_UNKNOWN,uiColors[GUI_COLOR_FILE_OTHER],ICON_FA_QUESTION);
@ -6946,9 +6894,9 @@ void FurnaceGUI::applyUISettings(bool updateFonts) {
if (updateFonts) {
if (fileDialog!=NULL) delete fileDialog;
#ifdef FLATPAK_WORKAROUNDS
fileDialog=new FurnaceGUIFileDialog(false);
fileDialog=new FurnaceGUIFileDialog(false,newFilePicker);
#else
fileDialog=new FurnaceGUIFileDialog(settings.sysFileDialog);
fileDialog=new FurnaceGUIFileDialog(settings.sysFileDialog,newFilePicker);
#endif
fileDialog->mobileUI=mobileUI;