merge default to gsoc2011_worldeditorqt
--HG-- branch : gsoc2011-worldeditorqthg/feature/sse2
commit
90ae61996e
@ -1,93 +1,103 @@
|
||||
// Object Viewer Qt - MMORPG Framework <http://dev.ryzom.com/projects/nel/>
|
||||
// Copyright (C) 2010 Winch Gate Property Limited
|
||||
// Copyright (C) 2010 Dzmitry Kamiahin <dnk-88@tut.by>
|
||||
//
|
||||
// This program is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU Affero General Public License as
|
||||
// published by the Free Software Foundation, either version 3 of the
|
||||
// License, or (at your option) any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU Affero General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU Affero General Public License
|
||||
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
#ifndef CORE_CONSTANTS_H
|
||||
#define CORE_CONSTANTS_H
|
||||
|
||||
namespace Core
|
||||
{
|
||||
namespace Constants
|
||||
{
|
||||
|
||||
const char * const OVQT_VERSION_LONG = "0.0.1";
|
||||
const char * const OVQT_VENDOR = "Ryzom Core";
|
||||
const char * const OVQT_YEAR = "2010, 2011";
|
||||
const char * const OVQT_CORE_PLUGIN = "Core";
|
||||
|
||||
//mainwindow
|
||||
const char * const MAIN_WINDOW = "ObjectViewerQt.MainWindow";
|
||||
|
||||
//menubar
|
||||
const char * const MENU_BAR = "ObjectViewerQt.MenuBar";
|
||||
|
||||
//menus
|
||||
const char * const M_FILE = "ObjectViewerQt.Menu.File";
|
||||
const char * const M_EDIT = "ObjectViewerQt.Menu.Edit";
|
||||
const char * const M_VIEW = "ObjectViewerQt.Menu.View";
|
||||
const char * const M_SCENE = "ObjectViewerQt.Menu.Scene";
|
||||
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";
|
||||
const char * const EXIT = "ObjectViewerQt.Exit";
|
||||
|
||||
const char * const SETTINGS = "ObjectViewerQt.Settings";
|
||||
const char * const TOGGLE_FULLSCREEN = "ObjectViewerQt.ToggleFullScreen";
|
||||
|
||||
const char * const CLOSE = "ObjectViewerQt.Close";
|
||||
const char * const CLOSEALL = "ObjectViewerQt.CloseAll";
|
||||
const char * const CLOSEOTHERS = "ObjectViewerQt.CloseOthers";
|
||||
const char * const ABOUT = "ObjectViewerQt.About";
|
||||
const char * const ABOUT_PLUGINS = "ObjectViewerQt.AboutPlugins";
|
||||
const char * const ABOUT_QT = "ObjectViewerQt.AboutQt";
|
||||
|
||||
//settings
|
||||
const char * const SETTINGS_CATEGORY_GENERAL = "general";
|
||||
const char * const SETTINGS_CATEGORY_GENERAL_ICON = ":/icons/ic_nel_generic_settings.png";
|
||||
const char * const SETTINGS_TR_CATEGORY_GENERAL = QT_TR_NOOP("General");
|
||||
|
||||
const char * const MAIN_WINDOW_SECTION = "MainWindow";
|
||||
const char * const MAIN_WINDOW_STATE = "WindowState";
|
||||
const char * const MAIN_WINDOW_GEOMETRY = "WindowGeometry";
|
||||
const char * const QT_STYLE = "QtStyle";
|
||||
const char * const QT_PALETTE = "QtPalette";
|
||||
|
||||
const char * const LANGUAGE = "Language";
|
||||
const char * const PLUGINS_PATH = "PluginPath";
|
||||
const char * const DATA_PATH_SECTION = "DataPath";
|
||||
const char * const SEARCH_PATHS = "SearchPaths";
|
||||
const char * const RECURSIVE_SEARCH_PATHS = "RecursiveSearchPathes";
|
||||
const char * const LEVELDESIGN_PATH = "LevelDesignPath";
|
||||
const char * const ASSETS_PATH = "AssetsPath";
|
||||
const char * const REMAP_EXTENSIONS = "RemapExtensions";
|
||||
|
||||
//resources
|
||||
const char * const ICON_NEL = ":/core/images/nel.png";
|
||||
const char * const ICON_SETTINGS = ":/core/images/preferences.png";
|
||||
const char * const ICON_PILL = ":/core/icons/ic_nel_pill.png";
|
||||
const char * const ICON_OPEN = ":/core/icons/ic_nel_open.png";
|
||||
const char * const ICON_CRASH = ":/core/icons/ic_nel_crash.png";
|
||||
|
||||
} // namespace Constants
|
||||
} // namespace Core
|
||||
|
||||
#endif // CORE_CONSTANTS_H
|
||||
// Object Viewer Qt - MMORPG Framework <http://dev.ryzom.com/projects/nel/>
|
||||
// Copyright (C) 2010 Winch Gate Property Limited
|
||||
// Copyright (C) 2010 Dzmitry Kamiahin <dnk-88@tut.by>
|
||||
//
|
||||
// This program is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU Affero General Public License as
|
||||
// published by the Free Software Foundation, either version 3 of the
|
||||
// License, or (at your option) any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU Affero General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU Affero General Public License
|
||||
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
#ifndef CORE_CONSTANTS_H
|
||||
#define CORE_CONSTANTS_H
|
||||
|
||||
namespace Core
|
||||
{
|
||||
namespace Constants
|
||||
{
|
||||
|
||||
const char * const OVQT_VERSION_LONG = "0.0.1";
|
||||
const char * const OVQT_VENDOR = "Ryzom Core";
|
||||
const char * const OVQT_YEAR = "2010, 2011";
|
||||
const char * const OVQT_CORE_PLUGIN = "Core";
|
||||
|
||||
//mainwindow
|
||||
const char * const MAIN_WINDOW = "ObjectViewerQt.MainWindow";
|
||||
|
||||
//menubar
|
||||
const char * const MENU_BAR = "ObjectViewerQt.MenuBar";
|
||||
|
||||
//menus
|
||||
const char * const M_FILE = "ObjectViewerQt.Menu.File";
|
||||
const char * const M_EDIT = "ObjectViewerQt.Menu.Edit";
|
||||
const char * const M_VIEW = "ObjectViewerQt.Menu.View";
|
||||
const char * const M_SCENE = "ObjectViewerQt.Menu.Scene";
|
||||
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";
|
||||
const char * const EXIT = "ObjectViewerQt.Exit";
|
||||
|
||||
const char * const SETTINGS = "ObjectViewerQt.Settings";
|
||||
const char * const TOGGLE_FULLSCREEN = "ObjectViewerQt.ToggleFullScreen";
|
||||
|
||||
const char * const CLOSE = "ObjectViewerQt.Close";
|
||||
const char * const CLOSEALL = "ObjectViewerQt.CloseAll";
|
||||
const char * const CLOSEOTHERS = "ObjectViewerQt.CloseOthers";
|
||||
const char * const ABOUT = "ObjectViewerQt.About";
|
||||
const char * const ABOUT_PLUGINS = "ObjectViewerQt.AboutPlugins";
|
||||
const char * const ABOUT_QT = "ObjectViewerQt.AboutQt";
|
||||
|
||||
//settings
|
||||
const char * const SETTINGS_CATEGORY_GENERAL = "general";
|
||||
const char * const SETTINGS_CATEGORY_GENERAL_ICON = ":/icons/ic_nel_generic_settings.png";
|
||||
const char * const SETTINGS_TR_CATEGORY_GENERAL = QT_TR_NOOP("General");
|
||||
|
||||
const char * const MAIN_WINDOW_SECTION = "MainWindow";
|
||||
const char * const MAIN_WINDOW_STATE = "WindowState";
|
||||
const char * const MAIN_WINDOW_GEOMETRY = "WindowGeometry";
|
||||
const char * const QT_STYLE = "QtStyle";
|
||||
const char * const QT_PALETTE = "QtPalette";
|
||||
|
||||
const char * const LANGUAGE = "Language";
|
||||
const char * const PLUGINS_PATH = "PluginPath";
|
||||
const char * const DATA_PATH_SECTION = "DataPath";
|
||||
const char * const SEARCH_PATHS = "SearchPaths";
|
||||
const char * const RECURSIVE_SEARCH_PATHS = "RecursiveSearchPathes";
|
||||
const char * const LEVELDESIGN_PATH = "LevelDesignPath";
|
||||
const char * const ASSETS_PATH = "AssetsPath";
|
||||
const char * const REMAP_EXTENSIONS = "RemapExtensions";
|
||||
|
||||
const char * const LOG_SECTION = "LogSettings";
|
||||
const char * const LOG_ERROR = "LogError";
|
||||
const char * const LOG_WARNING = "LogWarning";
|
||||
const char * const LOG_DEBUG = "LogDebug";
|
||||
const char * const LOG_ASSERT = "LogAssert";
|
||||
const char * const LOG_INFO = "LogInfo";
|
||||
|
||||
//resources
|
||||
const char * const ICON_NEL = ":/core/images/nel.png";
|
||||
const char * const ICON_SETTINGS = ":/core/images/preferences.png";
|
||||
const char * const ICON_PILL = ":/core/icons/ic_nel_pill.png";
|
||||
const char * const ICON_OPEN = ":/core/icons/ic_nel_open.png";
|
||||
const char * const ICON_NEW = ":/core/icons/ic_nel_new.png";
|
||||
const char * const ICON_SAVE = ":/core/icons/ic_nel_save.png";
|
||||
const char * const ICON_SAVE_AS = ":/core/icons/ic_nel_save_as.png";
|
||||
const char * const ICON_CRASH = ":/core/icons/ic_nel_crash.png";
|
||||
|
||||
} // namespace Constants
|
||||
} // namespace Core
|
||||
|
||||
#endif // CORE_CONSTANTS_H
|
||||
|
Binary file not shown.
After Width: | Height: | Size: 21 KiB |
Binary file not shown.
After Width: | Height: | Size: 43 KiB |
Binary file not shown.
After Width: | Height: | Size: 52 KiB |
@ -0,0 +1,43 @@
|
||||
INCLUDE_DIRECTORIES( ${CMAKE_CURRENT_BINARY_DIR}
|
||||
${CMAKE_CURRENT_SOURCE_DIR}
|
||||
${LIBXML2_INCLUDE_DIR}
|
||||
${QT_INCLUDES})
|
||||
|
||||
FILE(GLOB SRC *.cpp *.h)
|
||||
SET(OVQT_EXT_SYS_SRC ${CMAKE_CURRENT_SOURCE_DIR}/../../extension_system/iplugin.h
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/../../extension_system/iplugin_manager.h
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/../../extension_system/iplugin_spec.h)
|
||||
|
||||
SET(OVQT_PLUG_GEORGES_EDITOR_HDR georges_editor_plugin.h
|
||||
georges_editor_form.h
|
||||
georges_dirtree_dialog.h)
|
||||
|
||||
SET(OVQT_PLUG_GEORGES_EDITOR_UIS georges_editor_form.ui
|
||||
georges_dirtree_form.ui)
|
||||
|
||||
SET(OVQT_PLUGIN_GEORGES_EDITOR_RCS georges_editor.qrc)
|
||||
|
||||
SET(QT_USE_QTGUI TRUE)
|
||||
SET(QT_USE_QTOPENGL TRUE)
|
||||
|
||||
QT4_ADD_RESOURCES(OVQT_PLUGIN_GEORGES_EDITOR_RC_SRCS ${OVQT_PLUGIN_GEORGES_EDITOR_RCS})
|
||||
QT4_WRAP_CPP(OVQT_PLUG_GEORGES_EDITOR_MOC_SRC ${OVQT_PLUG_GEORGES_EDITOR_HDR})
|
||||
QT4_WRAP_UI( OVQT_PLUG_GEORGES_EDITOR_UI_HDRS ${OVQT_PLUG_GEORGES_EDITOR_UIS} )
|
||||
|
||||
SOURCE_GROUP(QtResources FILES ${OVQT_PLUG_GEORGES_EDITOR_UIS} ${OVQT_PLUGIN_GEORGES_EDITOR_RCS})
|
||||
SOURCE_GROUP(QtGeneratedUiHdr FILES ${OVQT_PLUG_GEORGES_EDITOR_UI_HDRS})
|
||||
SOURCE_GROUP(QtGeneratedMocSrc FILES ${OVQT_PLUG_GEORGES_EDITOR_MOC_SRC})
|
||||
SOURCE_GROUP("Georges Editor Plugin" FILES ${SRC})
|
||||
SOURCE_GROUP("OVQT Extension System" FILES ${OVQT_EXT_SYS_SRC})
|
||||
|
||||
ADD_LIBRARY(ovqt_plugin_georges_editor MODULE ${SRC} ${OVQT_PLUG_GEORGES_EDITOR_MOC_SRC} ${OVQT_EXT_SYS_SRC} ${OVQT_PLUG_GEORGES_EDITOR_UI_HDRS} ${OVQT_PLUGIN_GEORGES_EDITOR_RC_SRCS})
|
||||
|
||||
TARGET_LINK_LIBRARIES(ovqt_plugin_georges_editor ovqt_plugin_core nelmisc ${QT_LIBRARIES})
|
||||
|
||||
NL_DEFAULT_PROPS(ovqt_plugin_georges_editor "NeL, Tools, 3D: Object Viewer Qt Plugin: Georges Editor")
|
||||
NL_ADD_RUNTIME_FLAGS(ovqt_plugin_georges_editor)
|
||||
NL_ADD_LIB_SUFFIX(ovqt_plugin_georges_editor)
|
||||
|
||||
ADD_DEFINITIONS(${LIBXML2_DEFINITIONS} -DQT_PLUGIN -DQT_SHARED ${QT_DEFINITIONS})
|
||||
|
||||
INSTALL(TARGETS ovqt_plugin_georges_editor LIBRARY DESTINATION lib RUNTIME DESTINATION bin ARCHIVE DESTINATION lib COMPONENT tools3d)
|
@ -0,0 +1,99 @@
|
||||
// Object Viewer Qt - Georges Editor Plugin - MMORPG Framework <http://dev.ryzom.com/projects/ryzom/>
|
||||
// Copyright (C) 2011 Adrian Jaekel <aj at elane2k dot com>
|
||||
//
|
||||
// This program is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU Affero General Public License as
|
||||
// published by the Free Software Foundation, either version 3 of the
|
||||
// License, or (at your option) any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU Affero General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU Affero General Public License
|
||||
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
// Project includes
|
||||
#include "georges_dirtree_dialog.h"
|
||||
|
||||
// Qt includes
|
||||
#include <QtGui/QWidget>
|
||||
#include <QSettings>
|
||||
|
||||
// NeL includes
|
||||
|
||||
//using namespace NLMISC;
|
||||
|
||||
namespace Plugin
|
||||
{
|
||||
|
||||
CGeorgesDirTreeDialog::CGeorgesDirTreeDialog(QString ldPath, QWidget *parent)
|
||||
:QDockWidget(parent), m_ldPath(ldPath)
|
||||
{
|
||||
|
||||
m_ui.setupUi(this);
|
||||
|
||||
m_dirModel = new CGeorgesFileSystemModel(m_ldPath);
|
||||
m_ui.dirTree->setModel(m_dirModel);
|
||||
|
||||
if (m_dirModel->isCorrectLDPath())
|
||||
{
|
||||
m_dirModel->setRootPath(m_ldPath);
|
||||
m_ui.dirTree->setRootIndex(m_dirModel->index(m_ldPath));
|
||||
}
|
||||
else
|
||||
{
|
||||
m_dirModel->setRootPath(QDir::currentPath());
|
||||
}
|
||||
|
||||
m_ui.dirTree->setAnimated(false);
|
||||
m_ui.dirTree->setIndentation(20);
|
||||
|
||||
connect(m_ui.dirTree, SIGNAL(activated(QModelIndex)),
|
||||
this, SLOT(fileSelected(QModelIndex)));
|
||||
}
|
||||
|
||||
CGeorgesDirTreeDialog::~CGeorgesDirTreeDialog()
|
||||
{
|
||||
delete m_dirModel;
|
||||
}
|
||||
|
||||
void CGeorgesDirTreeDialog::fileSelected(QModelIndex index)
|
||||
{
|
||||
QString name;
|
||||
if (index.isValid() && !m_dirModel->isDir(index))
|
||||
{
|
||||
Q_EMIT selectedForm(m_dirModel->fileName(index));
|
||||
}
|
||||
}
|
||||
|
||||
void CGeorgesDirTreeDialog::changeFile(QString file)
|
||||
{
|
||||
QModelIndex index = m_dirModel->index(file);
|
||||
m_ui.dirTree->selectionModel()->select(index,QItemSelectionModel::ClearAndSelect);
|
||||
m_ui.dirTree->scrollTo(index,QAbstractItemView::PositionAtCenter);
|
||||
fileSelected(index);
|
||||
}
|
||||
|
||||
void CGeorgesDirTreeDialog::ldPathChanged(QString path)
|
||||
{
|
||||
m_ldPath = path;
|
||||
|
||||
delete m_dirModel;
|
||||
|
||||
m_dirModel = new CGeorgesFileSystemModel(m_ldPath);
|
||||
m_ui.dirTree->setModel(m_dirModel);
|
||||
|
||||
if (m_dirModel->isCorrectLDPath())
|
||||
{
|
||||
m_dirModel->setRootPath(m_ldPath);
|
||||
m_ui.dirTree->setRootIndex(m_dirModel->index(m_ldPath));
|
||||
}
|
||||
else
|
||||
{
|
||||
m_dirModel->setRootPath(QDir::currentPath());
|
||||
}
|
||||
}
|
||||
|
||||
} /* namespace NLQT */
|
@ -0,0 +1,62 @@
|
||||
// Object Viewer Qt - Georges Editor Plugin - MMORPG Framework <http://dev.ryzom.com/projects/ryzom/>
|
||||
// Copyright (C) 2011 Adrian Jaekel <aj at elane2k dot com>
|
||||
//
|
||||
// This program is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU Affero General Public License as
|
||||
// published by the Free Software Foundation, either version 3 of the
|
||||
// License, or (at your option) any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU Affero General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU Affero General Public License
|
||||
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
#ifndef GEORGES_DIRTREE_DIALOG_H
|
||||
#define GEORGES_DIRTREE_DIALOG_H
|
||||
|
||||
// Qt includes
|
||||
#include <QtGui/QWidget>
|
||||
|
||||
// STL includes
|
||||
|
||||
// NeL includes
|
||||
|
||||
// Project includes
|
||||
#include "ui_georges_dirtree_form.h"
|
||||
#include "georges_filesystem_model.h"
|
||||
|
||||
namespace Plugin
|
||||
{
|
||||
|
||||
class CGeorgesDirTreeDialog: public QDockWidget
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
CGeorgesDirTreeDialog(QString ldPath, QWidget *parent = 0);
|
||||
~CGeorgesDirTreeDialog();
|
||||
|
||||
void ldPathChanged(QString);
|
||||
|
||||
private:
|
||||
Ui::CGeorgesDirTreeDialog m_ui;
|
||||
|
||||
CGeorgesFileSystemModel *m_dirModel;
|
||||
QString m_ldPath;
|
||||
|
||||
Q_SIGNALS:
|
||||
void selectedForm(const QString);
|
||||
|
||||
private Q_SLOTS:
|
||||
void fileSelected(QModelIndex index);
|
||||
void changeFile(QString file);
|
||||
|
||||
friend class CMainWindow;
|
||||
}; /* CGEorgesDirTreeDialog */
|
||||
|
||||
} /* namespace NLQT */
|
||||
|
||||
#endif // GEORGES_DIRTREE_DIALOG_H
|
@ -0,0 +1,54 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<ui version="4.0">
|
||||
<class>CGeorgesDirTreeDialog</class>
|
||||
<widget class="QDockWidget" name="CGeorgesDirTreeDialog">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>400</width>
|
||||
<height>300</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Fixed" vsizetype="Preferred">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>200</width>
|
||||
<height>111</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="features">
|
||||
<set>QDockWidget::DockWidgetFloatable|QDockWidget::DockWidgetMovable</set>
|
||||
</property>
|
||||
<property name="windowTitle">
|
||||
<string>Leveldesign Path</string>
|
||||
</property>
|
||||
<widget class="QWidget" name="dockWidgetContents">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>50</width>
|
||||
<height>0</height>
|
||||
</size>
|
||||
</property>
|
||||
<layout class="QGridLayout" name="gridLayout">
|
||||
<item row="0" column="0">
|
||||
<widget class="QTreeView" name="dirTree">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>0</width>
|
||||
<height>0</height>
|
||||
</size>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</widget>
|
||||
<resources/>
|
||||
<connections/>
|
||||
</ui>
|
@ -0,0 +1,5 @@
|
||||
<RCC>
|
||||
<qresource>
|
||||
<file>images/ic_nel_georges_editor.png</file>
|
||||
</qresource>
|
||||
</RCC>
|
@ -0,0 +1,31 @@
|
||||
// Object Viewer Qt - Georges Editor Plugin - MMORPG Framework <http://dev.ryzom.com/projects/ryzom/>
|
||||
// Copyright (C) 2011 Adrian Jaekel <aj at elane2k dot com>
|
||||
//
|
||||
// This program is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU Affero General Public License as
|
||||
// published by the Free Software Foundation, either version 3 of the
|
||||
// License, or (at your option) any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU Affero General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU Affero General Public License
|
||||
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
#ifndef GEORGES_EDITOR_CONSTANTS_H
|
||||
#define GEORGES_EDITOR_CONSTANTS_H
|
||||
|
||||
namespace Plugin
|
||||
{
|
||||
namespace Constants
|
||||
{
|
||||
//settings
|
||||
const char * const GEORGES_EDITOR_SECTION = "GeorgesEditor";
|
||||
|
||||
|
||||
} // namespace Constants
|
||||
} // namespace Plugin
|
||||
|
||||
#endif // GEORGES_EDITOR_CONSTANTS_H
|
@ -0,0 +1,139 @@
|
||||
// Object Viewer Qt - Georges Editor Plugin - MMORPG Framework <http://dev.ryzom.com/projects/ryzom/>
|
||||
// Copyright (C) 2011 Adrian Jaekel <aj at elane2k dot com>
|
||||
//
|
||||
// This program is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU Affero General Public License as
|
||||
// published by the Free Software Foundation, either version 3 of the
|
||||
// License, or (at your option) any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU Affero General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU Affero General Public License
|
||||
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
// Project includes
|
||||
#include "georges_editor_form.h"
|
||||
#include "georges_editor_constants.h"
|
||||
#include "georges_dirtree_dialog.h"
|
||||
|
||||
#include "../core/icore.h"
|
||||
#include "../core/imenu_manager.h"
|
||||
#include "../core/core_constants.h"
|
||||
|
||||
// NeL includes
|
||||
#include <nel/misc/debug.h>
|
||||
|
||||
// Qt includes
|
||||
#include <QSettings>
|
||||
#include <QFileDialog>
|
||||
#include <QToolBar>
|
||||
|
||||
namespace Plugin
|
||||
{
|
||||
|
||||
GeorgesEditorForm::GeorgesEditorForm(QWidget *parent)
|
||||
: QMainWindow(parent),
|
||||
m_georgesDirTreeDialog(0)
|
||||
{
|
||||
m_ui.setupUi(this);
|
||||
|
||||
m_undoStack = new QUndoStack(this);
|
||||
|
||||
_openAction = new QAction(tr("&Open..."), this);
|
||||
_openAction->setIcon(QIcon(Core::Constants::ICON_OPEN));
|
||||
_openAction->setShortcut(QKeySequence::Open);
|
||||
_openAction->setStatusTip(tr("Open an existing file"));
|
||||
connect(_openAction, SIGNAL(triggered()), this, SLOT(open()));
|
||||
|
||||
_newAction = new QAction(tr("&New..."), this);
|
||||
_newAction->setIcon(QIcon(Core::Constants::ICON_NEW));
|
||||
_newAction->setShortcut(QKeySequence::New);
|
||||
_newAction->setStatusTip(tr("Create a new file"));
|
||||
connect(_newAction, SIGNAL(triggered()), this, SLOT(newFile()));
|
||||
|
||||
_saveAction = new QAction(tr("&Save..."), this);
|
||||
_saveAction->setIcon(QIcon(Core::Constants::ICON_SAVE));
|
||||
_saveAction->setShortcut(QKeySequence::Save);
|
||||
_saveAction->setStatusTip(tr("Save the current file"));
|
||||
connect(_saveAction, SIGNAL(triggered()), this, SLOT(save()));
|
||||
|
||||
_fileToolBar = addToolBar(tr("&File"));
|
||||
_fileToolBar->addAction(_openAction);
|
||||
_fileToolBar->addAction(_newAction);
|
||||
_fileToolBar->addAction(_saveAction);
|
||||
|
||||
readSettings();
|
||||
|
||||
// create leveldesign directory tree dockwidget
|
||||
m_georgesDirTreeDialog = new CGeorgesDirTreeDialog(m_leveldesignPath, this);
|
||||
addDockWidget(Qt::LeftDockWidgetArea, m_georgesDirTreeDialog);
|
||||
//m_georgesDirTreeDialog->setVisible(false);
|
||||
connect(Core::ICore::instance(), SIGNAL(changeSettings()),
|
||||
this, SLOT(settingsChanged()));
|
||||
}
|
||||
|
||||
GeorgesEditorForm::~GeorgesEditorForm()
|
||||
{
|
||||
writeSettings();
|
||||
}
|
||||
|
||||
QUndoStack *GeorgesEditorForm::undoStack() const
|
||||
{
|
||||
return m_undoStack;
|
||||
}
|
||||
|
||||
void GeorgesEditorForm::open()
|
||||
{
|
||||
// TODO: FileDialog & loadFile();
|
||||
//QString fileName = QFileDialog::getOpenFileName();
|
||||
//loadFile(fileName);
|
||||
}
|
||||
|
||||
void GeorgesEditorForm::newFile()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
void GeorgesEditorForm::save()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
void GeorgesEditorForm::readSettings()
|
||||
{
|
||||
QSettings *settings = Core::ICore::instance()->settings();
|
||||
settings->beginGroup(Constants::GEORGES_EDITOR_SECTION);
|
||||
settings->endGroup();
|
||||
|
||||
settings->beginGroup(Core::Constants::DATA_PATH_SECTION);
|
||||
m_leveldesignPath = settings->value(Core::Constants::LEVELDESIGN_PATH, "l:/leveldesign").toString();
|
||||
settings->endGroup();
|
||||
}
|
||||
|
||||
void GeorgesEditorForm::writeSettings()
|
||||
{
|
||||
QSettings *settings = Core::ICore::instance()->settings();
|
||||
settings->beginGroup(Constants::GEORGES_EDITOR_SECTION);
|
||||
settings->endGroup();
|
||||
settings->sync();
|
||||
}
|
||||
|
||||
void GeorgesEditorForm::settingsChanged()
|
||||
{
|
||||
QSettings *settings = Core::ICore::instance()->settings();
|
||||
|
||||
settings->beginGroup(Core::Constants::DATA_PATH_SECTION);
|
||||
QString oldLDPath = m_leveldesignPath;
|
||||
m_leveldesignPath = settings->value(Core::Constants::LEVELDESIGN_PATH, "l:/leveldesign").toString();
|
||||
settings->endGroup();
|
||||
|
||||
if (oldLDPath != m_leveldesignPath)
|
||||
{
|
||||
m_georgesDirTreeDialog->ldPathChanged(m_leveldesignPath);
|
||||
}
|
||||
}
|
||||
|
||||
} /* namespace Plugin */
|
@ -0,0 +1,64 @@
|
||||
// Object Viewer Qt - Georges Editor Plugin - MMORPG Framework <http://dev.ryzom.com/projects/ryzom/>
|
||||
// Copyright (C) 2011 Adrian Jaekel <aj at elane2k dot com>
|
||||
//
|
||||
// This program is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU Affero General Public License as
|
||||
// published by the Free Software Foundation, either version 3 of the
|
||||
// License, or (at your option) any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU Affero General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU Affero General Public License
|
||||
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
#ifndef GEORGES_EDITOR_FORM_H
|
||||
#define GEORGES_EDITOR_FORM_H
|
||||
|
||||
// Project includes
|
||||
#include "ui_georges_editor_form.h"
|
||||
|
||||
// Qt includes
|
||||
#include <QtGui/QUndoStack>
|
||||
|
||||
namespace Plugin
|
||||
{
|
||||
|
||||
class CGeorgesDirTreeDialog;
|
||||
class GeorgesEditorForm: public QMainWindow
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
GeorgesEditorForm(QWidget *parent = 0);
|
||||
~GeorgesEditorForm();
|
||||
|
||||
QUndoStack *undoStack() const;
|
||||
|
||||
public Q_SLOTS:
|
||||
void open();
|
||||
void newFile();
|
||||
void save();
|
||||
void settingsChanged();
|
||||
|
||||
private:
|
||||
void readSettings();
|
||||
void writeSettings();
|
||||
|
||||
QUndoStack *m_undoStack;
|
||||
Ui::GeorgesEditorForm m_ui;
|
||||
|
||||
CGeorgesDirTreeDialog *m_georgesDirTreeDialog;
|
||||
QToolBar *_fileToolBar;
|
||||
QAction *_openAction;
|
||||
QAction *_newAction;
|
||||
QAction *_saveAction;
|
||||
|
||||
QString m_leveldesignPath;
|
||||
}; /* class GeorgesEditorForm */
|
||||
|
||||
} /* namespace Plugin */
|
||||
|
||||
#endif // GEORGES_EDITOR_FORM_H
|
@ -0,0 +1,28 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<ui version="4.0">
|
||||
<class>GeorgesEditorForm</class>
|
||||
<widget class="QMainWindow" name="GeorgesEditorForm">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>800</width>
|
||||
<height>600</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="windowTitle">
|
||||
<string>Georges Editor</string>
|
||||
</property>
|
||||
<widget class="QWidget" name="centralwidget">
|
||||
<property name="styleSheet">
|
||||
<string notr="true">QWidget#centralwidget {
|
||||
image: url(:/images/ic_nel_georges_editor.png);
|
||||
}</string>
|
||||
</property>
|
||||
</widget>
|
||||
</widget>
|
||||
<resources>
|
||||
<include location="georges_editor.qrc"/>
|
||||
</resources>
|
||||
<connections/>
|
||||
</ui>
|
@ -0,0 +1,128 @@
|
||||
// Object Viewer Qt - Georges Editor Plugin - MMORPG Framework <http://dev.ryzom.com/projects/ryzom/>
|
||||
// Copyright (C) 2011 Adrian Jaekel <aj at elane2k dot com>
|
||||
//
|
||||
// This program is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU Affero General Public License as
|
||||
// published by the Free Software Foundation, either version 3 of the
|
||||
// License, or (at your option) any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU Affero General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU Affero General Public License
|
||||
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
// Project includes
|
||||
#include "georges_editor_plugin.h"
|
||||
#include "georges_editor_form.h"
|
||||
|
||||
#include "../core/icore.h"
|
||||
#include "../core/core_constants.h"
|
||||
|
||||
// NeL includes
|
||||
#include "nel/misc/debug.h"
|
||||
|
||||
// Qt includes
|
||||
#include <QtCore/QObject>
|
||||
|
||||
namespace Plugin
|
||||
{
|
||||
|
||||
GeorgesEditorPlugin::~GeorgesEditorPlugin()
|
||||
{
|
||||
Q_FOREACH(QObject *obj, m_autoReleaseObjects)
|
||||
{
|
||||
m_plugMan->removeObject(obj);
|
||||
}
|
||||
qDeleteAll(m_autoReleaseObjects);
|
||||
m_autoReleaseObjects.clear();
|
||||
}
|
||||
|
||||
bool GeorgesEditorPlugin::initialize(ExtensionSystem::IPluginManager *pluginManager, QString *errorString)
|
||||
{
|
||||
Q_UNUSED(errorString);
|
||||
m_plugMan = pluginManager;
|
||||
|
||||
addAutoReleasedObject(new GeorgesEditorContext(this));
|
||||
return true;
|
||||
}
|
||||
|
||||
void GeorgesEditorPlugin::extensionsInitialized()
|
||||
{
|
||||
}
|
||||
|
||||
void GeorgesEditorPlugin::shutdown()
|
||||
{
|
||||
}
|
||||
|
||||
void GeorgesEditorPlugin::setNelContext(NLMISC::INelContext *nelContext)
|
||||
{
|
||||
#ifdef NL_OS_WINDOWS
|
||||
// Ensure that a context doesn't exist yet.
|
||||
// This only applies to platforms without PIC, e.g. Windows.
|
||||
nlassert(!NLMISC::INelContext::isContextInitialised());
|
||||
#endif // NL_OS_WINDOWS
|
||||
m_libContext = new NLMISC::CLibraryContext(*nelContext);
|
||||
}
|
||||
|
||||
QString GeorgesEditorPlugin::name() const
|
||||
{
|
||||
return tr("Georges Editor");
|
||||
}
|
||||
|
||||
QString GeorgesEditorPlugin::version() const
|
||||
{
|
||||
return "0.2";
|
||||
}
|
||||
|
||||
QString GeorgesEditorPlugin::vendor() const
|
||||
{
|
||||
return "aquiles";
|
||||
}
|
||||
|
||||
QString GeorgesEditorPlugin::description() const
|
||||
{
|
||||
return tr("Tool to create & edit sheets or forms.");
|
||||
}
|
||||
|
||||
QStringList GeorgesEditorPlugin::dependencies() const
|
||||
{
|
||||
QStringList list;
|
||||
list.append(Core::Constants::OVQT_CORE_PLUGIN);
|
||||
list.append("ObjectViewer"); // TODO
|
||||
return list;
|
||||
}
|
||||
|
||||
void GeorgesEditorPlugin::addAutoReleasedObject(QObject *obj)
|
||||
{
|
||||
m_plugMan->addObject(obj);
|
||||
m_autoReleaseObjects.prepend(obj);
|
||||
}
|
||||
|
||||
GeorgesEditorContext::GeorgesEditorContext(QObject *parent)
|
||||
: IContext(parent),
|
||||
m_georgesEditorForm(0)
|
||||
{
|
||||
m_georgesEditorForm = new GeorgesEditorForm();
|
||||
}
|
||||
|
||||
QUndoStack *GeorgesEditorContext::undoStack()
|
||||
{
|
||||
return m_georgesEditorForm->undoStack();
|
||||
}
|
||||
|
||||
void GeorgesEditorContext::open()
|
||||
{
|
||||
m_georgesEditorForm->open();
|
||||
}
|
||||
|
||||
QWidget *GeorgesEditorContext::widget()
|
||||
{
|
||||
return m_georgesEditorForm;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Q_EXPORT_PLUGIN(Plugin::GeorgesEditorPlugin)
|
@ -0,0 +1,105 @@
|
||||
// Object Viewer Qt - Georges Editor Plugin - MMORPG Framework <http://dev.ryzom.com/projects/ryzom/>
|
||||
// Copyright (C) 2011 Adrian Jaekel <aj at elane2k dot com>
|
||||
//
|
||||
// This program is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU Affero General Public License as
|
||||
// published by the Free Software Foundation, either version 3 of the
|
||||
// License, or (at your option) any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU Affero General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU Affero General Public License
|
||||
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
#ifndef GEORGES_EDITOR_PLUGIN_H
|
||||
#define GEORGES_EDITOR_PLUGIN_H
|
||||
|
||||
// Project includes
|
||||
#include "../../extension_system/iplugin.h"
|
||||
#include "../core/icontext.h"
|
||||
|
||||
// NeL includes
|
||||
#include "nel/misc/app_context.h"
|
||||
|
||||
// Qt includes
|
||||
#include <QtCore/QObject>
|
||||
#include <QtGui/QIcon>
|
||||
|
||||
namespace NLMISC
|
||||
{
|
||||
class CLibraryContext;
|
||||
}
|
||||
|
||||
namespace ExtensionSystem
|
||||
{
|
||||
class IPluginSpec;
|
||||
}
|
||||
|
||||
namespace Plugin
|
||||
{
|
||||
class GeorgesEditorForm;
|
||||
class GeorgesEditorPlugin : public QObject, public ExtensionSystem::IPlugin
|
||||
{
|
||||
Q_OBJECT
|
||||
Q_INTERFACES(ExtensionSystem::IPlugin)
|
||||
public:
|
||||
|
||||
virtual ~GeorgesEditorPlugin();
|
||||
|
||||
bool initialize(ExtensionSystem::IPluginManager *pluginManager, QString *errorString);
|
||||
void extensionsInitialized();
|
||||
void shutdown();
|
||||
|
||||
void setNelContext(NLMISC::INelContext *nelContext);
|
||||
|
||||
QString name() const;
|
||||
QString version() const;
|
||||
QString vendor() const;
|
||||
QString description() const;
|
||||
QStringList dependencies() const;
|
||||
|
||||
void addAutoReleasedObject(QObject *obj);
|
||||
|
||||
protected:
|
||||
NLMISC::CLibraryContext *m_libContext;
|
||||
|
||||
private:
|
||||
ExtensionSystem::IPluginManager *m_plugMan;
|
||||
QList<QObject *> m_autoReleaseObjects;
|
||||
};
|
||||
|
||||
class GeorgesEditorContext: public Core::IContext
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
GeorgesEditorContext(QObject *parent = 0);
|
||||
virtual ~GeorgesEditorContext() {}
|
||||
|
||||
virtual QString id() const
|
||||
{
|
||||
return QLatin1String("GeorgesEditorContext");
|
||||
}
|
||||
virtual QString trName() const
|
||||
{
|
||||
return tr("Georges Editor");
|
||||
}
|
||||
virtual QIcon icon() const
|
||||
{
|
||||
return QIcon(":/images/ic_nel_georges_editor.png");
|
||||
}
|
||||
|
||||
virtual void open();
|
||||
|
||||
virtual QUndoStack *undoStack();
|
||||
|
||||
virtual QWidget *widget();
|
||||
|
||||
GeorgesEditorForm *m_georgesEditorForm;
|
||||
};
|
||||
|
||||
} // namespace Plugin
|
||||
|
||||
#endif // LANDSCAPE_EDITOR_PLUGIN_H
|
@ -0,0 +1,95 @@
|
||||
// Object Viewer Qt - Georges Editor Plugin - MMORPG Framework <http://dev.ryzom.com/projects/ryzom/>
|
||||
// Copyright (C) 2011 Adrian Jaekel <aj at elane2k dot com>
|
||||
//
|
||||
// This program is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU Affero General Public License as
|
||||
// published by the Free Software Foundation, either version 3 of the
|
||||
// License, or (at your option) any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU Affero General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU Affero General Public License
|
||||
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
#include "georges_filesystem_model.h"
|
||||
|
||||
#include <QApplication>
|
||||
#include <QStyle>
|
||||
|
||||
namespace Plugin
|
||||
{
|
||||
|
||||
CGeorgesFileSystemModel::CGeorgesFileSystemModel(QString ldPath, QObject *parent)
|
||||
: QFileSystemModel(parent),
|
||||
m_ldPath(ldPath),
|
||||
m_correct(false)
|
||||
{
|
||||
checkLDPath();
|
||||
}
|
||||
|
||||
CGeorgesFileSystemModel::~CGeorgesFileSystemModel()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
QVariant CGeorgesFileSystemModel::data(const QModelIndex& index, int role) const
|
||||
{
|
||||
|
||||
if (role == Qt::DecorationRole)
|
||||
{
|
||||
if (!m_correct)
|
||||
return QVariant();
|
||||
if (isDir(index))
|
||||
return QApplication::style()->standardIcon(QStyle::SP_DirIcon);
|
||||
}
|
||||
if (!m_correct && role == Qt::DisplayRole)
|
||||
{
|
||||
if (index.parent().isValid())
|
||||
return QVariant();
|
||||
return tr("Set a correct leveldesign path ...");
|
||||
}
|
||||
return QFileSystemModel::data(index, role);
|
||||
}
|
||||
|
||||
int CGeorgesFileSystemModel::columnCount(const QModelIndex &/*parent*/) const
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
|
||||
int CGeorgesFileSystemModel::rowCount(const QModelIndex &parent) const
|
||||
{
|
||||
|
||||
if (!m_correct)
|
||||
{
|
||||
if(parent.isValid())
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
return qMin(QFileSystemModel::rowCount(parent),1);
|
||||
}
|
||||
}
|
||||
return QFileSystemModel::rowCount(parent);
|
||||
}
|
||||
|
||||
void CGeorgesFileSystemModel::checkLDPath()
|
||||
{
|
||||
QFileInfo check1(QString("%1/game_element").arg(m_ldPath));
|
||||
QFileInfo check2(QString("%1/DFN").arg(m_ldPath));
|
||||
|
||||
if (check1.exists() && check2.exists())
|
||||
{
|
||||
m_correct = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
m_correct = false;
|
||||
}
|
||||
}
|
||||
} /* namespace NLQT */
|
||||
|
||||
/* end of file */
|
@ -0,0 +1,50 @@
|
||||
// Object Viewer Qt - Georges Editor Plugin - MMORPG Framework <http://dev.ryzom.com/projects/ryzom/>
|
||||
// Copyright (C) 2011 Adrian Jaekel <aj at elane2k dot com>
|
||||
//
|
||||
// This program is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU Affero General Public License as
|
||||
// published by the Free Software Foundation, either version 3 of the
|
||||
// License, or (at your option) any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU Affero General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU Affero General Public License
|
||||
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
#ifndef GEORGES_FILESYSTEM_MODEL_H
|
||||
#define GEORGES_FILESYSTEM_MODEL_H
|
||||
|
||||
#include <QtGui/QFileSystemModel>
|
||||
|
||||
namespace Plugin
|
||||
{
|
||||
|
||||
class CGeorgesFileSystemModel : public QFileSystemModel
|
||||
{
|
||||
QString m_ldPath;
|
||||
|
||||
public:
|
||||
CGeorgesFileSystemModel(QString ldPath, QObject *parent = 0);
|
||||
~CGeorgesFileSystemModel();
|
||||
|
||||
int columnCount(const QModelIndex &/*parent*/) const;
|
||||
int rowCount(const QModelIndex &/*parent*/) const;
|
||||
|
||||
QVariant data(const QModelIndex& index, int role) const ;
|
||||
|
||||
bool isCorrectLDPath()
|
||||
{
|
||||
return m_correct;
|
||||
}
|
||||
void checkLDPath();
|
||||
|
||||
private:
|
||||
bool m_correct;
|
||||
};/* class CGeorgesFileSystemModel */
|
||||
|
||||
} /* namespace NLQT */
|
||||
|
||||
#endif // GEORGES_FILESYSTEM_MODEL_H
|
Binary file not shown.
After Width: | Height: | Size: 36 KiB |
Loading…
Reference in New Issue