[DEV] correction of the filename display and management

This commit is contained in:
Edouard DUPIN 2014-05-13 21:48:20 +02:00
parent 7acd5127eb
commit f1543f6199
5 changed files with 31 additions and 15 deletions

View File

@ -13,6 +13,8 @@
#include <ewol/context/clipBoard.h>
#include <appl/HighlightManager.h>
#undef __class__
#define __class__ "Buffer"
const char* const appl::Buffer::eventIsModify = "edn-is-modify";
const char* const appl::Buffer::eventIsSave = "edn-is-save";
@ -143,8 +145,11 @@ appl::Buffer::~Buffer(void) {
}
bool appl::Buffer::loadFile(const std::string& _name) {
APPL_DEBUG("Load file : '" << _name << "'");
m_fileName = _name;
APPL_DEBUG("Convert filename :'" << _name << "'");
etk::FSNode file(_name);
std::string name = file.getName();
APPL_INFO("Load file : '" << name << "'");
m_fileName = name;
m_hasFileName = true;
m_isModify = true;
m_cursorPos = 0;
@ -160,10 +165,13 @@ bool appl::Buffer::loadFile(const std::string& _name) {
}
void appl::Buffer::setFileName(const std::string& _name) {
if (m_fileName == _name) {
APPL_DEBUG("Convert filename :'" << _name << "'");
etk::FSNode file(_name);
std::string name = file.getName();
if (m_fileName == name) {
return;
}
m_fileName = _name;
m_fileName = name;
m_hasFileName = true;
generateEventId(eventChangeName);
setModification(true);

View File

@ -6,10 +6,11 @@
* @license GPL v3 (see license file)
*/
#include <etk/types.h>
#include <etk/os/FSNode.h>
#include <appl/debug.h>
#include <appl/global.h>
#include <appl/BufferManager.h>
#include <etk/types.h>
#include <ewol/object/Object.h>
#include <ewol/object/Manager.h>
#include <ewol/resource/Manager.h>
@ -51,6 +52,7 @@ appl::Buffer* appl::BufferManager::createNewBuffer(void) {
}
appl::Buffer* appl::BufferManager::get(const std::string& _fileName, bool _createIfNeeded) {
APPL_INFO("get(" << _fileName << "," << _createIfNeeded << ")");
for (int32_t iii = 0; iii < m_list.size(); ++iii) {
if (m_list[iii] == NULL) {
continue;
@ -61,7 +63,8 @@ appl::Buffer* appl::BufferManager::get(const std::string& _fileName, bool _creat
}
if (_createIfNeeded == true) {
if (etk::FSNodeGetType(_fileName) == etk::FSN_FOLDER) {
APPL_INFO("try open a folder : " << _fileName);
APPL_WARNING("try open a folder : " << _fileName);
APPL_CRITICAL("plop");
return NULL;
}
appl::Buffer* tmp = new appl::Buffer();

View File

@ -384,9 +384,10 @@ void MainWindows::onReceiveMessage(const ewol::object::Message& _msg) {
tmpp->registerOnEvent(this, appl::Buffer::eventIsSave);
tmpp->registerOnEvent(this, appl::Buffer::eventChangeName);
}
setTitle(std::string("Edn : ") + (tmpp->isModify()==true?" *":"") + tmpp->getFileName());
std::string nameFileSystem = etk::FSNode(tmpp->getFileName()).getFileSystemName();
setTitle(std::string("Edn : ") + (tmpp->isModify()==true?" *":"") + nameFileSystem);
if (m_widgetLabelFileName != NULL) {
m_widgetLabelFileName->setLabel(tmpp->getFileName() + (tmpp->isModify()==true?" *":""));
m_widgetLabelFileName->setLabel(nameFileSystem + (tmpp->isModify()==true?" *":""));
}
}

View File

@ -82,13 +82,13 @@ void appl::TextPluginCtags::jumpTo(const std::string& _name) {
if (NULL == tmpWidget) {
APPL_ERROR("Can not allocate widget == > display might be in error");
} else {
tmpWidget->addCtagsNewItem(myfile.getName(), lineID);
tmpWidget->addCtagsNewItem(myfile.getFileSystemName(), lineID);
do {
tmpFile = m_tagFolderBase + "/" + entry.file;
myfile = tmpFile;
lineID = entry.address.lineNumber;
printTag(&entry);
tmpWidget->addCtagsNewItem(myfile.getName(), lineID);
tmpWidget->addCtagsNewItem(myfile.getFileSystemName(), lineID);
} while (tagsFindNext (m_ctagFile, &entry) == TagSuccess);
ewol::getContext().getWindows()->popUpWidgetPush(tmpWidget);
tmpWidget->registerOnEvent(this, applEventctagsSelection, eventOpenCtagsSelectReturn);
@ -156,7 +156,7 @@ void appl::TextPluginCtags::onReceiveMessage(const ewol::object::Message& _msg)
etk::FSNode tmpFilename = _msg.getData();
m_tagFilename = tmpFilename.getNameFile();
m_tagFolderBase = tmpFilename.getNameFolder();
APPL_DEBUG("Receive load Ctags file : " << m_tagFolderBase << "/" << m_tagFilename << " ");
APPL_INFO("Receive load Ctags file : " << m_tagFolderBase << "/" << m_tagFilename << " ");
loadTagFile();
} else if (_msg.getMessage() == eventOpenCtagsSelectReturn) {
// parse the input data

View File

@ -103,12 +103,16 @@ bool APP_Init(ewol::Context& _context, size_t _initId, size_t& _nbInitStep) {
if (tmpppp == "-t") {
ctagDetected = true;
} else if (true == ctagDetected) {
APPL_INFO("Load ctag file : \"" << tmpppp << "\"" );
etk::FSNode file(tmpppp);
std::string name = file.getName();
APPL_INFO("Load ctag file : \"" << name << "\"" );
ctagDetected = false;
_context.getEObjectManager().multiCast().anonymousSend(ednMsgCtagsLoadFile, tmpppp);
_context.getEObjectManager().multiCast().anonymousSend(ednMsgCtagsLoadFile, name);
} else {
APPL_INFO("need load file : \"" << tmpppp << "\"" );
bufferManager->open(tmpppp);
etk::FSNode file(tmpppp);
std::string name = file.getName();
APPL_INFO("need load file : \"" << name << "\"" );
bufferManager->open(name);
}
}