diff --git a/code/nel/tools/3d/object_viewer_qt/src/plugins/core/core_constants.h b/code/nel/tools/3d/object_viewer_qt/src/plugins/core/core_constants.h
index af0e2aa5b..07567246f 100644
--- a/code/nel/tools/3d/object_viewer_qt/src/plugins/core/core_constants.h
+++ b/code/nel/tools/3d/object_viewer_qt/src/plugins/core/core_constants.h
@@ -43,6 +43,8 @@ const char * const M_TOOLS = "ObjectViewerQt.Menu.Tools";
const char * const M_WINDOW = "ObjectViewerQt.Menu.Window";
const char * const M_HELP = "ObjectViewerQt.Menu.Help";
+const char * const M_SHEET = "ObjectViewerQt.Menu.Sheet";
+
//actions
const char * const NEW = "ObjectViewerQt.New";
const char * const OPEN = "ObjectViewerQt.Open";
diff --git a/code/nel/tools/3d/object_viewer_qt/src/plugins/core/core_plugin.cpp b/code/nel/tools/3d/object_viewer_qt/src/plugins/core/core_plugin.cpp
index ccc30614a..6d051d64d 100644
--- a/code/nel/tools/3d/object_viewer_qt/src/plugins/core/core_plugin.cpp
+++ b/code/nel/tools/3d/object_viewer_qt/src/plugins/core/core_plugin.cpp
@@ -58,12 +58,11 @@ bool CorePlugin::initialize(ExtensionSystem::IPluginManager *pluginManager, QStr
_plugMan = pluginManager;
_mainWindow = new MainWindow(pluginManager);
- /* if (QtWin::isCompositionEnabled())
- {
- QtWin::extendFrameIntoClientArea(_mainWindow);
- _mainWindow->setContentsMargins(0, 0, 0, 0);
- }
- */
+ /*if (QtWin::isCompositionEnabled())
+ {
+ QtWin::extendFrameIntoClientArea(_mainWindow);
+ _mainWindow->setContentsMargins(0, 0, 0, 0);
+ }*/
bool success = _mainWindow->initialize(errorString);
CSearchPathsSettingsPage *serchPathPage = new CSearchPathsSettingsPage(this);
serchPathPage->applySearchPaths();
diff --git a/code/nel/tools/3d/object_viewer_qt/src/plugins/core/main_window.cpp b/code/nel/tools/3d/object_viewer_qt/src/plugins/core/main_window.cpp
index 694c2c30f..90b5ad745 100644
--- a/code/nel/tools/3d/object_viewer_qt/src/plugins/core/main_window.cpp
+++ b/code/nel/tools/3d/object_viewer_qt/src/plugins/core/main_window.cpp
@@ -231,8 +231,10 @@ void MainWindow::createMenus()
m_toolsMenu = menuBar()->addMenu(tr("&Tools"));
menuManager()->registerMenu(m_toolsMenu, Constants::M_TOOLS);
+ m_sheetMenu = m_toolsMenu->addMenu(tr("&Sheet"));
+ menuManager()->registerMenu(m_sheetMenu, Constants::M_SHEET);
- m_toolsMenu->addSeparator();
+// m_toolsMenu->addSeparator();
m_toolsMenu->addAction(m_settingsAction);
diff --git a/code/nel/tools/3d/object_viewer_qt/src/plugins/core/main_window.h b/code/nel/tools/3d/object_viewer_qt/src/plugins/core/main_window.h
index 76eca3a42..21d091ef3 100644
--- a/code/nel/tools/3d/object_viewer_qt/src/plugins/core/main_window.h
+++ b/code/nel/tools/3d/object_viewer_qt/src/plugins/core/main_window.h
@@ -97,6 +97,8 @@ private:
QMenu *m_toolsMenu;
QMenu *m_helpMenu;
+ QMenu *m_sheetMenu;
+
QAction *m_openAction;
QAction *m_exitAction;
QAction *m_settingsAction;
diff --git a/code/nel/tools/3d/object_viewer_qt/src/plugins/ovqt_sheet_builder/CMakeLists.txt b/code/nel/tools/3d/object_viewer_qt/src/plugins/ovqt_sheet_builder/CMakeLists.txt
index aa16f4303..37f95fba9 100644
--- a/code/nel/tools/3d/object_viewer_qt/src/plugins/ovqt_sheet_builder/CMakeLists.txt
+++ b/code/nel/tools/3d/object_viewer_qt/src/plugins/ovqt_sheet_builder/CMakeLists.txt
@@ -21,7 +21,7 @@ SOURCE_GROUP("OVQT Extension System" FILES ${OVQT_EXT_SYS_SRC})
ADD_LIBRARY(ovqt_plugin_sheet_builder MODULE ${SRC} ${OVQT_PLUG_SHEET_BUILDER_MOC_SRC} ${OVQT_EXT_SYS_SRC})
-TARGET_LINK_LIBRARIES(ovqt_plugin_sheet_builder nelmisc ${QT_LIBRARIES})
+TARGET_LINK_LIBRARIES(ovqt_plugin_sheet_builder ovqt_plugin_core nelmisc ${QT_LIBRARIES})
NL_DEFAULT_PROPS(ovqt_plugin_sheet_builder "NeL, Tools, 3D: Object Viewer Qt Plugin: Sheet builder")
NL_ADD_RUNTIME_FLAGS(ovqt_plugin_sheet_builder)
diff --git a/code/nel/tools/3d/object_viewer_qt/src/plugins/ovqt_sheet_builder/ovqt_sheet_builder.cpp b/code/nel/tools/3d/object_viewer_qt/src/plugins/ovqt_sheet_builder/ovqt_sheet_builder.cpp
index f9c660d94..18e77fbcc 100644
--- a/code/nel/tools/3d/object_viewer_qt/src/plugins/ovqt_sheet_builder/ovqt_sheet_builder.cpp
+++ b/code/nel/tools/3d/object_viewer_qt/src/plugins/ovqt_sheet_builder/ovqt_sheet_builder.cpp
@@ -14,8 +14,18 @@
// You should have received a copy of the GNU Affero General Public License
// along with this program. If not, see .
+// Project includes
#include "ovqt_sheet_builder.h"
+#include "sheetbuilderdialog.h"
+#include "sheetbuilderconfgdialog.h"
+#include "../core/icore.h"
+#include "../core/imenu_manager.h"
+#include "../core/core_constants.h"
+// NeL includes
+#include
+
+// Qt includes
#include
#include
#include
@@ -23,47 +33,29 @@
#include
#include
-#include "../../extension_system/iplugin_spec.h"
-
-#include "nel/misc/debug.h"
-#include "sheetbuilderdialog.h"
-#include "sheetbuilderconfgdialog.h"
-
using namespace Plugin;
bool SheetBuilderPlugin::initialize(ExtensionSystem::IPluginManager *pluginManager, QString *errorString)
{
Q_UNUSED(errorString);
_plugMan = pluginManager;
- QMainWindow *wnd = qobject_cast(objectByName("CMainWindow"));
- if (!wnd)
- {
- *errorString = tr("Not found MainWindow Object Viewer Qt.");
- return false;
- }
- QMenu *toolsMenu = qobject_cast(objectByName("ovqt.Menu.Tools"));
- if (!toolsMenu)
- {
- *errorString = tr("Not found QMenu Tools.");
- return false;
- }
+
return true;
}
void SheetBuilderPlugin::extensionsInitialized()
{
- QMenu *toolsMenu = qobject_cast(objectByName("ovqt.Menu.Tools"));
- nlassert(toolsMenu);
+ Core::IMenuManager *menuManager = Core::ICore::instance()->menuManager();
- toolsMenu->addSeparator();
-
- QAction *actBuilder = toolsMenu->addAction("Sheet builder");
- connect(actBuilder, SIGNAL(triggered()), this, SLOT(execBuilderDialog()));
+ QMenu *sheetMenu = menuManager->menu(Core::Constants::M_SHEET);
+ QAction *sheetBuilderAction = sheetMenu->addAction(tr("Sheet builder"));
+ menuManager->registerAction(sheetBuilderAction, "SheetBuilder");
+ connect(sheetBuilderAction, SIGNAL(triggered()), this, SLOT(execBuilderDialog()));
}
void SheetBuilderPlugin::execBuilderDialog()
{
- QMainWindow *wnd = qobject_cast(objectByName("CMainWindow"));
+ QMainWindow *wnd = Core::ICore::instance()->mainWindow();
nlassert(wnd);
SheetBuilderDialog dlg(wnd);
@@ -100,25 +92,11 @@ QString SheetBuilderPlugin::description() const
return "make_sheet_id equivalent";
}
-QList SheetBuilderPlugin::dependencies() const
+QStringList SheetBuilderPlugin::dependencies() const
{
- return QList();
-}
-
-QObject* SheetBuilderPlugin::objectByName(const QString &name) const
-{
- Q_FOREACH (QObject *qobj, _plugMan->allObjects())
- if (qobj->objectName() == name)
- return qobj;
- return 0;
-}
-
-ExtensionSystem::IPluginSpec *SheetBuilderPlugin::pluginByName(const QString &name) const
-{
- Q_FOREACH (ExtensionSystem::IPluginSpec *spec, _plugMan->plugins())
- if (spec->name() == name)
- return spec;
- return 0;
+ QStringList list;
+ list.append(Core::Constants::OVQT_CORE_PLUGIN);
+ return list;
}
Q_EXPORT_PLUGIN(SheetBuilderPlugin)
diff --git a/code/nel/tools/3d/object_viewer_qt/src/plugins/ovqt_sheet_builder/ovqt_sheet_builder.h b/code/nel/tools/3d/object_viewer_qt/src/plugins/ovqt_sheet_builder/ovqt_sheet_builder.h
index e444afd45..f1299dfba 100644
--- a/code/nel/tools/3d/object_viewer_qt/src/plugins/ovqt_sheet_builder/ovqt_sheet_builder.h
+++ b/code/nel/tools/3d/object_viewer_qt/src/plugins/ovqt_sheet_builder/ovqt_sheet_builder.h
@@ -25,48 +25,45 @@
namespace NLMISC
{
- class CLibraryContext;
+class CLibraryContext;
}
namespace ExtensionSystem
{
- class IPluginSpec;
+class IPluginSpec;
}
namespace Plugin
{
- class SheetBuilderPlugin : public QObject, public ExtensionSystem::IPlugin
- {
- Q_OBJECT
- Q_INTERFACES(ExtensionSystem::IPlugin)
- public:
- bool initialize(ExtensionSystem::IPluginManager *pluginManager, QString *errorString);
- void extensionsInitialized();
+class SheetBuilderPlugin : public QObject, public ExtensionSystem::IPlugin
+{
+ Q_OBJECT
+ Q_INTERFACES(ExtensionSystem::IPlugin)
+public:
+ bool initialize(ExtensionSystem::IPluginManager *pluginManager, QString *errorString);
+ void extensionsInitialized();
- void setNelContext(NLMISC::INelContext *nelContext);
+ void setNelContext(NLMISC::INelContext *nelContext);
- QString name() const;
- QString version() const;
- QString vendor() const;
- QString description() const;
- QList dependencies() const;
+ QString name() const;
+ QString version() const;
+ QString vendor() const;
+ QString description() const;
+ QStringList dependencies() const;
- QObject *objectByName(const QString &name) const;
- ExtensionSystem::IPluginSpec *pluginByName(const QString &name) const;
+ void buildSheet(bool clean);
- void buildSheet(bool clean);
+private Q_SLOTS:
+ void execBuilderDialog();
- private Q_SLOTS:
- void execBuilderDialog();
+protected:
+ NLMISC::CLibraryContext *_LibContext;
- protected:
- NLMISC::CLibraryContext *_LibContext;
+private:
+ ExtensionSystem::IPluginManager *_plugMan;
- private:
- ExtensionSystem::IPluginManager *_plugMan;
-
- };
+};
} // namespace Plugin
diff --git a/code/nel/tools/3d/object_viewer_qt/src/plugins/ovqt_sheet_builder/sheetbuilder.h b/code/nel/tools/3d/object_viewer_qt/src/plugins/ovqt_sheet_builder/sheetbuilder.h
index 4d23007fe..aac097c9b 100644
--- a/code/nel/tools/3d/object_viewer_qt/src/plugins/ovqt_sheet_builder/sheetbuilder.h
+++ b/code/nel/tools/3d/object_viewer_qt/src/plugins/ovqt_sheet_builder/sheetbuilder.h
@@ -26,10 +26,8 @@
// std
#include
#include
-
#include
-
using namespace NLMISC;
using namespace std;
@@ -42,18 +40,24 @@ using namespace std;
*/
union TFormId
{
- uint32 Id;
+ uint32 Id;
- struct
- {
- uint32 Type : 8;
- uint32 Id : 24;
- } FormIDInfos;
+ struct
+ {
+ uint32 Type : 8;
+ uint32 Id : 24;
+ } FormIDInfos;
- void serial(NLMISC::IStream &f) { f.serial(Id); }
+ void serial(NLMISC::IStream &f)
+ {
+ f.serial(Id);
+ }
};
-bool operator<(const TFormId& fid1, const TFormId& fid2) { return fid1.Id FormToId;
@@ -86,15 +90,15 @@ bool getFileType( string& fileName, string& fileType );
//-----------------------------------------------
sint16 getFirstFreeFileTypeId()
{
- for( sint16 id=0; id<256; ++id )
- {
- if( IdToFileType.find((uint8)id) == IdToFileType.end() )
- {
- return id;
- }
- }
+ for( sint16 id=0; id<256; ++id )
+ {
+ if( IdToFileType.find((uint8)id) == IdToFileType.end() )
+ {
+ return id;
+ }
+ }
- return -1;
+ return -1;
} // getFirstFreeFileTypeId //
@@ -105,238 +109,232 @@ sint16 getFirstFreeFileTypeId()
//-----------------------------------------------
void readFormId( string& outputFileName )
{
- CIFile f;
- if( f.open( outputFileName ) )
- {
- f.serialCont( IdToForm );
- }
+ CIFile f;
+ if( f.open( outputFileName ) )
+ {
+ f.serialCont( IdToForm );
+ }
- // insert an unknown entry
- TFormId formId;
- formId.Id = 0;
- IdToForm.insert( make_pair( formId, string("unknown.unknown") ) );
+ // insert an unknown entry
+ TFormId formId;
+ formId.Id = 0;
+ IdToForm.insert( make_pair( formId, string("unknown.unknown") ) );
- // remove integer file extensions (created by CVS) and init FileTypeToId (associates the form type to the form type id)
- map::iterator itIF;
- for( itIF = IdToForm.begin(); itIF != IdToForm.end(); )
- {
- // get the file type from form name
- TFormId fid = (*itIF).first;
- string fileType;
+ // remove integer file extensions (created by CVS) and init FileTypeToId (associates the form type to the form type id)
+ map::iterator itIF;
+ for( itIF = IdToForm.begin(); itIF != IdToForm.end(); )
+ {
+ // get the file type from form name
+ TFormId fid = (*itIF).first;
+ string fileType;
- if((*itIF).second.empty() || (*itIF).second=="." || (*itIF).second==".." || (*itIF).second[0]=='_' || (*itIF).second.find(".#")==0)
- {
- map::iterator itErase = itIF;
- ++itIF;
- IdToForm.erase(itErase);
- }
- else
- {
- if( getFileType( (*itIF).second, fileType ) )
- {
- // insert the association (file type/file type id)
- map::iterator itFT = FileTypeToId.find(fileType);
- if( itFT == FileTypeToId.end() )
- {
- FileTypeToId.insert( make_pair(fileType,fid.FormIDInfos.Type) );
- }
- }
- else
- {
- nlwarning("Unknown file type for the file : %s",(*itIF).second.c_str());
- }
- ++itIF;
- }
- }
+ if((*itIF).second.empty() || (*itIF).second=="." || (*itIF).second==".." || (*itIF).second[0]=='_' || (*itIF).second.find(".#")==0)
+ {
+ map::iterator itErase = itIF;
+ ++itIF;
+ IdToForm.erase(itErase);
+ }
+ else
+ {
+ if( getFileType( (*itIF).second, fileType ) )
+ {
+ // insert the association (file type/file type id)
+ map::iterator itFT = FileTypeToId.find(fileType);
+ if( itFT == FileTypeToId.end() )
+ {
+ FileTypeToId.insert( make_pair(fileType,fid.FormIDInfos.Type) );
+ }
+ }
+ else
+ {
+ nlwarning("Unknown file type for the file : %s",(*itIF).second.c_str());
+ }
+ ++itIF;
+ }
+ }
- // init FormToId (associates the form name to its id )
- for( itIF = IdToForm.begin(); itIF != IdToForm.end(); ++itIF )
- {
- FormToId.insert( make_pair((*itIF).second,(*itIF).first) );
- }
+ // init FormToId (associates the form name to its id )
+ for( itIF = IdToForm.begin(); itIF != IdToForm.end(); ++itIF )
+ {
+ FormToId.insert( make_pair((*itIF).second,(*itIF).first) );
+ }
- // init IdToFileType (associates the form type id to the form type name)
- map::iterator itIFT;
- for( itIFT = FileTypeToId.begin(); itIFT != FileTypeToId.end(); ++itIFT )
- {
- IdToFileType.insert( make_pair((*itIFT).second,(*itIFT).first) );
- }
+ // init IdToFileType (associates the form type id to the form type name)
+ map::iterator itIFT;
+ for( itIFT = FileTypeToId.begin(); itIFT != FileTypeToId.end(); ++itIFT )
+ {
+ IdToFileType.insert( make_pair((*itIFT).second,(*itIFT).first) );
+ }
- // init TypeToLastId (associates the type id to the last index used for this type)
- for( itIF = IdToForm.begin(); itIF != IdToForm.end(); ++itIF )
- {
- uint8 type = (*itIF).first.FormIDInfos.Type;
- uint32 id = (*itIF).first.FormIDInfos.Id;
- map::iterator itTLI = TypeToLastId.find( type );
- if( itTLI != TypeToLastId.end() )
- {
- if( (*itTLI).second < id )
- {
- (*itTLI).second = id;
- }
- }
- else
- {
- TypeToLastId.insert( make_pair(type,id) );
- }
- }
+ // init TypeToLastId (associates the type id to the last index used for this type)
+ for( itIF = IdToForm.begin(); itIF != IdToForm.end(); ++itIF )
+ {
+ uint8 type = (*itIF).first.FormIDInfos.Type;
+ uint32 id = (*itIF).first.FormIDInfos.Id;
+ map::iterator itTLI = TypeToLastId.find( type );
+ if( itTLI != TypeToLastId.end() )
+ {
+ if( (*itTLI).second < id )
+ {
+ (*itTLI).second = id;
+ }
+ }
+ else
+ {
+ TypeToLastId.insert( make_pair(type,id) );
+ }
+ }
} // readFormId //
-
-
//-----------------------------------------------
// makeId
//
//-----------------------------------------------
void makeId( list& dirs )
{
- list::const_iterator itDir;
- for( itDir = dirs.begin(); itDir != dirs.end(); ++itDir )
- {
- nlinfo ("Searching files in directory '%s'...", (*itDir).c_str());
- vector files;
- CPath::getPathContent(*itDir,true,false,true,files);
+ list::const_iterator itDir;
+ for( itDir = dirs.begin(); itDir != dirs.end(); ++itDir )
+ {
+ nlinfo ("Searching files in directory '%s'...", (*itDir).c_str());
+ vector files;
+ CPath::getPathContent(*itDir,true,false,true,files);
- nlinfo ("Found %d files in directory '%s'", files.size(), (*itDir).c_str());
- for(uint i = 0; i < files.size(); i++)
- {
- addId(CFile::getFilename(files[i]));
- }
- }
+ nlinfo ("Found %d files in directory '%s'", files.size(), (*itDir).c_str());
+ for(uint i = 0; i < files.size(); i++)
+ {
+ addId(CFile::getFilename(files[i]));
+ }
+ }
} // makeId //
-
-
//-----------------------------------------------
// addId
//
//-----------------------------------------------
void addId( string fileName )
{
- if(fileName.empty() || fileName=="." || fileName==".." || fileName[0]=='_' || fileName.find(".#")==0)
- {
- //nlinfo("Discarding file '%s'", fileName.c_str());
- NbFilesDiscarded++;
- return;
- }
- else
- {
- if( !ExtensionsAllowed.empty() )
- {
- string extStr = CFile::getExtension( fileName );
- if( ExtensionsAllowed.find(extStr) == ExtensionsAllowed.end() )
- {
- NbFilesDiscarded++;
- return;
- }
- }
- }
+ if(fileName.empty() || fileName=="." || fileName==".." || fileName[0]=='_' || fileName.find(".#")==0)
+ {
+ //nlinfo("Discarding file '%s'", fileName.c_str());
+ NbFilesDiscarded++;
+ return;
+ }
+ else
+ {
+ if( !ExtensionsAllowed.empty() )
+ {
+ string extStr = CFile::getExtension( fileName );
+ if( ExtensionsAllowed.find(extStr) == ExtensionsAllowed.end() )
+ {
+ NbFilesDiscarded++;
+ return;
+ }
+ }
+ }
- // if the file is new
- map::iterator itFI = FormToId.find( fileName );
- if( itFI == FormToId.end() )
- {
- // double check : if file not found we check with lower case version of filename
- map::iterator itFILwr = FormToId.find( toLower(fileName) );
- if( itFILwr != FormToId.end() )
- {
- nlwarning("Trying to add %s but the file %s is already known ! becareful with lower case and upper case.", fileName.c_str(), toLower(fileName).c_str());
- NbFilesDiscarded++;
- return;
- }
+ // if the file is new
+ map::iterator itFI = FormToId.find( fileName );
+ if( itFI == FormToId.end() )
+ {
+ // double check : if file not found we check with lower case version of filename
+ map::iterator itFILwr = FormToId.find( toLower(fileName) );
+ if( itFILwr != FormToId.end() )
+ {
+ nlwarning("Trying to add %s but the file %s is already known ! becareful with lower case and upper case.", fileName.c_str(), toLower(fileName).c_str());
+ NbFilesDiscarded++;
+ return;
+ }
- string fileType;
- if( getFileType( fileName, fileType ) )
- {
- map::iterator itFTI = FileTypeToId.find( fileType );
- TFormId fid;
+ string fileType;
+ if( getFileType( fileName, fileType ) )
+ {
+ map::iterator itFTI = FileTypeToId.find( fileType );
+ TFormId fid;
- // if the type of this file is a new type
- if( itFTI == FileTypeToId.end() )
- {
- sint16 firstFreeFileTypeId = getFirstFreeFileTypeId();
- if( firstFreeFileTypeId == -1 )
- {
- nlwarning("MORE THAN 256 FILE TYPES!!!!");
- }
- else
- {
- FileTypeToId.insert( make_pair(fileType,(uint8)firstFreeFileTypeId) );
- IdToFileType.insert( make_pair((uint8)firstFreeFileTypeId,fileType) );
- TypeToLastId.insert( make_pair((uint8)firstFreeFileTypeId,0) );
+ // if the type of this file is a new type
+ if( itFTI == FileTypeToId.end() )
+ {
+ sint16 firstFreeFileTypeId = getFirstFreeFileTypeId();
+ if( firstFreeFileTypeId == -1 )
+ {
+ nlwarning("MORE THAN 256 FILE TYPES!!!!");
+ }
+ else
+ {
+ FileTypeToId.insert( make_pair(fileType,(uint8)firstFreeFileTypeId) );
+ IdToFileType.insert( make_pair((uint8)firstFreeFileTypeId,fileType) );
+ TypeToLastId.insert( make_pair((uint8)firstFreeFileTypeId,0) );
- fid.FormIDInfos.Type = (uint8)firstFreeFileTypeId;
- fid.FormIDInfos.Id = 0;
+ fid.FormIDInfos.Type = (uint8)firstFreeFileTypeId;
+ fid.FormIDInfos.Id = 0;
- nlinfo("Adding file type '%s' with id %d", fileType.c_str(), firstFreeFileTypeId);
- NbTypesAdded++;
- }
- }
- // else the file type already exist
- else
- {
- // id of the file type
- uint8 fileTypeId = (*itFTI).second;
+ nlinfo("Adding file type '%s' with id %d", fileType.c_str(), firstFreeFileTypeId);
+ NbTypesAdded++;
+ }
+ }
+ // else the file type already exist
+ else
+ {
+ // id of the file type
+ uint8 fileTypeId = (*itFTI).second;
- // last id used for this file type
- map::iterator itTLI = TypeToLastId.find(fileTypeId);
- nlassert(itTLI != TypeToLastId.end());
- (*itTLI).second++;
+ // last id used for this file type
+ map::iterator itTLI = TypeToLastId.find(fileTypeId);
+ nlassert(itTLI != TypeToLastId.end());
+ (*itTLI).second++;
- // add the new association
- fid.FormIDInfos.Type = fileTypeId;
- fid.FormIDInfos.Id = (*itTLI).second;
- }
- FormToId.insert( make_pair(fileName,fid) );
- IdToForm.insert( make_pair(fid,fileName) );
- nlinfo("Adding file '%s' id %d with type '%s' id %d", fileName.c_str(), fid.FormIDInfos.Id, fileType.c_str(), fid.FormIDInfos.Type);
- NbFilesAdded++;
- }
- else
- {
- //nlinfo("Unknown file type for the file : '%s' --> not added",fileName.c_str());
- NbFilesUnknownType++;
- }
- }
- else
- {
- //nlinfo("Skipping file '%s', already in the file", fileName.c_str());
- NbFilesAlreadyAdded++;
- }
+ // add the new association
+ fid.FormIDInfos.Type = fileTypeId;
+ fid.FormIDInfos.Id = (*itTLI).second;
+ }
+ FormToId.insert( make_pair(fileName,fid) );
+ IdToForm.insert( make_pair(fid,fileName) );
+ nlinfo("Adding file '%s' id %d with type '%s' id %d", fileName.c_str(), fid.FormIDInfos.Id, fileType.c_str(), fid.FormIDInfos.Type);
+ NbFilesAdded++;
+ }
+ else
+ {
+ //nlinfo("Unknown file type for the file : '%s' --> not added",fileName.c_str());
+ NbFilesUnknownType++;
+ }
+ }
+ else
+ {
+ //nlinfo("Skipping file '%s', already in the file", fileName.c_str());
+ NbFilesAlreadyAdded++;
+ }
} // addId //
-
//-----------------------------------------------
// getFileType
//
//-----------------------------------------------
bool getFileType( string& fileName, string& fileType )
{
- fileType = CFile::getExtension(CFile::getFilename(fileName));
- return !fileType.empty();
+ fileType = CFile::getExtension(CFile::getFilename(fileName));
+ return !fileType.empty();
} // getFileType //
-
//-----------------------------------------------
// display
//
//-----------------------------------------------
void display()
{
- nldebug ("Output :");
- map::iterator it1;
- for( it1 = IdToForm.begin(); it1 != IdToForm.end(); ++it1 )
- {
- nldebug("type: %d id: %d file: %s", (*it1).first.FormIDInfos.Type, (*it1).first.FormIDInfos.Id, (*it1).second.c_str());
- }
+ nldebug ("Output :");
+ map::iterator it1;
+ for( it1 = IdToForm.begin(); it1 != IdToForm.end(); ++it1 )
+ {
+ nldebug("type: %d id: %d file: %s", (*it1).first.FormIDInfos.Type, (*it1).first.FormIDInfos.Id, (*it1).second.c_str());
+ }
} // display //
diff --git a/code/nel/tools/3d/object_viewer_qt/src/plugins/ovqt_sheet_builder/sheetbuilderconfgdialog.cpp b/code/nel/tools/3d/object_viewer_qt/src/plugins/ovqt_sheet_builder/sheetbuilderconfgdialog.cpp
index 314efe2be..aeb632fba 100644
--- a/code/nel/tools/3d/object_viewer_qt/src/plugins/ovqt_sheet_builder/sheetbuilderconfgdialog.cpp
+++ b/code/nel/tools/3d/object_viewer_qt/src/plugins/ovqt_sheet_builder/sheetbuilderconfgdialog.cpp
@@ -15,6 +15,7 @@
// along with this program. If not, see .
#include "sheetbuilderconfgdialog.h"
+#include "../core/icore.h"
#include
#include
@@ -25,187 +26,196 @@
#include
#include
-SheetBuilderConfigDialog::SheetBuilderConfigDialog(QWidget *parent) :
- QDialog(parent)
+SheetBuilderConfigDialog::SheetBuilderConfigDialog(QWidget *parent)
+ : QDialog(parent)
{
- /*
- * Paths
- */
- QLabel *lblPaths = new QLabel(tr("Paths:"));
- lstPaths = new QListWidget;
- lstPaths->addItem("");
+ /*
+ * Paths
+ */
+ QLabel *lblPaths = new QLabel(tr("Paths:"));
+ lstPaths = new QListWidget;
+ lstPaths->addItem("");
- QPushButton *btnAddPath = new QPushButton(tr("Add"));
- connect(btnAddPath, SIGNAL(clicked()), SLOT(addPath()));
- QPushButton *btnDeletePath = new QPushButton(tr("Delete"));
- connect(btnDeletePath, SIGNAL(clicked()), SLOT(deletePath()));
+ QPushButton *btnAddPath = new QPushButton(tr("Add"));
+ connect(btnAddPath, SIGNAL(clicked()), SLOT(addPath()));
+ QPushButton *btnDeletePath = new QPushButton(tr("Delete"));
+ connect(btnDeletePath, SIGNAL(clicked()), SLOT(deletePath()));
- QVBoxLayout *ltButtonsPaths = new QVBoxLayout();
- ltButtonsPaths->addWidget(btnAddPath);
- ltButtonsPaths->addWidget(btnDeletePath);
- ltButtonsPaths->addStretch(1);
+ QVBoxLayout *ltButtonsPaths = new QVBoxLayout();
+ ltButtonsPaths->addWidget(btnAddPath);
+ ltButtonsPaths->addWidget(btnDeletePath);
+ ltButtonsPaths->addStretch(1);
- QHBoxLayout *ltPaths = new QHBoxLayout;
- ltPaths->addWidget(lstPaths);
- ltPaths->addLayout(ltButtonsPaths);
+ QHBoxLayout *ltPaths = new QHBoxLayout;
+ ltPaths->addWidget(lstPaths);
+ ltPaths->addLayout(ltButtonsPaths);
- /*
- * Output file
- */
- QLabel *lblOutputFile = new QLabel(tr("Output file:"));
- txtOutputFile = new QLineEdit();
- QPushButton *btnBrowse = new QPushButton(tr("Browse..."));
- connect(btnBrowse, SIGNAL(clicked()), SLOT(browseOutput()));
+ /*
+ * Output file
+ */
+ QLabel *lblOutputFile = new QLabel(tr("Output file:"));
+ txtOutputFile = new QLineEdit();
+ QPushButton *btnBrowse = new QPushButton(tr("Browse..."));
+ connect(btnBrowse, SIGNAL(clicked()), SLOT(browseOutput()));
- QHBoxLayout *ltOutput = new QHBoxLayout();
- ltOutput->addWidget(txtOutputFile);
- ltOutput->addWidget(btnBrowse);
+ QHBoxLayout *ltOutput = new QHBoxLayout();
+ ltOutput->addWidget(txtOutputFile);
+ ltOutput->addWidget(btnBrowse);
- /*
- * Extensions
- */
- QLabel *lblExtensions = new QLabel(tr("Allowed extensions:"));
- lstExtensionsAllowed = new QListWidget();
+ /*
+ * Extensions
+ */
+ QLabel *lblExtensions = new QLabel(tr("Allowed extensions:"));
+ lstExtensionsAllowed = new QListWidget();
- QPushButton *btnAddExtension = new QPushButton(tr("Add"));
- connect(btnAddExtension, SIGNAL(clicked()), SLOT(addExtension()));
- QPushButton *btnDeleteExtension = new QPushButton(tr("Delete"));
- connect(btnDeleteExtension, SIGNAL(clicked()), SLOT(deleteExtension()));
+ QPushButton *btnAddExtension = new QPushButton(tr("Add"));
+ connect(btnAddExtension, SIGNAL(clicked()), SLOT(addExtension()));
+ QPushButton *btnDeleteExtension = new QPushButton(tr("Delete"));
+ connect(btnDeleteExtension, SIGNAL(clicked()), SLOT(deleteExtension()));
- QVBoxLayout *ltButtonsExtensions = new QVBoxLayout();
- ltButtonsExtensions->addWidget(btnAddExtension);
- ltButtonsExtensions->addWidget(btnDeleteExtension);
- ltButtonsExtensions->addStretch(1);
+ QVBoxLayout *ltButtonsExtensions = new QVBoxLayout();
+ ltButtonsExtensions->addWidget(btnAddExtension);
+ ltButtonsExtensions->addWidget(btnDeleteExtension);
+ ltButtonsExtensions->addStretch(1);
- QHBoxLayout *ltExtensions = new QHBoxLayout();
- ltExtensions->addWidget(lstExtensionsAllowed);
- ltExtensions->addLayout(ltButtonsExtensions);
+ QHBoxLayout *ltExtensions = new QHBoxLayout();
+ ltExtensions->addWidget(lstExtensionsAllowed);
+ ltExtensions->addLayout(ltButtonsExtensions);
- /*
- * Buttons
- */
- QPushButton *btnOk = new QPushButton(tr("OK"));
- connect(btnOk, SIGNAL(clicked()), SLOT(accept()));
- connect(btnOk, SIGNAL(clicked()), SLOT(writeSettings()));
+ /*
+ * Buttons
+ */
+ QPushButton *btnOk = new QPushButton(tr("OK"));
+ connect(btnOk, SIGNAL(clicked()), SLOT(accept()));
+ connect(btnOk, SIGNAL(clicked()), SLOT(writeSettings()));
- QPushButton *btnCancel = new QPushButton(tr("Cancel"));
- connect(btnCancel, SIGNAL(clicked()), SLOT(reject()));
+ QPushButton *btnCancel = new QPushButton(tr("Cancel"));
+ connect(btnCancel, SIGNAL(clicked()), SLOT(reject()));
- QHBoxLayout *ltButtons = new QHBoxLayout;
- ltButtons->addStretch(1);
- ltButtons->addWidget(btnOk);
- ltButtons->addWidget(btnCancel);
+ QHBoxLayout *ltButtons = new QHBoxLayout;
+ ltButtons->addStretch(1);
+ ltButtons->addWidget(btnOk);
+ ltButtons->addWidget(btnCancel);
- /*
- * Main layout
- */
- QVBoxLayout *ltMain = new QVBoxLayout;
- ltMain->addWidget(lblPaths);
- ltMain->addLayout(ltPaths);
- ltMain->addWidget(lblOutputFile);
- ltMain->addLayout(ltOutput);
- ltMain->addWidget(lblExtensions);
- ltMain->addLayout(ltExtensions);
- ltMain->addLayout(ltButtons);
+ /*
+ * Main layout
+ */
+ QVBoxLayout *ltMain = new QVBoxLayout;
+ ltMain->addWidget(lblPaths);
+ ltMain->addLayout(ltPaths);
+ ltMain->addWidget(lblOutputFile);
+ ltMain->addLayout(ltOutput);
+ ltMain->addWidget(lblExtensions);
+ ltMain->addLayout(ltExtensions);
+ ltMain->addLayout(ltButtons);
- setLayout(ltMain);
- setWindowTitle(tr("Sheet builder configuration"));
- resize(500, 450);
- readSettings();
+ setLayout(ltMain);
+ setWindowTitle(tr("Sheet builder configuration"));
+ resize(500, 450);
+ readSettings();
}
void SheetBuilderConfigDialog::addPath()
{
- QString path =
- QFileDialog::getExistingDirectory(this, "Choose path");
- if (!path.isEmpty()) {
- QListWidgetItem *newItem = new QListWidgetItem;
- newItem->setText(path);
- newItem->setFlags(Qt::ItemIsEditable | Qt::ItemIsEnabled | Qt::ItemIsSelectable);
- lstPaths->addItem(newItem);
- lstPaths->setCurrentItem(newItem);
- }
+ QString path =
+ QFileDialog::getExistingDirectory(this, tr("Choose path"));
+ if (!path.isEmpty())
+ {
+ QListWidgetItem *newItem = new QListWidgetItem;
+ newItem->setText(path);
+ newItem->setFlags(Qt::ItemIsEditable | Qt::ItemIsEnabled | Qt::ItemIsSelectable);
+ lstPaths->addItem(newItem);
+ lstPaths->setCurrentItem(newItem);
+ }
}
void SheetBuilderConfigDialog::addExtension()
{
- QListWidgetItem *newItem = new QListWidgetItem;
- newItem->setFlags(Qt::ItemIsEditable | Qt::ItemIsEnabled | Qt::ItemIsSelectable);
- lstExtensionsAllowed->addItem(newItem);
- lstExtensionsAllowed->setCurrentItem(newItem);
+ QListWidgetItem *newItem = new QListWidgetItem;
+ newItem->setFlags(Qt::ItemIsEditable | Qt::ItemIsEnabled | Qt::ItemIsSelectable);
+ lstExtensionsAllowed->addItem(newItem);
+ lstExtensionsAllowed->setCurrentItem(newItem);
}
void SheetBuilderConfigDialog::deletePath()
{
- QListWidgetItem *removeItem = lstPaths->takeItem(lstPaths->currentRow());
- if (!removeItem)
- delete removeItem;
+ QListWidgetItem *removeItem = lstPaths->takeItem(lstPaths->currentRow());
+ if (!removeItem)
+ delete removeItem;
}
void SheetBuilderConfigDialog::deleteExtension()
{
- QListWidgetItem *removeItem
- = lstExtensionsAllowed->takeItem(lstExtensionsAllowed->currentRow());
- if (!removeItem)
- delete removeItem;
+ QListWidgetItem *removeItem
+ = lstExtensionsAllowed->takeItem(lstExtensionsAllowed->currentRow());
+ if (!removeItem)
+ delete removeItem;
}
void SheetBuilderConfigDialog::browseOutput()
{
- QString fileName =
- QFileDialog::getSaveFileName(this,tr("Choose output file"), "");
- if (!fileName.isEmpty())
- txtOutputFile->setText(fileName);
+ QString fileName =
+ QFileDialog::getSaveFileName(this, tr("Choose output file"), "");
+ if (!fileName.isEmpty())
+ txtOutputFile->setText(fileName);
}
void SheetBuilderConfigDialog::readSettings()
{
- QStringList paths;
- QString outputFile;
- QStringList extensions;
+ QStringList paths;
+ QString outputFile;
+ QStringList extensions;
- QSettings settings("ovqt_sheet_builder.ini", QSettings::IniFormat);
+ QSettings *settings = Core::ICore::instance()->settings();
+ settings->beginGroup("SheetBuilder");
+ paths = settings->value("SheetPaths").toStringList();
+ outputFile = settings->value("SheetOutputFile").toString();
+ extensions = settings->value("ExtensionsAllowed").toStringList();
+ settings->endGroup();
- paths = settings.value("SheetPaths").toStringList();
- outputFile = settings.value("SheetOutputFile").toString();
- extensions = settings.value("ExtensionsAllowed").toStringList();
+ lstPaths->clear();
+ lstExtensionsAllowed->clear();
- lstPaths->clear();
- lstExtensionsAllowed->clear();
+ QListWidgetItem *newItem;
- QListWidgetItem *newItem;
+ Q_FOREACH (QString path, paths)
+ {
+ newItem = new QListWidgetItem;
+ newItem->setText(path);
+ newItem->setFlags(Qt::ItemIsEditable | Qt::ItemIsEnabled | Qt::ItemIsSelectable);
+ lstPaths->addItem(newItem);
+ }
- Q_FOREACH (QString path, paths) {
- newItem = new QListWidgetItem;
- newItem->setText(path);
- newItem->setFlags(Qt::ItemIsEditable | Qt::ItemIsEnabled | Qt::ItemIsSelectable);
- lstPaths->addItem(newItem);
- }
+ txtOutputFile->setText(outputFile);
- txtOutputFile->setText(outputFile);
-
- Q_FOREACH (QString extension, extensions) {
- newItem = new QListWidgetItem;
- newItem->setText(extension);
- newItem->setFlags(Qt::ItemIsEditable | Qt::ItemIsEnabled | Qt::ItemIsSelectable);
- lstExtensionsAllowed->addItem(newItem);
- }
+ Q_FOREACH (QString extension, extensions)
+ {
+ newItem = new QListWidgetItem;
+ newItem->setText(extension);
+ newItem->setFlags(Qt::ItemIsEditable | Qt::ItemIsEnabled | Qt::ItemIsSelectable);
+ lstExtensionsAllowed->addItem(newItem);
+ }
}
void SheetBuilderConfigDialog::writeSettings()
{
- QStringList paths;
- for (int i = 0; i < lstPaths->count(); i++)
- paths.push_back(lstPaths->item(i)->text());
+ QStringList paths;
+ for (int i = 0; i < lstPaths->count(); i++)
+ paths.push_back(lstPaths->item(i)->text());
- QString outputFile = txtOutputFile->text();
+ QString outputFile = txtOutputFile->text();
- QStringList extensions;
- for (int i = 0; i < lstExtensionsAllowed->count(); i++)
- extensions.push_back(lstExtensionsAllowed->item(i)->text());
+ QStringList extensions;
+ for (int i = 0; i < lstExtensionsAllowed->count(); i++)
+ extensions.push_back(lstExtensionsAllowed->item(i)->text());
- QSettings settings("./ovqt_sheet_builder.ini", QSettings::IniFormat);
- settings.setValue("SheetPaths", paths);
- settings.setValue("SheetOutputFile", outputFile);
- settings.setValue("ExtensionsAllowed", extensions);
+ QSettings *settings = Core::ICore::instance()->settings();
+ settings->beginGroup("SheetBuilder");
+ settings->setValue("SheetPaths", paths);
+ settings->setValue("SheetOutputFile", outputFile);
+ settings->setValue("ExtensionsAllowed", extensions);
+ settings->endGroup();
+
+ // Forced save settings
+ settings->sync();
}
diff --git a/code/nel/tools/3d/object_viewer_qt/src/plugins/ovqt_sheet_builder/sheetbuilderconfgdialog.h b/code/nel/tools/3d/object_viewer_qt/src/plugins/ovqt_sheet_builder/sheetbuilderconfgdialog.h
index 1d1f225f9..77455c92d 100644
--- a/code/nel/tools/3d/object_viewer_qt/src/plugins/ovqt_sheet_builder/sheetbuilderconfgdialog.h
+++ b/code/nel/tools/3d/object_viewer_qt/src/plugins/ovqt_sheet_builder/sheetbuilderconfgdialog.h
@@ -24,23 +24,23 @@ class QLineEdit;
class SheetBuilderConfigDialog : public QDialog
{
- Q_OBJECT
+ Q_OBJECT
public:
- explicit SheetBuilderConfigDialog(QWidget *parent = 0);
+ explicit SheetBuilderConfigDialog(QWidget *parent = 0);
private Q_SLOTS:
- void addPath();
- void addExtension();
- void deletePath();
- void deleteExtension();
- void browseOutput();
- void readSettings();
- void writeSettings();
+ void addPath();
+ void addExtension();
+ void deletePath();
+ void deleteExtension();
+ void browseOutput();
+ void readSettings();
+ void writeSettings();
private:
- QListWidget *lstPaths;
- QListWidget *lstExtensionsAllowed;
- QLineEdit *txtOutputFile;
+ QListWidget *lstPaths;
+ QListWidget *lstExtensionsAllowed;
+ QLineEdit *txtOutputFile;
};
#endif // SHEETBUILDERCONFGDIALOG_H
diff --git a/code/nel/tools/3d/object_viewer_qt/src/plugins/ovqt_sheet_builder/sheetbuilderdialog.cpp b/code/nel/tools/3d/object_viewer_qt/src/plugins/ovqt_sheet_builder/sheetbuilderdialog.cpp
index 1f49ef89c..bf6f4d7c5 100644
--- a/code/nel/tools/3d/object_viewer_qt/src/plugins/ovqt_sheet_builder/sheetbuilderdialog.cpp
+++ b/code/nel/tools/3d/object_viewer_qt/src/plugins/ovqt_sheet_builder/sheetbuilderdialog.cpp
@@ -15,6 +15,11 @@
// along with this program. If not, see .
#include "sheetbuilderdialog.h"
+#include "sheetbuilder.h"
+#include "sheetbuilderconfgdialog.h"
+#include "../core/icore.h"
+#include "../core/core_constants.h"
+
#include
#include
#include
@@ -23,190 +28,185 @@
#include
#include
-#include "sheetbuilder.h"
-#include "sheetbuilderconfgdialog.h"
-
-SheetBuilderDialog::SheetBuilderDialog(QWidget *parent) :
- QDialog(parent)
+SheetBuilderDialog::SheetBuilderDialog(QWidget *parent)
+ : QDialog(parent)
{
+ QPushButton *btnOk = new QPushButton(tr("Make sheet"));
+ connect(btnOk, SIGNAL(clicked()), SLOT(buildSheet()));
- QPushButton *btnOk = new QPushButton(tr("Make sheet"));
- connect(btnOk, SIGNAL(clicked()), SLOT(buildSheet()));
+ QPushButton *btnCancel = new QPushButton(tr("Close"));
+ connect(btnCancel, SIGNAL(clicked()), SLOT(reject()));
- QPushButton *btnCancel = new QPushButton(tr("Close"));
- connect(btnCancel, SIGNAL(clicked()), SLOT(reject()));
+ chckClean = new QCheckBox(tr("Clean unwanted types from input"));
- chckClean = new QCheckBox(tr("Clean unwanted types from input"));
+ txtOutput = new QTextEdit;
+ txtOutput->setMinimumHeight(300);
+ txtOutput->setMinimumWidth(500);
+ txtOutput->setReadOnly(true);
+ txtOutput->setFontFamily("Monospace, Courier New, monospace");
- txtOutput = new QTextEdit;
- txtOutput->setMinimumHeight(300);
- txtOutput->setMinimumWidth(500);
- txtOutput->setReadOnly(true);
- txtOutput->setFontFamily("Monospace, Courier New, monospace");
+ QPushButton *btnDetails = new QPushButton(tr("Show/Hide details..."));
+ connect(btnDetails, SIGNAL(clicked()), SLOT(detailsShowHide()));
- QPushButton *btnDetails = new QPushButton(tr("Show/Hide details..."));
- connect(btnDetails, SIGNAL(clicked()), SLOT(detailsShowHide()));
+ QPushButton *btnConfig = new QPushButton(tr("Settings"));
+ connect(btnConfig, SIGNAL(clicked()), SLOT(showConfig()));
- QPushButton *btnConfig = new QPushButton(tr("Settings"));
- connect(btnConfig, SIGNAL(clicked()), SLOT(showConfig()));
+ QHBoxLayout *ltButtons = new QHBoxLayout;
+ ltButtons->addWidget(btnConfig);
+ ltButtons->addWidget(btnDetails);
+ ltButtons->addStretch(1);
+ ltButtons->addWidget(btnOk);
+ ltButtons->addWidget(btnCancel);
- QHBoxLayout *ltButtons = new QHBoxLayout;
- ltButtons->addWidget(btnConfig);
- ltButtons->addWidget(btnDetails);
- ltButtons->addStretch(1);
- ltButtons->addWidget(btnOk);
- ltButtons->addWidget(btnCancel);
+ QVBoxLayout *ltMain = new QVBoxLayout;
+ ltMain->addWidget(chckClean);
+ ltMain->addWidget(txtOutput, 1);
+ ltMain->addLayout(ltButtons);
+ ltMain->addStretch();
- QVBoxLayout *ltMain = new QVBoxLayout;
- ltMain->addWidget(chckClean);
- ltMain->addWidget(txtOutput, 1);
- ltMain->addLayout(ltButtons);
- ltMain->addStretch();
+ txtOutput->hide();
+ detailsVisible = false;
- txtOutput->hide();
- detailsVisible = false;
-
- setLayout(ltMain);
- defHeight = height();
- defWidth = 500;
- resize(defWidth, defHeight);
- setWindowTitle(tr("Sheet builder"));
+ setLayout(ltMain);
+ defHeight = height();
+ defWidth = 500;
+ resize(defWidth, defHeight);
+ setWindowTitle(tr("Sheet builder"));
}
void SheetBuilderDialog::showConfig()
{
- SheetBuilderConfigDialog dlg(this);
- dlg.exec();
+ SheetBuilderConfigDialog dlg(this);
+ dlg.exec();
}
void SheetBuilderDialog::detailsShowHide()
{
- if (!detailsVisible) {
- defHeight = height();
- defWidth = width();
- }
+ if (!detailsVisible)
+ {
+ defHeight = height();
+ defWidth = width();
+ }
- detailsVisible = !detailsVisible;
- txtOutput->setVisible(detailsVisible);
+ detailsVisible = !detailsVisible;
+ txtOutput->setVisible(detailsVisible);
- if (!detailsVisible) {
- adjustSize();
- resize(defWidth, defHeight);
- }
+ if (!detailsVisible)
+ {
+ adjustSize();
+ resize(defWidth, defHeight);
+ }
}
void SheetBuilderDialog::displayInfo(QString str)
{
- txtOutput->append(str);
+ txtOutput->append(str);
}
void SheetBuilderDialog::buildSheet()
{
- QStringList paths;
- QString outputFile;
- QStringList extensions;
+ QStringList paths;
+ QString outputFile;
+ QStringList extensions;
- QSettings settings("ovqt_sheet_builder.ini", QSettings::IniFormat);
- paths = settings.value("SheetPaths").toStringList();
- outputFile = settings.value("SheetOutputFile").toString();
- extensions = settings.value("ExtensionsAllowed").toStringList();
+ // read settings
+ QSettings *settings = Core::ICore::instance()->settings();
+ settings->beginGroup("SheetBuilder");
+ paths = settings->value("SheetPaths").toStringList();
+ outputFile = settings->value("SheetOutputFile").toString();
+ extensions = settings->value("ExtensionsAllowed").toStringList();
+ settings->endGroup();
- bool clean = chckClean->isChecked();
- string configFileName("ovqt_sheet_builder.ini");
- string outputFileName(outputFile.toStdString());
+ bool clean = chckClean->isChecked();
- if (outputFileName.empty()) {
- displayInfo("Error: Output file is not specified");
- return;
- }
+ string outputFileName(outputFile.toStdString());
- list inputDirs;
- Q_FOREACH (QString str, paths)
- inputDirs.push_back(str.toStdString());
+ if (outputFileName.empty())
+ {
+ displayInfo("Error: Output file is not specified");
+ return;
+ }
- // load the config files
- CConfigFile configFile;
- if(!CFile::fileExists(configFileName))
- {
- displayInfo(QString("Config file '%1' not found, working whithout filter").arg(configFileName.c_str()) );
- }
- else
- {
- Q_FOREACH (QString str, extensions) {
- ExtensionsAllowed.insert(str.toStdString());
- }
- }
+ list inputDirs;
+ Q_FOREACH (QString str, paths)
+ inputDirs.push_back(str.toStdString());
- // get the current associations (read the sheet_id and fill the working structures)
- readFormId( outputFileName );
+ Q_FOREACH (QString str, extensions)
+ {
+ ExtensionsAllowed.insert(str.toStdString());
+ }
- // output path
- sint lastSeparator = CFile::getLastSeparator(outputFileName);
- string outputPath;
- if( lastSeparator != -1 )
- {
- outputPath = outputFileName.substr(0,lastSeparator+1);
- }
+ // get the current associations (read the sheet_id and fill the working structures)
+ readFormId( outputFileName );
- // erase the unwanted extensions from map (modify the map, save it, and quit)
- if( clean )
- {
- if( ExtensionsAllowed.empty() )
- displayInfo("None extension list provided, the input will not be cleaned");
- else
- {
- map::iterator itSheets;
- for( itSheets = IdToForm.begin(); itSheets != IdToForm.end(); )
- {
- string extStr = CFile::getExtension( (*itSheets).second );
- if( !extStr.empty() )
- {
- if( ExtensionsAllowed.find(extStr) == ExtensionsAllowed.end() )
- {
- map::iterator itDel = itSheets++;
- IdToForm.erase( itDel );
- }
- else
- ++itSheets;
- }
- }
- COFile f( outputFileName );
- f.serialCont( IdToForm );
- }
- displayInfo("The file has been cleaned");
- return;
- }
+ // output path
+ sint lastSeparator = CFile::getLastSeparator(outputFileName);
+ string outputPath;
+ if( lastSeparator != -1 )
+ {
+ outputPath = outputFileName.substr(0,lastSeparator+1);
+ }
- // make the ids
- makeId( inputDirs );
+ // erase the unwanted extensions from map (modify the map, save it, and quit)
+ if( clean )
+ {
+ if( ExtensionsAllowed.empty() )
+ displayInfo(tr("None extension list provided, the input will not be cleaned"));
+ else
+ {
+ map::iterator itSheets;
+ for( itSheets = IdToForm.begin(); itSheets != IdToForm.end(); )
+ {
+ string extStr = CFile::getExtension( (*itSheets).second );
+ if( !extStr.empty() )
+ {
+ if( ExtensionsAllowed.find(extStr) == ExtensionsAllowed.end() )
+ {
+ map::iterator itDel = itSheets++;
+ IdToForm.erase( itDel );
+ }
+ else
+ ++itSheets;
+ }
+ }
+ COFile f( outputFileName );
+ f.serialCont( IdToForm );
+ }
+ displayInfo("The file has been cleaned");
+ return;
+ }
+ setCursor(Qt::WaitCursor);
+ // make the ids
+ makeId( inputDirs );
+ setCursor(Qt::ArrowCursor);
- // save the new map
- COFile f( outputFileName );
- f.serialCont( IdToForm );
+ // save the new map
+ COFile f( outputFileName );
+ f.serialCont( IdToForm );
- string sheetListFileName = outputPath + "sheets.txt";
- COFile output;
- if( !output.open(sheetListFileName,false,true) )
- {
- displayInfo(QString("Can't open output file %1").arg(sheetListFileName.c_str()));
- return;
- }
- map::iterator it1;
- for( it1 = IdToForm.begin(); it1 != IdToForm.end(); ++it1 )
- {
- string outputLine = " id: " + toString((*it1).first.Id) + " file: " + (*it1).second +"\n";
- output.serialBuffer((uint8*)(const_cast(outputLine.data())),(uint)outputLine.size());
- }
+ string sheetListFileName = outputPath + "sheets.txt";
+ COFile output;
+ if( !output.open(sheetListFileName,false,true) )
+ {
+ displayInfo(tr("Can't open output file %1").arg(sheetListFileName.c_str()));
+ return;
+ }
+ map::iterator it1;
+ for( it1 = IdToForm.begin(); it1 != IdToForm.end(); ++it1 )
+ {
+ string outputLine = " id: " + toString((*it1).first.Id) + " file: " + (*it1).second +"\n";
+ output.serialBuffer((uint8*)(const_cast(outputLine.data())),(uint)outputLine.size());
+ }
- displayInfo ("------------- results ----------------");
- displayInfo (QString("%1 files added in '%2'").arg(NbFilesAdded).arg(outputFileName.c_str()));
- displayInfo (QString("%1 files discarded because they are empty, begin with .# _ and so on").arg(NbFilesDiscarded));
- displayInfo (QString("%1 files skipped because don't have extension").arg(NbFilesUnknownType));
- displayInfo (QString("%1 types added in '%1'").arg(NbTypesAdded).arg(outputFileName.c_str()));
+ displayInfo (tr("------------- results ----------------"));
+ displayInfo (tr("%1 files added in '%2'").arg(NbFilesAdded).arg(outputFileName.c_str()));
+ displayInfo (tr("%1 files discarded because they are empty, begin with .# _ and so on").arg(NbFilesDiscarded));
+ displayInfo (tr("%1 files skipped because don't have extension").arg(NbFilesUnknownType));
+ displayInfo (tr("%1 types added in '%1'").arg(NbTypesAdded).arg(outputFileName.c_str()));
- displayInfo (QString("%1 supported file types :").arg(FileTypeToId.size()));
- for ( map::iterator it = FileTypeToId.begin(); it != FileTypeToId.end(); ++it )
- {
- displayInfo(QString("%1").arg((*it).first.c_str()));
- }
+ displayInfo (tr("%1 supported file types :").arg(FileTypeToId.size()));
+ for ( map::iterator it = FileTypeToId.begin(); it != FileTypeToId.end(); ++it )
+ {
+ displayInfo(QString("%1").arg((*it).first.c_str()));
+ }
}
diff --git a/code/nel/tools/3d/object_viewer_qt/src/plugins/ovqt_sheet_builder/sheetbuilderdialog.h b/code/nel/tools/3d/object_viewer_qt/src/plugins/ovqt_sheet_builder/sheetbuilderdialog.h
index 77cc1ac39..19dff2188 100644
--- a/code/nel/tools/3d/object_viewer_qt/src/plugins/ovqt_sheet_builder/sheetbuilderdialog.h
+++ b/code/nel/tools/3d/object_viewer_qt/src/plugins/ovqt_sheet_builder/sheetbuilderdialog.h
@@ -24,24 +24,24 @@ class QTextEdit;
class SheetBuilderDialog : public QDialog
{
- Q_OBJECT
+ Q_OBJECT
public:
- explicit SheetBuilderDialog(QWidget *parent = 0);
- ~SheetBuilderDialog() {}
+ explicit SheetBuilderDialog(QWidget *parent = 0);
+ ~SheetBuilderDialog() {}
private Q_SLOTS:
- void buildSheet();
- void detailsShowHide();
- void showConfig();
+ void buildSheet();
+ void detailsShowHide();
+ void showConfig();
private:
- void displayInfo(QString str);
+ void displayInfo(QString str);
- int defHeight;
- int defWidth;
- bool detailsVisible;
- QCheckBox *chckClean;
- QTextEdit *txtOutput;
+ int defHeight;
+ int defWidth;
+ bool detailsVisible;
+ QCheckBox *chckClean;
+ QTextEdit *txtOutput;
};
#endif // SHEETBUILDERDIALOG_H