[DEV] set the file access back with the new file system mode
This commit is contained in:
parent
575ef0de03
commit
e6e6b4c89f
@ -369,8 +369,9 @@ static void SortElementList(etk::Vector<etk::FSNode *> &list)
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
//#define TK_DBG_MODE TK_VERBOSE
|
#define TK_DBG_MODE TK_VERBOSE
|
||||||
#define TK_DBG_MODE TK_DEBUG
|
//#define TK_DBG_MODE TK_DEBUG
|
||||||
|
|
||||||
void etk::FSNode::PrivateSetName(etk::UString& newName)
|
void etk::FSNode::PrivateSetName(etk::UString& newName)
|
||||||
{
|
{
|
||||||
if( NULL != m_PointerFile
|
if( NULL != m_PointerFile
|
||||||
@ -945,7 +946,7 @@ etk::Vector<etk::FSNode *> etk::FSNode::FolderGetSubList(bool showHidenFile, boo
|
|||||||
// for each element in the drectory...
|
// for each element in the drectory...
|
||||||
while ((ent = readdir(dir)) != NULL) {
|
while ((ent = readdir(dir)) != NULL) {
|
||||||
etk::UString tmpName(ent->d_name);
|
etk::UString tmpName(ent->d_name);
|
||||||
TK_DEBUG(" search in folder\"" << tmpName << "\"");
|
TK_VERBOSE(" search in folder\"" << tmpName << "\"");
|
||||||
if( tmpName=="."
|
if( tmpName=="."
|
||||||
|| tmpName==".." ) {
|
|| tmpName==".." ) {
|
||||||
// do nothing ...
|
// do nothing ...
|
||||||
|
@ -35,8 +35,6 @@ extern const char * const ewolEventFSFolderSelect = "ewol-event-file-system-fo
|
|||||||
extern const char * const ewolEventFSFolderValidate = "ewol-event-file-system-folder-validate";
|
extern const char * const ewolEventFSFolderValidate = "ewol-event-file-system-folder-validate";
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
ewol::ListFileSystem::ListFileSystem(void)
|
ewol::ListFileSystem::ListFileSystem(void)
|
||||||
{
|
{
|
||||||
m_selectedLine = -1;
|
m_selectedLine = -1;
|
||||||
@ -166,14 +164,35 @@ bool ewol::ListFileSystem::GetTitle(int32_t colomn, etk::UString &myTitle, draw:
|
|||||||
myTitle = "title";
|
myTitle = "title";
|
||||||
return true;
|
return true;
|
||||||
};
|
};
|
||||||
uint32_t ewol::ListFileSystem::GetNuberOfRaw(void) {
|
uint32_t ewol::ListFileSystem::GetNuberOfRaw(void)
|
||||||
return m_list.Size();
|
{
|
||||||
|
int32_t offset = 0;
|
||||||
|
if (true == m_showFolder) {
|
||||||
|
offset = 2;
|
||||||
|
}
|
||||||
|
return m_list.Size() + offset;
|
||||||
};
|
};
|
||||||
bool ewol::ListFileSystem::GetElement(int32_t colomn, int32_t raw, etk::UString &myTextToWrite, draw::Color &fg, draw::Color &bg) {
|
bool ewol::ListFileSystem::GetElement(int32_t colomn, int32_t raw, etk::UString &myTextToWrite, draw::Color &fg, draw::Color &bg)
|
||||||
if (raw >= 0 && raw < m_list.Size() && NULL != m_list[raw]) {
|
{
|
||||||
myTextToWrite = m_list[raw]->GetNameFile();
|
int32_t offset = 0;
|
||||||
} else {
|
if (true == m_showFolder) {
|
||||||
myTextToWrite = "ERROR";
|
offset = 2;
|
||||||
|
if (raw==0) {
|
||||||
|
myTextToWrite = ".";
|
||||||
|
} else if (raw==1) {
|
||||||
|
myTextToWrite = "..";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if( raw-offset >= 0
|
||||||
|
&& raw-offset < m_list.Size()
|
||||||
|
&& NULL != m_list[raw-offset]) {
|
||||||
|
/*if (etk::FSN_FILE == m_list[raw-offset]->GetNodeType()) {
|
||||||
|
myTextToWrite = m_list[raw-offset]->GetRight().GetRight();
|
||||||
|
myTextToWrite += " ";
|
||||||
|
myTextToWrite += m_list[raw-offset]->GetNameFile();
|
||||||
|
} else */{
|
||||||
|
myTextToWrite = m_list[raw-offset]->GetNameFile();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
fg = draw::color::black;
|
fg = draw::color::black;
|
||||||
if (raw % 2) {
|
if (raw % 2) {
|
||||||
@ -190,27 +209,39 @@ bool ewol::ListFileSystem::GetElement(int32_t colomn, int32_t raw, etk::UString
|
|||||||
|
|
||||||
bool ewol::ListFileSystem::OnItemEvent(int32_t IdInput, ewol::eventInputType_te typeEvent, int32_t colomn, int32_t raw, float x, float y)
|
bool ewol::ListFileSystem::OnItemEvent(int32_t IdInput, ewol::eventInputType_te typeEvent, int32_t colomn, int32_t raw, float x, float y)
|
||||||
{
|
{
|
||||||
|
int32_t offset = 0;
|
||||||
|
if (true == m_showFolder) {
|
||||||
|
offset = 2;
|
||||||
|
}
|
||||||
if (typeEvent == ewol::EVENT_INPUT_TYPE_SINGLE) {
|
if (typeEvent == ewol::EVENT_INPUT_TYPE_SINGLE) {
|
||||||
EWOL_INFO("Event on List : IdInput=" << IdInput << " colomn=" << colomn << " raw=" << raw );
|
EWOL_INFO("Event on List : IdInput=" << IdInput << " colomn=" << colomn << " raw=" << raw );
|
||||||
if (1 == IdInput) {
|
if (1 == IdInput) {
|
||||||
int32_t previousRaw = m_selectedLine;
|
int32_t previousRaw = m_selectedLine;
|
||||||
if (raw > m_list.Size() ) {
|
if (raw > m_list.Size()+offset ) {
|
||||||
m_selectedLine = -1;
|
m_selectedLine = -1;
|
||||||
} else {
|
} else {
|
||||||
m_selectedLine = raw;
|
m_selectedLine = raw;
|
||||||
}
|
}
|
||||||
if (previousRaw != m_selectedLine) {
|
if (previousRaw != m_selectedLine) {
|
||||||
if( m_selectedLine >=0
|
if( true == m_showFolder
|
||||||
&& m_selectedLine < m_list.Size()
|
&& m_selectedLine ==0) {
|
||||||
&& NULL != m_list[m_selectedLine] ) {
|
// "." folder
|
||||||
|
GenerateEventId(ewolEventFSFolderSelect, ".");
|
||||||
|
} else if ( true == m_showFolder
|
||||||
|
&& m_selectedLine ==1) {
|
||||||
|
// ".." folder
|
||||||
|
GenerateEventId(ewolEventFSFolderSelect, "..");
|
||||||
|
} else if( m_selectedLine-offset >=0
|
||||||
|
&& m_selectedLine-offset < m_list.Size()
|
||||||
|
&& NULL != m_list[m_selectedLine-offset] ) {
|
||||||
// generate event extern :
|
// generate event extern :
|
||||||
switch(m_list[m_selectedLine]->GetNodeType())
|
switch(m_list[m_selectedLine-offset]->GetNodeType())
|
||||||
{
|
{
|
||||||
case etk::FSN_FILE :
|
case etk::FSN_FILE :
|
||||||
GenerateEventId(ewolEventFSFileSelect, m_list[m_selectedLine]->GetNameFile());
|
GenerateEventId(ewolEventFSFileSelect, m_list[m_selectedLine-offset]->GetNameFile());
|
||||||
break;
|
break;
|
||||||
case etk::FSN_FOLDER :
|
case etk::FSN_FOLDER :
|
||||||
GenerateEventId(ewolEventFSFolderSelect, m_list[m_selectedLine]->GetNameFile());
|
GenerateEventId(ewolEventFSFolderSelect, m_list[m_selectedLine-offset]->GetNameFile());
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
EWOL_ERROR("Can not generate event on an unknow type");
|
EWOL_ERROR("Can not generate event on an unknow type");
|
||||||
@ -218,16 +249,24 @@ bool ewol::ListFileSystem::OnItemEvent(int32_t IdInput, ewol::eventInputType_te
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if( m_selectedLine >=0
|
if( true == m_showFolder
|
||||||
&& m_selectedLine < m_list.Size()
|
&& m_selectedLine ==0) {
|
||||||
&& NULL != m_list[m_selectedLine] ) {
|
// "." folder
|
||||||
switch(m_list[m_selectedLine]->GetNodeType())
|
GenerateEventId(ewolEventFSFolderValidate, ".");
|
||||||
|
} else if ( true == m_showFolder
|
||||||
|
&& m_selectedLine ==1) {
|
||||||
|
// ".." folder
|
||||||
|
GenerateEventId(ewolEventFSFolderValidate, "..");
|
||||||
|
} else if( m_selectedLine-offset >=0
|
||||||
|
&& m_selectedLine-offset < m_list.Size()
|
||||||
|
&& NULL != m_list[m_selectedLine-offset] ) {
|
||||||
|
switch(m_list[m_selectedLine-offset]->GetNodeType())
|
||||||
{
|
{
|
||||||
case etk::FSN_FILE :
|
case etk::FSN_FILE :
|
||||||
GenerateEventId(ewolEventFSFileValidate, m_list[m_selectedLine]->GetNameFile());
|
GenerateEventId(ewolEventFSFileValidate, m_list[m_selectedLine-offset]->GetNameFile());
|
||||||
break;
|
break;
|
||||||
case etk::FSN_FOLDER :
|
case etk::FSN_FOLDER :
|
||||||
GenerateEventId(ewolEventFSFolderValidate, m_list[m_selectedLine]->GetNameFile());
|
GenerateEventId(ewolEventFSFolderValidate, m_list[m_selectedLine-offset]->GetNameFile());
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
EWOL_ERROR("Can not generate event on an unknow type");
|
EWOL_ERROR("Can not generate event on an unknow type");
|
||||||
|
Loading…
x
Reference in New Issue
Block a user