[BUGFIX] update the selection of a new file in the file selection

This commit is contained in:
Edouard DUPIN 2012-10-09 13:56:19 +02:00
parent db7b31dc61
commit e3a379dd62
2 changed files with 18 additions and 12 deletions

View File

@ -291,6 +291,8 @@ bool etk::File::operator!= (const etk::File &etkF) const
return !(*this == etkF); return !(*this == etkF);
} }
#define TK_DBG_MODE TK_VERBOSE
//#define TK_DBG_MODE TK_DEBUG
void etk::File::SetCompleateName(etk::UString &newFilename, etk::FileType_te type) void etk::File::SetCompleateName(etk::UString &newFilename, etk::FileType_te type)
{ {
@ -305,7 +307,7 @@ void etk::File::SetCompleateName(etk::UString &newFilename, etk::FileType_te typ
m_folder = ""; m_folder = "";
m_shortFilename = ""; m_shortFilename = "";
m_lineNumberOpen = 0; m_lineNumberOpen = 0;
TK_VERBOSE("1 :Set Name : " << newFilename ); TK_DBG_MODE("1 :Set Name : " << newFilename );
etk::UString destFilename; etk::UString destFilename;
if (newFilename.Size() == 0) { if (newFilename.Size() == 0) {
destFilename = "no-name"; destFilename = "no-name";
@ -314,15 +316,15 @@ void etk::File::SetCompleateName(etk::UString &newFilename, etk::FileType_te typ
} }
#ifdef __TARGET_OS__Windows #ifdef __TARGET_OS__Windows
TK_VERBOSE("2 : Get file Name : " << destFilename << "start with 'c:/'=" << destFilename.StartWith("c:/")); TK_DBG_MODE("2 : Get file Name : " << destFilename << "start with 'c:/'=" << destFilename.StartWith("c:/"));
if (true == destFilename.StartWith("c:/")) { if (true == destFilename.StartWith("c:/")) {
#else #else
TK_VERBOSE("2 : Get file Name : " << destFilename << "start with '/'=" << destFilename.StartWith('/')); TK_DBG_MODE("2 : Get file Name : " << destFilename << "start with '/'=" << destFilename.StartWith('/'));
if (true == destFilename.StartWith('/')) { if (true == destFilename.StartWith('/')) {
#endif #endif
m_type = etk::FILE_TYPE_DIRECT; m_type = etk::FILE_TYPE_DIRECT;
if (type != etk::FILE_TYPE_DIRECT) { if (type != etk::FILE_TYPE_DIRECT) {
TK_VERBOSE("Incompatible type with a file=\"" << newFilename << "\" ==> force it in direct mode ..."); TK_WARNING("Incompatible type with a file=\"" << newFilename << "\" ==> force it in direct mode ...");
} }
} else { } else {
if (type == etk::FILE_TYPE_DIRECT) { if (type == etk::FILE_TYPE_DIRECT) {
@ -370,7 +372,7 @@ void etk::File::SetCompleateName(etk::UString &newFilename, etk::FileType_te typ
if (-1 == m_idZipFile) { if (-1 == m_idZipFile) {
TK_ERROR("File Does not existed ... in APK : \"" << tmpFilename << "\""); TK_ERROR("File Does not existed ... in APK : \"" << tmpFilename << "\"");
} else { } else {
TK_VERBOSE("File existed ... in APK : \"" << tmpFilename << "\" ==> id=" << m_idZipFile); TK_DBG_MODE("File existed ... in APK : \"" << tmpFilename << "\" ==> id=" << m_idZipFile);
} }
#else #else
//etk::UString tmpFilename = destFilename; //etk::UString tmpFilename = destFilename;
@ -409,10 +411,8 @@ void etk::File::SetCompleateName(etk::UString &newFilename, etk::FileType_te typ
needUnpack = true; needUnpack = true;
break; break;
} }
TK_VERBOSE("3 : Get file Name : " << destFilename ); TK_DBG_MODE("3 : Get file Name : " << destFilename );
if (true == needUnpack) { if (true == needUnpack) {
// Get the real Path of the current File
destFilename = etk::tool::SimplifyPath(destFilename);
int32_t lastPos = destFilename.FindBack('/'); int32_t lastPos = destFilename.FindBack('/');
if (-1 != lastPos) { if (-1 != lastPos) {
@ -420,10 +420,12 @@ void etk::File::SetCompleateName(etk::UString &newFilename, etk::FileType_te typ
m_folder = destFilename.Extract(0, lastPos); m_folder = destFilename.Extract(0, lastPos);
} else { } else {
// Basic ERROR ... // Basic ERROR ...
TK_VERBOSE("file : \"" << destFilename << "\" ==> No data???"); TK_DBG_MODE("file : \"" << destFilename << "\" ==> No data???");
m_shortFilename = destFilename; m_shortFilename = destFilename;
m_folder = ""; m_folder = "";
} }
// Get the real Path of the current File
m_folder = etk::tool::SimplifyPath(m_folder);
} else { } else {
int32_t lastPos = destFilename.FindBack('/'); int32_t lastPos = destFilename.FindBack('/');
if (-1 != lastPos) { if (-1 != lastPos) {
@ -431,11 +433,12 @@ void etk::File::SetCompleateName(etk::UString &newFilename, etk::FileType_te typ
m_folder = destFilename.Extract(0, lastPos); m_folder = destFilename.Extract(0, lastPos);
} else { } else {
// Basic ERROR ... // Basic ERROR ...
TK_VERBOSE("file : \"" << destFilename << "\" ==> No data???"); TK_DBG_MODE("file : \"" << destFilename << "\" ==> No data???");
m_shortFilename = destFilename; m_shortFilename = destFilename;
} }
} }
TK_VERBOSE("Set FileName :\"" << m_folder << "\" / \"" << m_shortFilename << "\" mode=" << mode); TK_DBG_MODE("Set FileName :\"" << m_folder << "\" / \"" << m_shortFilename << "\"");
TK_VERBOSE(" ==> mode=" << mode);
} }
int32_t etk::File::GetLineNumber(void) int32_t etk::File::GetLineNumber(void)

View File

@ -366,7 +366,10 @@ void ewol::FileChooser::OnReceiveMessage(ewol::EObject * CallerObject, const cha
|| (eventId == ewolEventFileChooserValidate && m_file != "" ) || (eventId == ewolEventFileChooserValidate && m_file != "" )
|| (eventId == ewolEventFileChooserEntryFileEnter && m_file != "" ) ) { || (eventId == ewolEventFileChooserEntryFileEnter && m_file != "" ) ) {
// select the File ==> generate a validate // select the File ==> generate a validate
SetFileName(data); if (data != "") {
SetFileName(data);
}
EWOL_VERBOSE(" generate a fiel opening : \"" << m_folder << "\" / \"" << m_file << "\"");
etk::UString tmpFileCompleatName = m_folder; etk::UString tmpFileCompleatName = m_folder;
tmpFileCompleatName += m_file; tmpFileCompleatName += m_file;
GenerateEventId(ewolEventFileChooserValidate, tmpFileCompleatName); GenerateEventId(ewolEventFileChooserValidate, tmpFileCompleatName);