Use QXml for export engine

Change import/export engine filter to Qt format
Qt doesn't add extension in its file dialog
Fix a bug : op was not correctly set by default in OnOperationModified (GridAccount)
This commit is contained in:
2012-02-12 10:20:02 +01:00
parent 9e1686bd6e
commit 8128fe0008
13 changed files with 136 additions and 81 deletions

View File

@@ -538,7 +538,7 @@ QString KissCount::GetImportEngineExtensions()
std::vector<ImportEngine*>* importEngines = KissCount::GetImportEngines();
for(i=0; i<(int)importEngines->size()-1; i++)
res = res + (*importEngines)[i]->GetFileExt() + "|" ;
res = res + (*importEngines)[i]->GetFileExt() + ";;" ;
if (importEngines->size())
res = res + (*importEngines)[i]->GetFileExt();
@@ -546,14 +546,23 @@ QString KissCount::GetImportEngineExtensions()
return res;
}
ImportEngine* KissCount::GetImportEngine(QString path)
ImportEngine* KissCount::GetImportEngine(QString path, QString filter)
{
std::vector<ImportEngine*>::iterator it;
std::vector<ImportEngine*>* importEngines = KissCount::GetImportEngines();
QString tmp;
for(it=importEngines->begin(); it!=importEngines->end(); it++)
if ((*it)->HandleFile(path, _user, _db, this))
return *it;
{
if (filter == (*it)->GetFileExt())
{
tmp = path;
if (!tmp.endsWith((*it)->GetShortExt()))
tmp += (*it)->GetShortExt();
if ((*it)->HandleFile(path, _user, _db, this))
return *it;
}
}
return 0;
}
@@ -587,7 +596,7 @@ QString KissCount::GetExportEngineExtensions()
std::vector<ExportEngine*>* exportEngines = KissCount::GetExportEngines();
for(i=0; i<(int)exportEngines->size()-1; i++)
res = res + (*exportEngines)[i]->GetFileExt() + "|" ;
res = res + (*exportEngines)[i]->GetFileExt() + ";;" ;
if (exportEngines->size())
res = res + (*exportEngines)[i]->GetFileExt();
@@ -595,14 +604,23 @@ QString KissCount::GetExportEngineExtensions()
return res;
}
ExportEngine* KissCount::GetExportEngine(QString path)
ExportEngine* KissCount::GetExportEngine(QString path, QString filter)
{
std::vector<ExportEngine*>::iterator it;
std::vector<ExportEngine*>* exportEngines = KissCount::GetExportEngines();
QString tmp;
for(it=exportEngines->begin(); it!=exportEngines->end(); it++)
if ((*it)->HandleFile(path, _user, _db, this))
return *it;
{
if (filter == (*it)->GetFileExt())
{
tmp = path;
if (!tmp.endsWith((*it)->GetShortExt()))
tmp += (*it)->GetShortExt();
if ((*it)->HandleFile(tmp, _user, _db, this))
return *it;
}
}
return 0;
}

View File

@@ -125,13 +125,13 @@ public:
static void UnRegisterImportEngine(ImportEngine* engine);
QString GetImportEngineExtensions();
ImportEngine* GetImportEngine(QString path);
ImportEngine* GetImportEngine(QString path, QString filter);
static void RegisterExportEngine(ExportEngine* engine);
static void UnRegisterExportEngine(ExportEngine* engine);
QString GetExportEngineExtensions();
ExportEngine* GetExportEngine(QString path);
ExportEngine* GetExportEngine(QString path, QString filter);
void UpdateImportPattern();