-#include "nel/misc/app_context.h"
-
-#include "iplugin.h"
-#include "iplugin_manager.h"
-
namespace ExtensionSystem
{
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 90b5ad745..a4883b9ec 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
@@ -138,8 +138,8 @@ bool MainWindow::showOptionsDialog(const QString &group,
void MainWindow::about()
{
QMessageBox::about(this, tr("About Object Viewer Qt"),
- tr("Object Viewer Qt NG
"
- " Author: dnk-88
Compiled on %1 %2").arg(__DATE__).arg(__TIME__));
+ tr("
Object Viewer Qt
"
+ " Ryzom Core team
Compiled on %1 %2").arg(__DATE__).arg(__TIME__));
}
void MainWindow::closeEvent(QCloseEvent *event)
diff --git a/code/nel/tools/3d/object_viewer_qt/src/plugins/object_viewer/CMakeLists.txt b/code/nel/tools/3d/object_viewer_qt/src/plugins/object_viewer/CMakeLists.txt
index b4bd4e0ad..9ea5ef8a5 100644
--- a/code/nel/tools/3d/object_viewer_qt/src/plugins/object_viewer/CMakeLists.txt
+++ b/code/nel/tools/3d/object_viewer_qt/src/plugins/object_viewer/CMakeLists.txt
@@ -14,7 +14,6 @@ SET(OBJECT_VIEWER_PLUGIN_HDR object_viewer_plugin.h
graphics_viewport.h
animation_dialog.h
animation_set_dialog.h
- settings_dialog.h
setup_fog_dialog.h
slot_manager_dialog.h
particle_control_dialog.h
@@ -68,11 +67,13 @@ SET(OBJECT_VIEWER_PLUGIN_HDR object_viewer_plugin.h
vegetable_rotate_page.h
tune_mrm_dialog.h
tune_timer_dialog.h
- camera_control.h)
+ camera_control.h
+ graphics_settings_page.h
+ sound_settings_page.h
+ vegetable_settings_page.h)
SET(OBJECT_VIEWER_PLUGIN_UIS animation_form.ui
animation_set_form.ui
- settings_form.ui
setup_fog_form.ui
slot_form.ui
particle_control_form.ui
@@ -116,7 +117,10 @@ SET(OBJECT_VIEWER_PLUGIN_UIS animation_form.ui
vegetable_rotate_form.ui
vegetable_scale_form.ui
tune_mrm_form.ui
- tune_timer_form.ui)
+ tune_timer_form.ui
+ graphics_settings_page.ui
+ sound_settings_page.ui
+ vegetable_settings_page.ui)
SET(OBJECT_VIEWER_PLUGIN_RCS object_viewer.qrc)
diff --git a/code/nel/tools/3d/object_viewer_qt/src/plugins/object_viewer/graphics_settings_page.cpp b/code/nel/tools/3d/object_viewer_qt/src/plugins/object_viewer/graphics_settings_page.cpp
new file mode 100644
index 000000000..a495f866a
--- /dev/null
+++ b/code/nel/tools/3d/object_viewer_qt/src/plugins/object_viewer/graphics_settings_page.cpp
@@ -0,0 +1,147 @@
+// Object Viewer Qt - MMORPG Framework
+// Copyright (C) 2010 Winch Gate Property Limited
+// Copyright (C) 2011 Dzmitry Kamiahin
+//
+// 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 .
+
+// Project includes
+#include "stdpch.h"
+#include "graphics_settings_page.h"
+#include "modules.h"
+
+// Qt includes
+#include
+#include
+#include
+
+// NeL includes
+#include
+
+namespace NLQT
+{
+
+GraphicsSettingsPage::GraphicsSettingsPage(QObject *parent)
+ : IOptionsPage(parent),
+ m_page(0)
+{
+}
+
+QString GraphicsSettingsPage::id() const
+{
+ return QLatin1String("GraphicsPage");
+}
+
+QString GraphicsSettingsPage::trName() const
+{
+ return tr("Graphics");
+}
+
+QString GraphicsSettingsPage::category() const
+{
+ return QLatin1String("ObjectViewer");
+}
+
+QString GraphicsSettingsPage::trCategory() const
+{
+ return tr("Object Viewer");
+}
+
+QWidget *GraphicsSettingsPage::createPage(QWidget *parent)
+{
+ m_page = new QWidget(parent);
+ m_ui.setupUi(m_page);
+
+ Modules::config().setAndCallback("GraphicsDrivers", CConfigCallback(this, &GraphicsSettingsPage::cfcbGraphicsDrivers));
+ m_ui.enableBloomCheckBox->setChecked(Modules::objView().getBloomEffect());
+ m_ui.squareBloomCheckBox->setChecked(NL3D::CBloomEffect::instance().getSquareBloom());
+ m_ui.bloomDensityHorizontalSlider->setValue(NL3D::CBloomEffect::instance().getDensityBloom());
+ m_ui.styleComboBox->addItems(QStyleFactory::keys());
+ m_ui.styleComboBox->setCurrentIndex(m_ui.styleComboBox->findText(Modules::config().getValue("QtStyle", std::string("")).c_str()));
+ m_ui.paletteCheckBox->setChecked(Modules::config().getValue("QtPalette", false));
+
+ connect(m_ui.enableBloomCheckBox, SIGNAL(toggled(bool)), this, SLOT(setEnableBloom(bool)));
+ connect(m_ui.squareBloomCheckBox, SIGNAL(toggled(bool)), this, SLOT(setEnableSquareBloon(bool)));
+ connect(m_ui.bloomDensityHorizontalSlider, SIGNAL(valueChanged(int)), this, SLOT(setDensityBloom(int)));
+
+#ifdef NL_OS_UNIX
+ m_ui.driverGraphComboBox->setEnabled(false);
+#endif
+ return m_page;
+}
+
+void GraphicsSettingsPage::apply()
+{
+ // save graphics settings to config file
+ Modules::config().getConfigFile().getVar("GraphicsDriver").setAsString(m_ui.driverGraphComboBox->currentText().toStdString());
+
+ Modules::config().getConfigFile().getVar("BloomEffect").setAsInt(m_ui.enableBloomCheckBox->isChecked());
+ Modules::config().getConfigFile().getVar("BloomSquare").setAsInt(m_ui.squareBloomCheckBox->isChecked());
+ Modules::config().getConfigFile().getVar("BloomDensity").setAsInt(m_ui.bloomDensityHorizontalSlider->value());
+
+ Modules::config().getConfigFile().getVar("QtStyle").setAsString(m_ui.styleComboBox->currentText().toStdString());
+ Modules::config().getConfigFile().getVar("QtPalette").setAsInt(m_ui.paletteCheckBox->isChecked());
+
+ QApplication::setStyle(QStyleFactory::create(m_ui.styleComboBox->currentText()));
+
+ if (m_ui.paletteCheckBox->isChecked())
+ QApplication::setPalette(QApplication::style()->standardPalette());
+ else
+ QApplication::setPalette(Modules::mainWin().getOriginalPalette());
+
+ // save config file
+ Modules::config().getConfigFile().save();
+}
+void GraphicsSettingsPage::finish()
+{
+ Modules::config().dropCallback("GraphicsDrivers");
+}
+
+void GraphicsSettingsPage::setEnableBloom(bool state)
+{
+ Modules::objView().setBloomEffect(state);
+}
+
+void GraphicsSettingsPage::setEnableSquareBloon(bool state)
+{
+ NL3D::CBloomEffect::instance().setSquareBloom(state);
+}
+
+void GraphicsSettingsPage::setDensityBloom(int density)
+{
+ NL3D::CBloomEffect::instance().setDensityBloom(density);
+}
+
+void GraphicsSettingsPage::cfcbGraphicsDrivers(NLMISC::CConfigFile::CVar &var)
+{
+ while (m_ui.driverGraphComboBox->count())
+ m_ui.driverGraphComboBox->removeItem(0);
+
+ // load types graphics driver from the config file
+ for (uint i = 0; i < var.size(); ++i)
+ m_ui.driverGraphComboBox->addItem(var.asString(i).c_str());
+
+ // set graphics driver from the config file
+ QString value = Modules::config().getValue("GraphicsDriver", std::string("OpenGL")).c_str();
+ QString dn = value.toLower();
+ for (sint i = 0; i < m_ui.driverGraphComboBox->count(); ++i)
+ {
+ if (dn == m_ui.driverGraphComboBox->itemText(i).toLower())
+ {
+ m_ui.driverGraphComboBox->setCurrentIndex(i);
+ return;
+ }
+ }
+}
+
+} /* namespace NLQT */
\ No newline at end of file
diff --git a/code/nel/tools/3d/object_viewer_qt/src/plugins/object_viewer/graphics_settings_page.h b/code/nel/tools/3d/object_viewer_qt/src/plugins/object_viewer/graphics_settings_page.h
new file mode 100644
index 000000000..2eeadb3b0
--- /dev/null
+++ b/code/nel/tools/3d/object_viewer_qt/src/plugins/object_viewer/graphics_settings_page.h
@@ -0,0 +1,66 @@
+// Object Viewer Qt - MMORPG Framework
+// Copyright (C) 2010 Winch Gate Property Limited
+// Copyright (C) 2011 Dzmitry Kamiahin
+//
+// 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 .
+
+
+#ifndef GRAPHICS_SETTINGS_PAGE_H
+#define GRAPHICS_SETTINGS_PAGE_H
+
+#include "ui_graphics_settings_page.h"
+#include "../core/ioptions_page.h"
+
+#include
+
+#include
+
+class QWidget;
+
+namespace NLQT
+{
+/**
+@class GraphicsSettingsPage
+*/
+class GraphicsSettingsPage : public Core::IOptionsPage
+{
+ Q_OBJECT
+public:
+ GraphicsSettingsPage(QObject *parent = 0);
+ virtual ~GraphicsSettingsPage() {}
+
+ virtual QString id() const;
+ virtual QString trName() const;
+ virtual QString category() const;
+ virtual QString trCategory() const;
+ virtual QWidget *createPage(QWidget *parent);
+
+ virtual void apply();
+ virtual void finish();
+
+private Q_SLOTS:
+ void setEnableBloom(bool state);
+ void setEnableSquareBloon(bool state);
+ void setDensityBloom(int density);
+
+private:
+ void cfcbGraphicsDrivers(NLMISC::CConfigFile::CVar &var);
+
+ QWidget *m_page;
+ Ui::GraphicsSettingsPage m_ui;
+};
+
+} // namespace NLQT
+
+#endif // GRAPHICS_SETTINGS_H
diff --git a/code/nel/tools/3d/object_viewer_qt/src/plugins/object_viewer/graphics_settings_page.ui b/code/nel/tools/3d/object_viewer_qt/src/plugins/object_viewer/graphics_settings_page.ui
new file mode 100644
index 000000000..b804b36c8
--- /dev/null
+++ b/code/nel/tools/3d/object_viewer_qt/src/plugins/object_viewer/graphics_settings_page.ui
@@ -0,0 +1,181 @@
+
+
+ GraphicsSettingsPage
+
+
+
+ 0
+ 0
+ 540
+ 326
+
+
+
+ Form
+
+
+
+ 6
+
+
+ 6
+
+
+ 6
+
+
+ 0
+
+
+ 3
+
+ -
+
+
+ Qt::Vertical
+
+
+
+ 20
+ 283
+
+
+
+
+ -
+
+
+ Qt Style
+
+
+
-
+
+
-
+
+
+ Style
+
+
+
+ -
+
+
+ Qt::Horizontal
+
+
+
+ 40
+ 20
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+ Use style's standard palette
+
+
+
+
+
+
+ -
+
+
+ Graphics settings
+
+
+
-
+
+
-
+
+
+ Driver
+
+
+
+ -
+
+
+ Qt::Horizontal
+
+
+
+ 40
+ 20
+
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+
+
+
+
+
+
+ -
+
+
+ Bloom effect
+
+
+
-
+
+
-
+
+
+ Bloom density
+
+
+
+ -
+
+
+ 255
+
+
+ Qt::Horizontal
+
+
+
+
+
+ -
+
+
+ Square bloom
+
+
+
+ -
+
+
+ Enable bloom effect
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/code/nel/tools/3d/object_viewer_qt/src/plugins/object_viewer/main_window.cpp b/code/nel/tools/3d/object_viewer_qt/src/plugins/object_viewer/main_window.cpp
index f3328aeb7..498ef215a 100644
--- a/code/nel/tools/3d/object_viewer_qt/src/plugins/object_viewer/main_window.cpp
+++ b/code/nel/tools/3d/object_viewer_qt/src/plugins/object_viewer/main_window.cpp
@@ -32,7 +32,6 @@
// Project includes
#include "modules.h"
-#include "settings_dialog.h"
#include "graphics_viewport.h"
#include "animation_dialog.h"
#include "animation_set_dialog.h"
@@ -120,8 +119,9 @@ CMainWindow::CMainWindow(QWidget *parent)
_statusBarTimer = new QTimer(this);
connect(_statusBarTimer, SIGNAL(timeout()), this, SLOT(updateStatusBar()));
- //_statusInfo = new QLabel(this);
- // statusBar()->addPermanentWidget(_statusInfo);
+ _statusInfo = new QLabel(this);
+ _statusInfo->hide();
+ Core::ICore::instance()->mainWindow()->statusBar()->addPermanentWidget(_statusInfo);
}
CMainWindow::~CMainWindow()
@@ -159,24 +159,23 @@ CMainWindow::~CMainWindow()
void CMainWindow::showEvent(QShowEvent *showEvent)
{
- QWidget::showEvent(showEvent);
- if (isVisible())
- {
- QMainWindow::setVisible(true);
- Modules::objView().getDriver()->activate();
- if (_isSoundInitialized)
- Modules::sound().initGraphics();
- _mainTimer->start();
- //_statusBarTimer->start(1000);
- }
- else
- {
- _mainTimer->stop();
- //_statusBarTimer->stop();
- if (_isSoundInitialized)
- Modules::sound().releaseGraphics();
- QMainWindow::setVisible(false);
- }
+ QMainWindow::showEvent(showEvent);
+ Modules::objView().getDriver()->activate();
+ if (_isSoundInitialized)
+ Modules::sound().initGraphics();
+ _mainTimer->start();
+ _statusBarTimer->start(1000);
+ _statusInfo->show();
+}
+
+void CMainWindow::hideEvent(QHideEvent *hideEvent)
+{
+ _mainTimer->stop();
+ _statusBarTimer->stop();
+ _statusInfo->hide();
+ if (_isSoundInitialized)
+ Modules::sound().releaseGraphics();
+ QMainWindow::hideEvent(hideEvent);
}
int CMainWindow::getFrameRate()
@@ -232,23 +231,16 @@ void CMainWindow::setInterval(int value)
_mainTimer->setInterval(value);
}
-void CMainWindow::settings()
-{
- CSettingsDialog _settingsDialog(this);
- _settingsDialog.show();
- _settingsDialog.exec();
-}
-
void CMainWindow::updateStatusBar()
{
- /* if (_isGraphicsInitialized)
- {
- _statusInfo->setText(QString("%1, Nb tri: %2 , Texture used (Mb): %3 , fps: %4 ").arg(
- Modules::objView().getDriver()->getVideocardInformation()).arg(
- _numTri).arg(
- _texMem, 0,'f',4).arg(
- _fps, 0,'f',2));
- }*/
+ if (_isGraphicsInitialized)
+ {
+ _statusInfo->setText(QString("%1, Nb tri: %2 , Texture used (Mb): %3 , fps: %4 ").arg(
+ Modules::objView().getDriver()->getVideocardInformation()).arg(
+ _numTri).arg(
+ _texMem, 0,'f',4).arg(
+ _fps, 0,'f',2));
+ }
}
void CMainWindow::createActions()
@@ -275,11 +267,6 @@ void CMainWindow::createActions()
_saveScreenshotAction = _GraphicsViewport->createSaveScreenshotAction(this);
_saveScreenshotAction->setText(tr("Save &Screenshot"));
_saveScreenshotAction->setStatusTip(tr("Make a screenshot of the current viewport and save"));
-
- _settingsAction = new QAction(tr("&Settings OV"), this);
- _settingsAction->setIcon(QIcon(":/images/preferences.png"));
- _settingsAction->setStatusTip(tr("Settings"));
- connect(_settingsAction, SIGNAL(triggered()), this, SLOT(settings()));
}
void CMainWindow::createMenus()
@@ -359,7 +346,6 @@ void CMainWindow::createMenus()
connect(_ParticleControlDialog->toggleViewAction(), SIGNAL(triggered(bool)),
_ParticleWorkspaceDialog->_PropertyDialog, SLOT(setVisible(bool)));
- ovMenu->insertAction(settingsAction ,_settingsAction);
toolsMenu->insertSeparator(settingsAction);
}
diff --git a/code/nel/tools/3d/object_viewer_qt/src/plugins/object_viewer/main_window.h b/code/nel/tools/3d/object_viewer_qt/src/plugins/object_viewer/main_window.h
index b07e764fa..3a6411df2 100644
--- a/code/nel/tools/3d/object_viewer_qt/src/plugins/object_viewer/main_window.h
+++ b/code/nel/tools/3d/object_viewer_qt/src/plugins/object_viewer/main_window.h
@@ -80,13 +80,13 @@ private Q_SLOTS:
void open();
void resetScene();
void reloadTextures();
- void settings();
void updateStatusBar();
void updateRender();
void setInterval(int value);
protected:
virtual void showEvent(QShowEvent *showEvent);
+ virtual void hideEvent(QHideEvent *hideEvent);
private:
void createActions();
@@ -138,7 +138,6 @@ private:
QAction *_reloadTexturesAction;
QAction *_resetSceneAction;
QAction *_saveScreenshotAction;
- QAction *_settingsAction;
QLabel *_statusInfo;
float _fps;
diff --git a/code/nel/tools/3d/object_viewer_qt/src/plugins/object_viewer/object_viewer_plugin.cpp b/code/nel/tools/3d/object_viewer_qt/src/plugins/object_viewer/object_viewer_plugin.cpp
index 3caa64e5a..d782a986c 100644
--- a/code/nel/tools/3d/object_viewer_qt/src/plugins/object_viewer/object_viewer_plugin.cpp
+++ b/code/nel/tools/3d/object_viewer_qt/src/plugins/object_viewer/object_viewer_plugin.cpp
@@ -1,5 +1,8 @@
// Project includes
#include "object_viewer_plugin.h"
+#include "graphics_settings_page.h"
+#include "sound_settings_page.h"
+#include "vegetable_settings_page.h"
#include "modules.h"
#include "../core/core_constants.h"
@@ -28,6 +31,9 @@ bool ObjectViewerPlugin::initialize(ExtensionSystem::IPluginManager *pluginManag
_plugMan = pluginManager;
Modules::init();
addAutoReleasedObject(new CObjectViewerContext());
+ addAutoReleasedObject(new GraphicsSettingsPage());
+ addAutoReleasedObject(new SoundSettingsPage());
+ addAutoReleasedObject(new VegetableSettingsPage());
return true;
}
diff --git a/code/nel/tools/3d/object_viewer_qt/src/plugins/object_viewer/settings_dialog.cpp b/code/nel/tools/3d/object_viewer_qt/src/plugins/object_viewer/settings_dialog.cpp
deleted file mode 100644
index 17a63387c..000000000
--- a/code/nel/tools/3d/object_viewer_qt/src/plugins/object_viewer/settings_dialog.cpp
+++ /dev/null
@@ -1,309 +0,0 @@
-/*
- Object Viewer Qt
- Copyright (C) 2010 Dzmitry Kamiahin
-
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU 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 General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see .
-
-*/
-
-#include "stdpch.h"
-#include "settings_dialog.h"
-
-// Qt includes
-#include
-#include
-#include
-#include
-#include
-
-// NeL includes
-#include
-#include
-
-// Project includes
-#include "modules.h"
-
-using namespace NLMISC;
-
-namespace NLQT
-{
-
-CSettingsDialog::CSettingsDialog(QWidget *parent)
- : QDialog(parent)
-{
- ui.setupUi(this);
-
- loadGraphicsSettings();
- loadSoundSettings();
- loadVegetableSettings();
-
- connect(ui.buttonBox, SIGNAL(accepted()), this, SLOT(applyPressed()));
-
- connect(ui.enableBloomCheckBox, SIGNAL(toggled(bool)), this, SLOT(setEnableBloom(bool)));
- connect(ui.squareBloomCheckBox, SIGNAL(toggled(bool)), this, SLOT(setEnableSquareBloon(bool)));
- connect(ui.bloomDensityHorizontalSlider, SIGNAL(valueChanged(int)), this, SLOT(setDensityBloom(int)));
-
- connect(ui.tileBankToolButton, SIGNAL(clicked()), this, SLOT(setTileBank()));
- connect(ui.tileFarBankToolButton, SIGNAL(clicked()), this, SLOT(setTileFarBank()));
- connect(ui.vegetTexToolButton, SIGNAL(clicked()), this, SLOT(setTextureVegetable()));
- connect(ui.addZoneToolButton, SIGNAL(clicked()), this, SLOT(addZone()));
- connect(ui.removeZoneToolButton, SIGNAL(clicked()), this, SLOT(removeZone()));
-
-#ifdef NL_OS_UNIX
- ui.driverGraphComboBox->setEnabled(false);
-#endif
-
-}
-
-CSettingsDialog::~CSettingsDialog()
-{
- Modules::config().dropCallback("GraphicsDrivers");
- Modules::config().dropCallback("SoundDrivers");
-}
-
-void CSettingsDialog::applyPressed()
-{
-
- // settings take after restart the program
- QMessageBox::warning(this, tr("Settings"),
- tr("Graphics and sound settings "
- "take after restart the program"),
- QMessageBox::Ok);
-
- saveGraphicsSettings();
- saveSoundSettings();
- saveVegetableSettings();
-
- // save config file
- Modules::config().getConfigFile().save();
-}
-
-void CSettingsDialog::setTileBank()
-{
- QString fileName = QFileDialog::getOpenFileName(this, tr("Set new tile bank"),
- ui.tileBankLineEdit->text(),
- tr("Tile Bank file (*.smallbank *.bank);;"));
- if (!fileName.isEmpty())
- {
- ui.tileBankLineEdit->setText(fileName);
- }
-}
-
-void CSettingsDialog::setTileFarBank()
-{
- QString fileName = QFileDialog::getOpenFileName(this, tr("Set new tile far bank"),
- ui.tileFarBankLineEdit->text(),
- tr("Tile Far Bank file (*.farbank);;"));
- if (!fileName.isEmpty())
- {
- ui.tileFarBankLineEdit->setText(fileName);
- }
-}
-
-void CSettingsDialog::setTextureVegetable()
-{
- QString fileName = QFileDialog::getOpenFileName(this, tr("Set MicroVegetable texture"),
- ui.vegetTextureLineEdit->text(),
- tr("Texture file (*.tga *.png *.jpg *.dds);;"));
- if (!fileName.isEmpty())
- {
- ui.vegetTextureLineEdit->setText(fileName);
- }
-}
-
-void CSettingsDialog::addZone()
-{
- QStringList fileNames = QFileDialog::getOpenFileNames(this,
- tr("Add zone files"), ".",
- tr("Zonel files (*.zonel *.zone);;"));
-
- if (!fileNames.isEmpty())
- {
- QStringList list = fileNames;
- QStringList::Iterator it = list.begin();
- while(it != list.end())
- {
- QListWidgetItem *newItem = new QListWidgetItem;
- newItem->setText(*it);
- newItem->setFlags(Qt::ItemIsEditable | Qt::ItemIsEnabled | Qt::ItemIsSelectable);
- ui.zonesListWidget->addItem(newItem);
- ++it;
- }
- }
-}
-
-void CSettingsDialog::removeZone()
-{
- QListWidgetItem *removeItem = ui.zonesListWidget->takeItem(ui.zonesListWidget->currentRow());
- if (!removeItem) delete removeItem;
-}
-
-void CSettingsDialog::setEnableBloom(bool state)
-{
- Modules::objView().setBloomEffect(state);
-}
-
-void CSettingsDialog::setEnableSquareBloon(bool state)
-{
- NL3D::CBloomEffect::instance().setSquareBloom(state);
-}
-
-void CSettingsDialog::setDensityBloom(int density)
-{
- NL3D::CBloomEffect::instance().setDensityBloom(density);
-}
-
-void CSettingsDialog::cfcbGraphicsDrivers(NLMISC::CConfigFile::CVar &var)
-{
- while (ui.driverGraphComboBox->count())
- ui.driverGraphComboBox->removeItem(0);
-
- // load types graphics driver from the config file
- for (uint i = 0; i < var.size(); ++i)
- ui.driverGraphComboBox->addItem(var.asString(i).c_str());
-
- // set graphics driver from the config file
- QString value = Modules::config().getValue("GraphicsDriver",std::string("OpenGL")).c_str();
- QString dn = value.toLower();
- for (sint i = 0; i < ui.driverGraphComboBox->count(); ++i)
- {
- if (dn == ui.driverGraphComboBox->itemText(i).toLower())
- {
- ui.driverGraphComboBox->setCurrentIndex(i);
- return;
- }
- }
-}
-
-void CSettingsDialog::cfcbSoundDrivers(NLMISC::CConfigFile::CVar& var)
-{
- while (ui.driverSndComboBox->count())
- ui.driverSndComboBox->removeItem(0);
-
- // load types sound driver from the config file
- for (uint i = 0; i < var.size(); ++i)
- ui.driverSndComboBox->addItem(var.asString(i).c_str());
-
- // set sound driver from the config file
- QString value = Modules::config().getValue("SoundDriver",std::string("Auto")).c_str();
- QString dn = value.toLower();
- for (sint i = 0; i < ui.driverSndComboBox->count(); ++i)
- {
- if (dn == ui.driverSndComboBox->itemText(i).toLower())
- {
- ui.driverSndComboBox->setCurrentIndex(i);
- return;
- }
- }
-}
-
-void CSettingsDialog::loadGraphicsSettings()
-{
- // setup config file callbacks and initialize values
- Modules::config().setAndCallback("GraphicsDrivers", CConfigCallback(this, &CSettingsDialog::cfcbGraphicsDrivers));
-
- ui.enableBloomCheckBox->setChecked(Modules::objView().getBloomEffect());
- ui.squareBloomCheckBox->setChecked(NL3D::CBloomEffect::instance().getSquareBloom());
- ui.bloomDensityHorizontalSlider->setValue(NL3D::CBloomEffect::instance().getDensityBloom());
-
- ui.styleComboBox->addItems(QStyleFactory::keys());
-
- ui.styleComboBox->setCurrentIndex(ui.styleComboBox->findText(Modules::config().getValue("QtStyle", std::string("")).c_str()));
-
- ui.paletteCheckBox->setChecked(Modules::config().getValue("QtPalette", false));
-}
-
-void CSettingsDialog::loadSoundSettings()
-{
- // setup config file callbacks and initialize values
- Modules::config().setAndCallback("SoundDrivers", CConfigCallback(this, &CSettingsDialog::cfcbSoundDrivers));
-
- // load settings from the config file
- ui.autoLoadSampleCheckBox->setChecked(Modules::config().getValue("SoundAutoLoadSample", true));
- ui.enableOccludeObstructCheckBox->setChecked(Modules::config().getValue("SoundEnableOccludeObstruct", true));
- ui.enableReverbCheckBox->setChecked(Modules::config().getValue("SoundEnableReverb", true));
- ui.manualRolloffCheckBox->setChecked(Modules::config().getValue("SoundManualRolloff", true));
- ui.forceSoftwareCheckBox->setChecked(Modules::config().getValue("SoundForceSoftware", false));
- ui.useADPCMCheckBox->setChecked(Modules::config().getValue("SoundUseADPCM", false));
- ui.maxTrackSpinBox->setValue(Modules::config().getValue("SoundMaxTrack", 48));
-}
-
-void CSettingsDialog::loadVegetableSettings()
-{
- ui.tileBankLineEdit->setText(Modules::config().getConfigFile().getVar("VegetTileBank").asString().c_str());
- ui.tileFarBankLineEdit->setText(Modules::config().getConfigFile().getVar("VegetTileFarBank").asString().c_str());
- ui.vegetTextureLineEdit->setText(Modules::config().getConfigFile().getVar("VegetTexture").asString().c_str());
-
- ui.zonesListWidget->clear();
-
- // load vegetable landscape zone paths from config file
- NLMISC::CConfigFile::CVar &var = Modules::config().getConfigFile().getVar("VegetLandscapeZones");
- for (uint i = 0; i < var.size(); ++i)
- {
- ui.zonesListWidget->addItem(var.asString(i).c_str());
- ui.zonesListWidget->item(i)->setFlags(Qt::ItemIsEditable | Qt::ItemIsEnabled | Qt::ItemIsSelectable);
- }
-}
-
-void CSettingsDialog::saveGraphicsSettings()
-{
- // save graphics settings to config file
- Modules::config().getConfigFile().getVar("GraphicsDriver").setAsString(ui.driverGraphComboBox->currentText().toStdString());
-
- Modules::config().getConfigFile().getVar("BloomEffect").setAsInt(ui.enableBloomCheckBox->isChecked());
- Modules::config().getConfigFile().getVar("BloomSquare").setAsInt(ui.squareBloomCheckBox->isChecked());
- Modules::config().getConfigFile().getVar("BloomDensity").setAsInt(ui.bloomDensityHorizontalSlider->value());
-
- Modules::config().getConfigFile().getVar("QtStyle").setAsString(ui.styleComboBox->currentText().toStdString());
- Modules::config().getConfigFile().getVar("QtPalette").setAsInt(ui.paletteCheckBox->isChecked());
-
- QApplication::setStyle(QStyleFactory::create(ui.styleComboBox->currentText()));
-
- if (ui.paletteCheckBox->isChecked())
- QApplication::setPalette(QApplication::style()->standardPalette());
- else
- QApplication::setPalette(Modules::mainWin().getOriginalPalette());
-}
-
-void CSettingsDialog::saveSoundSettings()
-{
- // save sound settings to config file
- Modules::config().getConfigFile().getVar("SoundDriver").setAsString(ui.driverSndComboBox->currentText().toStdString());
- Modules::config().getConfigFile().getVar("SoundAutoLoadSample").setAsInt(ui.autoLoadSampleCheckBox->isChecked());
- Modules::config().getConfigFile().getVar("SoundEnableOccludeObstruct").setAsInt(ui.enableOccludeObstructCheckBox->isChecked());
- Modules::config().getConfigFile().getVar("SoundEnableReverb").setAsInt(ui.enableReverbCheckBox->isChecked());
- Modules::config().getConfigFile().getVar("SoundManualRolloff").setAsInt(ui.manualRolloffCheckBox->isChecked());
- Modules::config().getConfigFile().getVar("SoundForceSoftware").setAsInt(ui.forceSoftwareCheckBox->isChecked());
- Modules::config().getConfigFile().getVar("SoundUseADPCM").setAsInt(ui.useADPCMCheckBox->isChecked());
- Modules::config().getConfigFile().getVar("SoundMaxTrack").setAsInt(ui.maxTrackSpinBox->value());
-}
-
-void CSettingsDialog::saveVegetableSettings()
-{
- Modules::config().getConfigFile().getVar("VegetTileBank").setAsString(ui.tileBankLineEdit->text().toStdString());
- Modules::config().getConfigFile().getVar("VegetTileFarBank").setAsString(ui.tileFarBankLineEdit->text().toStdString());
- Modules::config().getConfigFile().getVar("VegetTexture").setAsString(ui.vegetTextureLineEdit->text().toStdString());
-
- std::vector list;
- for (sint i = 0; i < ui.zonesListWidget->count(); ++i)
- {
- std::string str = ui.zonesListWidget->item(i)->text().toStdString();
- list.push_back(str);
- }
-
- Modules::config().getConfigFile().getVar("VegetLandscapeZones").Type = NLMISC::CConfigFile::CVar::T_STRING;
- Modules::config().getConfigFile().getVar("VegetLandscapeZones").setAsString(list);
-}
-
-} /* namespace NLQT */
\ No newline at end of file
diff --git a/code/nel/tools/3d/object_viewer_qt/src/plugins/object_viewer/settings_dialog.h b/code/nel/tools/3d/object_viewer_qt/src/plugins/object_viewer/settings_dialog.h
deleted file mode 100644
index b84236f53..000000000
--- a/code/nel/tools/3d/object_viewer_qt/src/plugins/object_viewer/settings_dialog.h
+++ /dev/null
@@ -1,78 +0,0 @@
-/*
- Object Viewer Qt
- Copyright (C) 2010 Dzmitry Kamiahin
-
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU 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 General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see .
-
-*/
-
-#ifndef SETTINGS_DIALOG_H
-#define SETTINGS_DIALOG_H
-
-#include
-#include "ui_settings_form.h"
-
-// STL includes
-
-// NeL includes
-#include
-
-// Project includes
-
-namespace NLQT
-{
-
-/**
-@class CSettingsDialog
-@brief Settings dialog (graphics/sound/search path/vegetable).
-*/
-class CSettingsDialog: public QDialog
-{
- Q_OBJECT
-
-public:
- CSettingsDialog(QWidget *parent = 0);
- ~CSettingsDialog();
-
-private Q_SLOTS:
- void applyPressed();
-
- void setTileBank();
- void setTileFarBank();
- void setTextureVegetable();
- void addZone();
- void removeZone();
-
- void setEnableBloom(bool state);
- void setEnableSquareBloon(bool state);
- void setDensityBloom(int density);
-
-private:
- void cfcbGraphicsDrivers(NLMISC::CConfigFile::CVar &var);
- void cfcbSoundDrivers(NLMISC::CConfigFile::CVar &var);
-
- void loadGraphicsSettings();
- void loadSoundSettings();
- void loadVegetableSettings();
- void saveGraphicsSettings();
- void saveSoundSettings();
- void saveVegetableSettings();
-
- Ui::CSettingsDialog ui;
-
-}; /* class CSettingsDialog */
-
-} /* namespace NLQT */
-
-#endif // SETTINGS_DIALOG_H
diff --git a/code/nel/tools/3d/object_viewer_qt/src/plugins/object_viewer/settings_form.ui b/code/nel/tools/3d/object_viewer_qt/src/plugins/object_viewer/settings_form.ui
deleted file mode 100644
index f871c28d5..000000000
--- a/code/nel/tools/3d/object_viewer_qt/src/plugins/object_viewer/settings_form.ui
+++ /dev/null
@@ -1,617 +0,0 @@
-
-
- CSettingsDialog
-
-
- Qt::NonModal
-
-
-
- 0
- 0
- 684
- 557
-
-
-
- Settings
-
-
-
- :/images/preferences.png:/images/preferences.png
-
-
- true
-
-
- -
-
-
-
- 0
- 0
-
-
-
-
- 120
- 16777215
-
-
-
-
-
- Graphics
-
-
- -
-
- Sound
-
-
- -
-
- Vegetable
-
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
- QFrame::NoFrame
-
-
- QFrame::Plain
-
-
- 0
-
-
-
-
-
-
-
- Graphics settings
-
-
-
-
-
-
-
-
-
- Driver
-
-
-
- -
-
-
- Qt::Horizontal
-
-
-
- 40
- 20
-
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
-
-
-
-
-
-
- -
-
-
- Bloom effect
-
-
-
-
-
-
-
-
-
- Bloom density
-
-
-
- -
-
-
- 255
-
-
- Qt::Horizontal
-
-
-
-
-
- -
-
-
- Square bloom
-
-
-
- -
-
-
- Enable bloom effect
-
-
-
-
-
-
- -
-
-
- Qt Style
-
-
-
-
-
-
-
-
-
- Style
-
-
-
- -
-
-
- Qt::Horizontal
-
-
-
- 40
- 20
-
-
-
-
- -
-
-
-
-
- -
-
-
- Use style's standard palette
-
-
-
-
-
-
- -
-
-
- Qt::Vertical
-
-
-
- 20
- 283
-
-
-
-
-
-
-
-
- -
-
-
- Sound settings
-
-
-
-
-
-
-
-
-
-
-
-
- Driver
-
-
-
- -
-
-
- Qt::Horizontal
-
-
-
- 40
- 20
-
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
-
-
-
- -
-
-
- SoundAutoLoadSample
-
-
-
- -
-
-
- SoundEnableOccludeObstruct
-
-
-
- -
-
-
- SoundEnableReverb
-
-
-
- -
-
-
- SoundManualRolloff
-
-
-
- -
-
-
- SoundForceSoftware
-
-
-
- -
-
-
- SoundUseADPCM
-
-
-
- -
-
-
-
-
-
- SoundMaxTrack
-
-
-
- -
-
-
- Qt::Horizontal
-
-
-
- 40
- 20
-
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
- Qt::Vertical
-
-
-
- 20
- 89
-
-
-
-
-
-
-
-
- -
-
-
- Setup Landscape
-
-
-
-
-
-
- Tile bank:
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
-
- -
-
-
- ...
-
-
-
- -
-
-
- Tile far bank:
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
-
- -
-
-
- ...
-
-
-
- -
-
-
- Vegetable texture:
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
-
- -
-
-
- ...
-
-
-
- -
-
-
- Landscape zones:
-
-
-
- -
-
-
- Qt::Horizontal
-
-
- QSizePolicy::Expanding
-
-
-
- 118
- 20
-
-
-
-
- -
-
-
- QLayout::SetMinimumSize
-
-
-
-
-
-
- 0
- 0
-
-
-
- ...
-
-
-
- :/images/list-add.png:/images/list-add.png
-
-
-
- 16
- 16
-
-
-
-
- -
-
-
- ...
-
-
-
- :/images/list-remove.png:/images/list-remove.png
-
-
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
- Qt::Horizontal
-
-
-
- -
-
-
- Qt::Horizontal
-
-
- QDialogButtonBox::Cancel|QDialogButtonBox::Ok
-
-
-
-
-
-
- listWidget
- driverGraphComboBox
- driverSndComboBox
- autoLoadSampleCheckBox
- enableOccludeObstructCheckBox
- enableReverbCheckBox
- manualRolloffCheckBox
- forceSoftwareCheckBox
- useADPCMCheckBox
- maxTrackSpinBox
- buttonBox
-
-
-
-
-
-
- buttonBox
- accepted()
- CSettingsDialog
- accept()
-
-
- 222
- 385
-
-
- 157
- 274
-
-
-
-
- buttonBox
- rejected()
- CSettingsDialog
- reject()
-
-
- 290
- 391
-
-
- 286
- 274
-
-
-
-
- listWidget
- currentRowChanged(int)
- stackedWidget
- setCurrentIndex(int)
-
-
- 69
- 96
-
-
- 226
- 360
-
-
-
-
-
diff --git a/code/nel/tools/3d/object_viewer_qt/src/plugins/object_viewer/sound_settings_page.cpp b/code/nel/tools/3d/object_viewer_qt/src/plugins/object_viewer/sound_settings_page.cpp
new file mode 100644
index 000000000..f04e38d55
--- /dev/null
+++ b/code/nel/tools/3d/object_viewer_qt/src/plugins/object_viewer/sound_settings_page.cpp
@@ -0,0 +1,119 @@
+// Object Viewer Qt - MMORPG Framework
+// Copyright (C) 2010 Winch Gate Property Limited
+// Copyright (C) 2011 Dzmitry Kamiahin
+//
+// 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 .
+
+// Project includes
+#include "stdpch.h"
+#include "sound_settings_page.h"
+#include "modules.h"
+
+// Qt includes
+#include
+
+
+namespace NLQT
+{
+
+SoundSettingsPage::SoundSettingsPage(QObject *parent)
+ : IOptionsPage(parent),
+ m_page(0)
+{
+}
+
+QString SoundSettingsPage::id() const
+{
+ return QLatin1String("SoundPage");
+}
+
+QString SoundSettingsPage::trName() const
+{
+ return tr("Sound");
+}
+
+QString SoundSettingsPage::category() const
+{
+ return QLatin1String("ObjectViewer");
+}
+
+QString SoundSettingsPage::trCategory() const
+{
+ return tr("Object Viewer");
+}
+
+QWidget *SoundSettingsPage::createPage(QWidget *parent)
+{
+ m_page = new QWidget(parent);
+ m_ui.setupUi(m_page);
+
+ // setup config file callbacks and initialize values
+ Modules::config().setAndCallback("SoundDrivers", CConfigCallback(this, &SoundSettingsPage::cfcbSoundDrivers));
+
+ // load settings from the config file
+ m_ui.autoLoadSampleCheckBox->setChecked(Modules::config().getValue("SoundAutoLoadSample", true));
+ m_ui.enableOccludeObstructCheckBox->setChecked(Modules::config().getValue("SoundEnableOccludeObstruct", true));
+ m_ui.enableReverbCheckBox->setChecked(Modules::config().getValue("SoundEnableReverb", true));
+ m_ui.manualRolloffCheckBox->setChecked(Modules::config().getValue("SoundManualRolloff", true));
+ m_ui.forceSoftwareCheckBox->setChecked(Modules::config().getValue("SoundForceSoftware", false));
+ m_ui.useADPCMCheckBox->setChecked(Modules::config().getValue("SoundUseADPCM", false));
+ m_ui.maxTrackSpinBox->setValue(Modules::config().getValue("SoundMaxTrack", 48));
+
+ return m_page;
+}
+
+void SoundSettingsPage::apply()
+{
+ // save sound settings to config file
+ Modules::config().getConfigFile().getVar("SoundDriver").setAsString(m_ui.driverSndComboBox->currentText().toStdString());
+ Modules::config().getConfigFile().getVar("SoundAutoLoadSample").setAsInt(m_ui.autoLoadSampleCheckBox->isChecked());
+ Modules::config().getConfigFile().getVar("SoundEnableOccludeObstruct").setAsInt(m_ui.enableOccludeObstructCheckBox->isChecked());
+ Modules::config().getConfigFile().getVar("SoundEnableReverb").setAsInt(m_ui.enableReverbCheckBox->isChecked());
+ Modules::config().getConfigFile().getVar("SoundManualRolloff").setAsInt(m_ui.manualRolloffCheckBox->isChecked());
+ Modules::config().getConfigFile().getVar("SoundForceSoftware").setAsInt(m_ui.forceSoftwareCheckBox->isChecked());
+ Modules::config().getConfigFile().getVar("SoundUseADPCM").setAsInt(m_ui.useADPCMCheckBox->isChecked());
+ Modules::config().getConfigFile().getVar("SoundMaxTrack").setAsInt(m_ui.maxTrackSpinBox->value());
+
+ // save config file
+ Modules::config().getConfigFile().save();
+}
+
+void SoundSettingsPage::finish()
+{
+ Modules::config().dropCallback("SoundDrivers");
+}
+
+void SoundSettingsPage::cfcbSoundDrivers(NLMISC::CConfigFile::CVar& var)
+{
+ while (m_ui.driverSndComboBox->count())
+ m_ui.driverSndComboBox->removeItem(0);
+
+ // load types sound driver from the config file
+ for (uint i = 0; i < var.size(); ++i)
+ m_ui.driverSndComboBox->addItem(var.asString(i).c_str());
+
+ // set sound driver from the config file
+ QString value = Modules::config().getValue("SoundDriver",std::string("Auto")).c_str();
+ QString dn = value.toLower();
+ for (sint i = 0; i < m_ui.driverSndComboBox->count(); ++i)
+ {
+ if (dn == m_ui.driverSndComboBox->itemText(i).toLower())
+ {
+ m_ui.driverSndComboBox->setCurrentIndex(i);
+ return;
+ }
+ }
+}
+
+} /* namespace NLQT */
\ No newline at end of file
diff --git a/code/nel/tools/3d/object_viewer_qt/src/plugins/object_viewer/sound_settings_page.h b/code/nel/tools/3d/object_viewer_qt/src/plugins/object_viewer/sound_settings_page.h
new file mode 100644
index 000000000..33609f526
--- /dev/null
+++ b/code/nel/tools/3d/object_viewer_qt/src/plugins/object_viewer/sound_settings_page.h
@@ -0,0 +1,64 @@
+// Object Viewer Qt - MMORPG Framework
+// Copyright (C) 2010 Winch Gate Property Limited
+// Copyright (C) 2011 Dzmitry Kamiahin
+//
+// 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 .
+
+
+#ifndef SOUND_SETTINGS_PAGE_H
+#define SOUND_SETTINGS_PAGE_H
+
+// Project includes
+#include "../core/ioptions_page.h"
+#include "ui_sound_settings_page.h"
+
+// Qt includes
+#include
+
+// NeL includes
+#include
+
+class QWidget;
+
+namespace NLQT
+{
+/**
+@class SoundSettingsPage
+*/
+class SoundSettingsPage : public Core::IOptionsPage
+{
+ Q_OBJECT
+public:
+ SoundSettingsPage(QObject *parent = 0);
+ virtual ~SoundSettingsPage() {}
+
+ virtual QString id() const;
+ virtual QString trName() const;
+ virtual QString category() const;
+ virtual QString trCategory() const;
+ virtual QWidget *createPage(QWidget *parent);
+
+ virtual void apply();
+ virtual void finish();
+
+private:
+ void cfcbSoundDrivers(NLMISC::CConfigFile::CVar &var);
+
+ QWidget *m_page;
+ Ui::SoundSettingsPage m_ui;
+};
+
+} // namespace NLQT
+
+#endif // SOUND_SETTINGS_H
diff --git a/code/nel/tools/3d/object_viewer_qt/src/plugins/object_viewer/sound_settings_page.ui b/code/nel/tools/3d/object_viewer_qt/src/plugins/object_viewer/sound_settings_page.ui
new file mode 100644
index 000000000..f0bd74642
--- /dev/null
+++ b/code/nel/tools/3d/object_viewer_qt/src/plugins/object_viewer/sound_settings_page.ui
@@ -0,0 +1,161 @@
+
+
+ SoundSettingsPage
+
+
+
+ 0
+ 0
+ 326
+ 268
+
+
+
+ Form
+
+
+
+ 6
+
+
+ 3
+
+ -
+
+
-
+
+
+ Driver
+
+
+
+ -
+
+
+ Qt::Horizontal
+
+
+
+ 40
+ 20
+
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+
+
+
+ -
+
+
+ SoundAutoLoadSample
+
+
+
+ -
+
+
+ SoundEnableOccludeObstruct
+
+
+
+ -
+
+
+ SoundEnableReverb
+
+
+
+ -
+
+
+ SoundManualRolloff
+
+
+
+ -
+
+
+ SoundForceSoftware
+
+
+
+ -
+
+
+ SoundUseADPCM
+
+
+
+ -
+
+
-
+
+
+ SoundMaxTrack
+
+
+
+ -
+
+
+ Qt::Horizontal
+
+
+
+ 40
+ 20
+
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+ Qt::Vertical
+
+
+
+ 20
+ 83
+
+
+
+
+
+
+
+
+
+
+
diff --git a/code/nel/tools/3d/object_viewer_qt/src/plugins/object_viewer/vegetable_editor.cpp b/code/nel/tools/3d/object_viewer_qt/src/plugins/object_viewer/vegetable_editor.cpp
index 492bc101b..5f53b3b12 100644
--- a/code/nel/tools/3d/object_viewer_qt/src/plugins/object_viewer/vegetable_editor.cpp
+++ b/code/nel/tools/3d/object_viewer_qt/src/plugins/object_viewer/vegetable_editor.cpp
@@ -185,7 +185,7 @@ bool CVegetableEditor::createVegetableLandscape()
_VegetableLandscape->Landscape.setupVegetableLighting(_VegetableAmbient, _VegetableDiffuse, _VegetableLightDir);
_VegetableLandscape->Landscape.setVegetableWind(_VegetableWindDir, _VegetableWindFreq, _VegetableWindPower, _VegetableWindBendMin);
_VegetableLandscape->Landscape.setUpdateLightingFrequency(1);
-
+ _VegetableLandscape->enableAdditive(true);
// Load the zones.
// ================
// landscape recentering.
diff --git a/code/nel/tools/3d/object_viewer_qt/src/plugins/object_viewer/vegetable_settings_page.cpp b/code/nel/tools/3d/object_viewer_qt/src/plugins/object_viewer/vegetable_settings_page.cpp
new file mode 100644
index 000000000..6974da2fb
--- /dev/null
+++ b/code/nel/tools/3d/object_viewer_qt/src/plugins/object_viewer/vegetable_settings_page.cpp
@@ -0,0 +1,172 @@
+// Object Viewer Qt - MMORPG Framework
+// Copyright (C) 2010 Winch Gate Property Limited
+// Copyright (C) 2011 Dzmitry Kamiahin
+//
+// 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 .
+
+// Project includes
+#include "stdpch.h"
+#include "vegetable_settings_page.h"
+#include "modules.h"
+
+// Qt includes
+#include
+#include
+#include
+
+// NeL includes
+#include
+
+namespace NLQT
+{
+
+VegetableSettingsPage::VegetableSettingsPage(QObject *parent)
+ : IOptionsPage(parent),
+ m_page(0)
+{
+}
+
+QString VegetableSettingsPage::id() const
+{
+ return QLatin1String("VegetablePage");
+}
+
+QString VegetableSettingsPage::trName() const
+{
+ return tr("Vegetable");
+}
+
+QString VegetableSettingsPage::category() const
+{
+ return QLatin1String("ObjectViewer");
+}
+
+QString VegetableSettingsPage::trCategory() const
+{
+ return tr("Object Viewer");
+}
+
+QWidget *VegetableSettingsPage::createPage(QWidget *parent)
+{
+ m_page = new QWidget(parent);
+ m_ui.setupUi(m_page);
+
+ m_ui.tileBankLineEdit->setText(Modules::config().getConfigFile().getVar("VegetTileBank").asString().c_str());
+ m_ui.tileFarBankLineEdit->setText(Modules::config().getConfigFile().getVar("VegetTileFarBank").asString().c_str());
+ m_ui.vegetTextureLineEdit->setText(Modules::config().getConfigFile().getVar("VegetTexture").asString().c_str());
+
+ m_ui.zonesListWidget->clear();
+
+ // load vegetable landscape zone paths from config file
+ NLMISC::CConfigFile::CVar &var = Modules::config().getConfigFile().getVar("VegetLandscapeZones");
+ for (uint i = 0; i < var.size(); ++i)
+ {
+ m_ui.zonesListWidget->addItem(var.asString(i).c_str());
+ m_ui.zonesListWidget->item(i)->setFlags(Qt::ItemIsEditable | Qt::ItemIsEnabled | Qt::ItemIsSelectable);
+ }
+
+ connect(m_ui.tileBankToolButton, SIGNAL(clicked()), this, SLOT(setTileBank()));
+ connect(m_ui.tileFarBankToolButton, SIGNAL(clicked()), this, SLOT(setTileFarBank()));
+ connect(m_ui.vegetTexToolButton, SIGNAL(clicked()), this, SLOT(setTextureVegetable()));
+ connect(m_ui.addZoneToolButton, SIGNAL(clicked()), this, SLOT(addZone()));
+ connect(m_ui.removeZoneToolButton, SIGNAL(clicked()), this, SLOT(removeZone()));
+
+ return m_page;
+}
+
+void VegetableSettingsPage::apply()
+{
+ Modules::config().getConfigFile().getVar("VegetTileBank").setAsString(m_ui.tileBankLineEdit->text().toStdString());
+ Modules::config().getConfigFile().getVar("VegetTileFarBank").setAsString(m_ui.tileFarBankLineEdit->text().toStdString());
+ Modules::config().getConfigFile().getVar("VegetTexture").setAsString(m_ui.vegetTextureLineEdit->text().toStdString());
+
+ std::vector list;
+ for (sint i = 0; i < m_ui.zonesListWidget->count(); ++i)
+ {
+ std::string str = m_ui.zonesListWidget->item(i)->text().toStdString();
+ list.push_back(str);
+ }
+
+ Modules::config().getConfigFile().getVar("VegetLandscapeZones").Type = NLMISC::CConfigFile::CVar::T_STRING;
+ Modules::config().getConfigFile().getVar("VegetLandscapeZones").setAsString(list);
+
+ Modules::config().getConfigFile().save();
+}
+
+void VegetableSettingsPage::finish()
+{
+}
+
+void VegetableSettingsPage::setTileBank()
+{
+ QString fileName = QFileDialog::getOpenFileName(0, tr("Set new tile bank"),
+ m_ui.tileBankLineEdit->text(),
+ tr("Tile Bank file (*.smallbank *.bank);;"));
+ if (!fileName.isEmpty())
+ {
+ m_ui.tileBankLineEdit->setText(fileName);
+ }
+}
+
+void VegetableSettingsPage::setTileFarBank()
+{
+ QString fileName = QFileDialog::getOpenFileName(0, tr("Set new tile far bank"),
+ m_ui.tileFarBankLineEdit->text(),
+ tr("Tile Far Bank file (*.farbank);;"));
+ if (!fileName.isEmpty())
+ {
+ m_ui.tileFarBankLineEdit->setText(fileName);
+ }
+}
+
+void VegetableSettingsPage::setTextureVegetable()
+{
+ QString fileName = QFileDialog::getOpenFileName(0, tr("Set MicroVegetable texture"),
+ m_ui.vegetTextureLineEdit->text(),
+ tr("Texture file (*.tga *.png *.jpg *.dds);;"));
+ if (!fileName.isEmpty())
+ {
+ m_ui.vegetTextureLineEdit->setText(fileName);
+ }
+}
+
+void VegetableSettingsPage::addZone()
+{
+ QStringList fileNames = QFileDialog::getOpenFileNames(0,
+ tr("Add zone files"), ".",
+ tr("Zonel files (*.zonel *.zone);;"));
+
+ if (!fileNames.isEmpty())
+ {
+ QStringList list = fileNames;
+ QStringList::Iterator it = list.begin();
+ while(it != list.end())
+ {
+ QListWidgetItem *newItem = new QListWidgetItem;
+ newItem->setText(*it);
+ newItem->setFlags(Qt::ItemIsEditable | Qt::ItemIsEnabled | Qt::ItemIsSelectable);
+ m_ui.zonesListWidget->addItem(newItem);
+ ++it;
+ }
+ }
+}
+
+void VegetableSettingsPage::removeZone()
+{
+ QListWidgetItem *removeItem = m_ui.zonesListWidget->takeItem(m_ui.zonesListWidget->currentRow());
+ if (!removeItem)
+ delete removeItem;
+}
+
+} /* namespace NLQT */
\ No newline at end of file
diff --git a/code/nel/tools/3d/object_viewer_qt/src/plugins/object_viewer/vegetable_settings_page.h b/code/nel/tools/3d/object_viewer_qt/src/plugins/object_viewer/vegetable_settings_page.h
new file mode 100644
index 000000000..dd83127f9
--- /dev/null
+++ b/code/nel/tools/3d/object_viewer_qt/src/plugins/object_viewer/vegetable_settings_page.h
@@ -0,0 +1,65 @@
+// Object Viewer Qt - MMORPG Framework
+// Copyright (C) 2010 Winch Gate Property Limited
+// Copyright (C) 2011 Dzmitry Kamiahin
+//
+// 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 .
+
+
+#ifndef VEGETABLE_SETTINGS_PAGE_H
+#define VEGETABLE_SETTINGS_PAGE_H
+
+#include
+
+#include "../core/ioptions_page.h"
+
+#include "ui_vegetable_settings_page.h"
+
+class QWidget;
+
+namespace NLQT
+{
+/**
+@class VegetableSettingsPage
+*/
+class VegetableSettingsPage : public Core::IOptionsPage
+{
+ Q_OBJECT
+public:
+ VegetableSettingsPage(QObject *parent = 0);
+ virtual ~VegetableSettingsPage() {}
+
+ virtual QString id() const;
+ virtual QString trName() const;
+ virtual QString category() const;
+ virtual QString trCategory() const;
+ virtual QWidget *createPage(QWidget *parent);
+
+ virtual void apply();
+ virtual void finish();
+
+public Q_SLOTS:
+ void setTileBank();
+ void setTileFarBank();
+ void setTextureVegetable();
+ void addZone();
+ void removeZone();
+
+private:
+ QWidget *m_page;
+ Ui::VegetableSettingsPage m_ui;
+};
+
+} // namespace NLQT
+
+#endif // VEGETABLE_SETTINGS_H
diff --git a/code/nel/tools/3d/object_viewer_qt/src/plugins/object_viewer/vegetable_settings_page.ui b/code/nel/tools/3d/object_viewer_qt/src/plugins/object_viewer/vegetable_settings_page.ui
new file mode 100644
index 000000000..1502906ce
--- /dev/null
+++ b/code/nel/tools/3d/object_viewer_qt/src/plugins/object_viewer/vegetable_settings_page.ui
@@ -0,0 +1,203 @@
+
+
+ VegetableSettingsPage
+
+
+
+ 0
+ 0
+ 479
+ 309
+
+
+
+ Form
+
+
+
+ 6
+
+
+ 3
+
+ -
+
+
+ Tile bank:
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+
+ -
+
+
+ ...
+
+
+
+ -
+
+
+ Tile far bank:
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+
+ -
+
+
+ ...
+
+
+
+ -
+
+
+ Vegetable texture:
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+
+ -
+
+
+ ...
+
+
+
+ -
+
+
+ false
+
+
+ Coarse mesh texture
+
+
+
+ -
+
+
+ false
+
+
+
+ -
+
+
+ false
+
+
+ ...
+
+
+
+ -
+
+
+ Landscape zones:
+
+
+
+ -
+
+
+ Qt::Horizontal
+
+
+ QSizePolicy::Expanding
+
+
+
+ 303
+ 21
+
+
+
+
+ -
+
+
+ QLayout::SetMinimumSize
+
+
-
+
+
+
+ 0
+ 0
+
+
+
+ ...
+
+
+
+ :/images/list-add.png:/images/list-add.png
+
+
+
+ 16
+ 16
+
+
+
+
+ -
+
+
+ ...
+
+
+
+ :/images/list-remove.png:/images/list-remove.png
+
+
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/code/nel/tools/3d/object_viewer_qt/src/translations/object_viewer_qt_de.ts b/code/nel/tools/3d/object_viewer_qt/src/translations/object_viewer_qt_de.ts
index 228b54c8d..1684e0846 100644
--- a/code/nel/tools/3d/object_viewer_qt/src/translations/object_viewer_qt_de.ts
+++ b/code/nel/tools/3d/object_viewer_qt/src/translations/object_viewer_qt_de.ts
@@ -1,6 +1,79 @@
+
+ AnimEditWidget
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ AnimationControl
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Application
@@ -626,28 +699,35 @@
CExampleSettingsPage
+
+
+
+
+
+
+
@@ -1753,27 +1833,27 @@
-
+
-
+
-
+
-
+
-
+
@@ -1789,47 +1869,57 @@
CPluginSpec
-
+
-
+
-
+
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -1904,7 +1994,6 @@
CSettingsDialog
-
Einstellungen
@@ -1913,155 +2002,6 @@
-
-
-
- Video
-
-
-
-
- Audio
-
-
-
-
- Verzeichnisse
-
-
-
-
- Vegetation
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
CSetupFog
@@ -2284,52 +2224,47 @@
-
-
- Allgemein
-
-
-
+
-
+
Durchsuchen
-
+
-
+
-
+
-
+
-
+
-
+
-
+
@@ -3040,19 +2975,6 @@
Allgemein
-
- Core::CorePlugin
-
-
-
- Neue Einstellungen
-
-
-
-
- Über Plugins
-
-
Core::MainWindow
@@ -3061,107 +2983,112 @@
Object Viewer Qt
-
+
Über Object Viewer Qt
-
-
- <h2>Object Viewer Qt NG</h2><p> Autor: dnk-88 <p>Kompliert am %1 %2
+
+
+
-
+
&Öffnen...
-
+
Datei öffnen
-
+
B&eenden
-
+
Ctrl+Q
-
+
Object Viewer verlassen
-
+
Ein&stellungen
-
+
Öffnet das Konfigurationsmenü
-
+
&Über
-
+
Zeigt Informationen über den Object Viewer
-
+
Über &Qt
-
+
Zeigt Informationen über Qt
-
+
Über &Plugins
-
+
Zeigt Informationen über Plugins
-
+
&Datei
-
+
&Editieren
-
+
&Ansicht
-
+
&Werkzeuge
-
+
+
+
+
+
+
&Hilfe
-
+
Status Fertig
@@ -3231,26 +3158,181 @@ Right click to remove points.
- Dialog
+ ExtensionSystem::CPluginManager
-
-
+
+
-
-
- Durchsuchen
-
-
-
-
+
+
-
-
- Beenden
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ GraphicsSettingsPage
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ MixerEditWidget
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -3726,110 +3808,78 @@ Right click to remove points.
NLQT::CMainWindow
-
+
Öffne NeL Daten Dateien
-
+
Alle NeL Dateien (*.shape *.ps *.ig);;NeL shape (*.shape);;NeL Partikelsystem(*.ps)NeL Instanz Gruppen (*.ig)
-
+
Öffne Skelett Datei
-
+
NeL Skelet (*.skel)
-
-
- Über Object Viewer Qt
-
-
-
-
- <h2>Object Viewer Qt 8-)</h2><p> Autoren: dnk-88, sfb, Kaetemi, kervala <p>Kompiliert am %1 %2
-
-
-
+
&Öffnen...
-
+
Datei öffnen
-
+
Hintergrundfar&be setzen
-
+
Hintergrundfarbe setzen
-
+
Szene zu&rücksetzen
-
+
Aktuelle Szene zurücksetzen
-
-
+
+
Texturen neu laden
-
+
Screenshot &Speichern
-
+
Speichert ein Screenshot der aktuellen Szene
-
-
- Ein&stellungen
-
-
-
-
- Einstellungen
-
-
-
-
+
&Datei
-
-
- &Ansicht
-
-
-
-
- &Szene
-
-
-
-
+
&Werkzeuge
@@ -3978,17 +4028,17 @@ Right click to remove points.
-
+
-
+
-
+
@@ -4169,59 +4219,6 @@ Right click to remove points.
Eigenschaften
-
- NLQT::CSettingsDialog
-
-
-
- Einstellungen
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
NLQT::CSkeletonScaleDialog
@@ -4523,6 +4520,85 @@ Right click to remove points.
+
+ NLQT::GraphicsSettingsPage
+
+
+
+ Video
+
+
+
+
+
+
+
+
+ NLQT::SoundSettingsPage
+
+
+
+ Audio
+
+
+
+
+
+
+
+
+ NLQT::VegetableSettingsPage
+
+
+
+ Vegetation
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Plugin::CCoreListener
@@ -4540,11 +4616,13 @@ Right click to remove points.
Plugin::CExampleSettingsPage
+
+
Allgemein
@@ -4552,7 +4630,7 @@ Right click to remove points.
Plugin::CLogPlugin
-
+
@@ -4571,77 +4649,164 @@ Right click to remove points.
- Plugin::MyPlugin
+ Plugin::SheetBuilderPlugin
-
-
+
+
- Plugin::SheetBuilderPlugin
+ PointLightEditWidget
-
-
+
+
-
-
+
+
+
+
+
+ Ambient Farbe
+
+
+
+
+ Diffuse Farbe
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ SceneViewer::AnimEditWidget
+
+
+
+
+
+
+
+
+
+
+
+
+ SceneViewer::ViewerWindow
+
+
+
+
+ Öffne NeL Daten Dateien
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Öffne Skelett Datei
+
+
+
+
+ NeL Skelet (*.skel)
+
SheetBuilderConfigDialog
-
+
-
-
+
+
-
-
+
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
+
+
+
+
+
@@ -4649,34 +4814,298 @@ Right click to remove points.
SheetBuilderDialog
-
+
-
+
Beenden
-
+
-
+
-
+
Einstellungen
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ SheetIdView
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Beenden
+
+
+
+
+
+
+
+
+ SheetIdViewPlugin::DispSheetIdPlugin
+
+
+
+
+
+
+
+ SoundSettingsPage
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ TransformEditWidget
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Drehung
+
+
+
+
+ Größe
+
+
+
+ VegetableSettingsPage
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ViewerWindow
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/code/nel/tools/3d/object_viewer_qt/src/translations/object_viewer_qt_en.ts b/code/nel/tools/3d/object_viewer_qt/src/translations/object_viewer_qt_en.ts
index bf833ec14..403d2b104 100644
--- a/code/nel/tools/3d/object_viewer_qt/src/translations/object_viewer_qt_en.ts
+++ b/code/nel/tools/3d/object_viewer_qt/src/translations/object_viewer_qt_en.ts
@@ -1,6 +1,79 @@
+
+ AnimEditWidget
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ AnimationControl
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Application
@@ -626,28 +699,35 @@
CExampleSettingsPage
+
+
+
+
+
+
+
@@ -1753,27 +1833,27 @@
-
+
-
+
-
+
-
+
-
+
@@ -1789,47 +1869,57 @@
CPluginSpec
-
+
-
+
-
+
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -1904,7 +1994,6 @@
CSettingsDialog
-
@@ -1913,155 +2002,6 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
CSetupFog
@@ -2284,52 +2224,47 @@
-
-
-
-
-
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
@@ -3040,19 +2975,6 @@
-
- Core::CorePlugin
-
-
-
-
-
-
-
-
-
-
-
Core::MainWindow
@@ -3061,107 +2983,112 @@
-
+
-
-
+
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
+
+
+
+
+
-
+
@@ -3231,25 +3158,180 @@ Right click to remove points.
- Dialog
+ ExtensionSystem::CPluginManager
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
+
+
+
+
+
+
+
+
+
+ GraphicsSettingsPage
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ MixerEditWidget
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -3726,110 +3808,78 @@ Right click to remove points.
NLQT::CMainWindow
-
+
-
+
-
+
-
+
-
-
-
-
-
-
-
-
-
-
-
+
-
+
-
+
-
+
-
+
-
+
-
-
+
+
-
+
-
+
-
-
-
-
-
-
-
-
-
-
-
-
+
-
-
-
-
-
-
-
-
-
-
-
-
+
@@ -3978,17 +4028,17 @@ Right click to remove points.
-
+
-
+
-
+
@@ -4169,59 +4219,6 @@ Right click to remove points.
-
- NLQT::CSettingsDialog
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
NLQT::CSkeletonScaleDialog
@@ -4523,6 +4520,85 @@ Right click to remove points.
+
+ NLQT::GraphicsSettingsPage
+
+
+
+
+
+
+
+
+
+
+
+
+ NLQT::SoundSettingsPage
+
+
+
+
+
+
+
+
+
+
+
+
+ NLQT::VegetableSettingsPage
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Plugin::CCoreListener
@@ -4540,11 +4616,13 @@ Right click to remove points.
Plugin::CExampleSettingsPage
+
+
@@ -4552,7 +4630,7 @@ Right click to remove points.
Plugin::CLogPlugin
-
+
@@ -4571,77 +4649,164 @@ Right click to remove points.
- Plugin::MyPlugin
+ Plugin::SheetBuilderPlugin
-
-
+
+
- Plugin::SheetBuilderPlugin
+ PointLightEditWidget
-
-
+
+
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ SceneViewer::AnimEditWidget
+
+
+
+
+
+
+
+
+
+
+
+
+ SceneViewer::ViewerWindow
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
SheetBuilderConfigDialog
-
+
-
-
+
+
-
-
+
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
+
+
+
+
+
@@ -4649,34 +4814,298 @@ Right click to remove points.
SheetBuilderDialog
-
+
-
+
-
+
-
+
-
+
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ SheetIdView
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ SheetIdViewPlugin::DispSheetIdPlugin
+
+
+
+
+
+
+
+ SoundSettingsPage
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ TransformEditWidget
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ VegetableSettingsPage
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ViewerWindow
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/code/nel/tools/3d/object_viewer_qt/src/translations/object_viewer_qt_fr.ts b/code/nel/tools/3d/object_viewer_qt/src/translations/object_viewer_qt_fr.ts
index c545c162c..fd082fbdb 100644
--- a/code/nel/tools/3d/object_viewer_qt/src/translations/object_viewer_qt_fr.ts
+++ b/code/nel/tools/3d/object_viewer_qt/src/translations/object_viewer_qt_fr.ts
@@ -1,6 +1,79 @@
+
+ AnimEditWidget
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ AnimationControl
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Application
@@ -626,28 +699,35 @@
CExampleSettingsPage
+
+
+
+
+
+
+
@@ -1753,27 +1833,27 @@
-
+
-
+
-
+
-
+
-
+
@@ -1789,47 +1869,57 @@
CPluginSpec
-
+
-
+
-
+
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -1904,7 +1994,6 @@
CSettingsDialog
-
@@ -1913,155 +2002,6 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
CSetupFog
@@ -2284,52 +2224,47 @@
-
-
-
-
-
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
@@ -3040,19 +2975,6 @@
-
- Core::CorePlugin
-
-
-
-
-
-
-
-
-
-
-
Core::MainWindow
@@ -3061,107 +2983,112 @@
-
+
-
-
+
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
+
+
+
+
+
-
+
@@ -3231,25 +3158,180 @@ Right click to remove points.
- Dialog
+ ExtensionSystem::CPluginManager
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
+
+
+
+
+
+
+
+
+
+ GraphicsSettingsPage
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ MixerEditWidget
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -3726,110 +3808,78 @@ Right click to remove points.
NLQT::CMainWindow
-
+
-
+
-
+
-
+
-
-
-
-
-
-
-
-
-
-
-
+
-
+
-
+
-
+
-
+
-
+
-
-
+
+
-
+
-
+
-
-
-
-
-
-
-
-
-
-
-
-
+
-
-
-
-
-
-
-
-
-
-
-
-
+
@@ -3978,17 +4028,17 @@ Right click to remove points.
-
+
-
+
-
+
@@ -4169,59 +4219,6 @@ Right click to remove points.
-
- NLQT::CSettingsDialog
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
NLQT::CSkeletonScaleDialog
@@ -4523,6 +4520,85 @@ Right click to remove points.
+
+ NLQT::GraphicsSettingsPage
+
+
+
+
+
+
+
+
+
+
+
+
+ NLQT::SoundSettingsPage
+
+
+
+
+
+
+
+
+
+
+
+
+ NLQT::VegetableSettingsPage
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Plugin::CCoreListener
@@ -4540,11 +4616,13 @@ Right click to remove points.
Plugin::CExampleSettingsPage
+
+
@@ -4552,7 +4630,7 @@ Right click to remove points.
Plugin::CLogPlugin
-
+
@@ -4571,77 +4649,164 @@ Right click to remove points.
- Plugin::MyPlugin
+ Plugin::SheetBuilderPlugin
-
-
+
+
- Plugin::SheetBuilderPlugin
+ PointLightEditWidget
-
-
+
+
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ SceneViewer::AnimEditWidget
+
+
+
+
+
+
+
+
+
+
+
+
+ SceneViewer::ViewerWindow
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
SheetBuilderConfigDialog
-
+
-
-
+
+
-
-
+
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
+
+
+
+
+
@@ -4649,34 +4814,298 @@ Right click to remove points.
SheetBuilderDialog
-
+
-
+
-
+
-
+
-
+
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ SheetIdView
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ SheetIdViewPlugin::DispSheetIdPlugin
+
+
+
+
+
+
+
+ SoundSettingsPage
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ TransformEditWidget
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ VegetableSettingsPage
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ViewerWindow
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/code/nel/tools/3d/object_viewer_qt/src/translations/object_viewer_qt_ru.ts b/code/nel/tools/3d/object_viewer_qt/src/translations/object_viewer_qt_ru.ts
index af50e543d..c7f0c1fe1 100644
--- a/code/nel/tools/3d/object_viewer_qt/src/translations/object_viewer_qt_ru.ts
+++ b/code/nel/tools/3d/object_viewer_qt/src/translations/object_viewer_qt_ru.ts
@@ -1,6 +1,79 @@
+
+ AnimEditWidget
+
+
+
+
+ Форма
+
+
+
+
+
+
+
+
+
+
+ Загрузить *.anim файлы
+
+
+
+
+ Выгрузить все anim и swt файлы
+
+
+
+
+ Добавить анимацию в плейлист
+
+
+
+
+ Удалить анимацию из плейлиста
+
+
+
+
+ Установить продолжительность времени проигрывания
+
+
+
+
+ На месте
+
+
+
+
+
+
+
+
+ AnimationControl
+
+
+
+ Форма
+
+
+
+
+ Повтор
+
+
+
+
+ Играть/Пауза
+
+
+
+
+ Стоп
+
+
Application
@@ -626,28 +699,35 @@
CExampleSettingsPage
+
Форма
+
+
+
+
+
+
@@ -1753,27 +1833,27 @@
Форма
-
+
Выбрать
-
+
Удалить
-
+
Имя:
-
+
Размер:
-
+
Цвет:
@@ -1789,47 +1869,57 @@
CPluginSpec
-
+
Файл не существует: %1
-
+
Не удалось открыть файл для чтения: %1
-
+
Загрузка библиотеки не удалась, потому что не разрешены зависимости
-
+
Плагин не действительный (не является производным от IPlugin)
-
-
- Инициализировать плагин не удалось, потому что плагин не загружен
+
+
+
-
+
+
+
+
+
+
+
+
+
+
+
Внутренняя ошибка: нет экземпляра плагина для инициализации
-
+
Плагин не удалось инициализировать: %1
-
+
Невозможно выполнить extensionsInitialized потому что плагин не инициализирован
-
+
Внутренняя ошибка: нет экземпляра плагина для extensionsInitialized
@@ -1904,7 +1994,6 @@
CSettingsDialog
-
Настройки
@@ -1913,155 +2002,6 @@
-
-
-
- Графика
-
-
-
-
- Звук
-
-
-
-
- Пути
-
-
-
-
-
-
-
-
-
- Графические настройки
-
-
-
-
-
- Драйвер
-
-
-
-
- Блум эффект
-
-
-
-
- Плотность блума
-
-
-
-
-
-
-
-
-
- Включить блум эффект
-
-
-
-
- Qt стиль
-
-
-
-
- Стиль
-
-
-
-
-
-
-
-
-
- Звуковые настройки
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Пути поиска
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
CSetupFog
@@ -2284,52 +2224,47 @@
Форма
-
-
- Основные
-
-
-
+
Имя звука
-
+
Обзор
-
+
Играть
-
+
-
+
Выключить
-
+
-
+
-
+
Громкость
-
+
Высота звука
@@ -3040,19 +2975,6 @@
Основные
-
- Core::CorePlugin
-
-
-
-
-
-
-
-
- О модулях
-
-
Core::MainWindow
@@ -3061,107 +2983,112 @@
-
+
О Object Viewer Qt
-
-
+
+
-
+
&Открыть...
-
+
Открыть файл
-
+
В&ыход
-
+
-
+
Выйти из приложения
-
+
&Настройки
-
+
Открыть диалог настроек
-
+
О программе
-
+
Открыть диалог О программе
-
+
О &Qt
-
+
Открыть диалог О Qt
-
+
О &модулях
-
+
Показать диалог списка плагинов
-
+
&Файл
-
+
&Правка
-
+
&Вид
-
+
&Иструменты
-
+
+
+
+
+
+
&Справка
-
+
@@ -3231,26 +3158,181 @@ Right click to remove points.
- Dialog
+ ExtensionSystem::CPluginManager
-
-
+
+
-
-
- Обзор
-
-
-
-
+
+
-
-
- Закрыть
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ GraphicsSettingsPage
+
+
+
+ Форма
+
+
+
+
+ Qt стиль
+
+
+
+
+ Стиль
+
+
+
+
+
+
+
+
+
+ Графические настройки
+
+
+
+
+ Драйвер
+
+
+
+
+ Блум эффект
+
+
+
+
+ Плотность блума
+
+
+
+
+
+
+
+
+
+ Включить блум эффект
+
+
+
+ MixerEditWidget
+
+
+
+ Форма
+
+
+
+
+
+
+
+
+
+ Включить
+
+
+
+
+
+
+
+
+
+ Начало смешивания
+
+
+
+
+ Конец смешивания
+
+
+
+
+ Смещение кадра
+
+
+
+
+ Скорость
+
+
+
+
+ Начальный кадр
+
+
+
+
+ Конечный кадр
+
+
+
+
+ Плавность
+
+
+
+
+
+
+
+
+
+ Режим:
+
+
+
+
+
+
+
+
+
+ Повтор
+
+
+
+
+ Отключить
+
+
+
+
+ Ивертировать веса скелета
+
+
+
+
+
@@ -3729,110 +3811,78 @@ Right click to remove points.
NLQT::CMainWindow
-
+
Открыть NeL файлы
-
+
-
+
-
+
файл NeL скелета (*.skel)
-
-
- О Object Viewer Qt
-
-
-
-
- <h2>Object Viewer Qt 8-)</h2><p> Авторы: dnk-88, sfb, Kaetemi, kervala <p>Compiled on %1 %2
-
-
-
+
&Открыть...
-
+
Открыть файл
-
+
&Установить фоновый цвет
-
+
Установить фоновый цвет
-
+
С&бросить сцену
-
+
Сбросить текукщую сцену
-
-
+
+
Перегрузить текстуры
-
+
Сохранить с&криншот
-
+
Создать скриншот окна просмотра и сохранить
-
-
- &Настройки
-
-
-
-
- Настройки
-
-
-
-
+
&Файл
-
-
- &Вид
-
-
-
-
- С&цена
-
-
-
-
+
&Иструменты
@@ -3982,17 +4032,17 @@ Right click to remove points.
Цвет:
-
+
Имя: %1
-
+
Размер: %1x%2
-
+
Цвет: %1
@@ -4174,59 +4224,6 @@ Right click to remove points.
Редактор свойств
-
- NLQT::CSettingsDialog
-
-
-
- Настройки
-
-
-
-
- настройки графики и звука будут применены после перезапуска программы
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
NLQT::CSkeletonScaleDialog
@@ -4528,6 +4525,85 @@ Right click to remove points.
Не удалось создать новую систему частиц
+
+ NLQT::GraphicsSettingsPage
+
+
+
+ Графика
+
+
+
+
+
+
+
+
+ NLQT::SoundSettingsPage
+
+
+
+ Звук
+
+
+
+
+
+
+
+
+ NLQT::VegetableSettingsPage
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Plugin::CCoreListener
@@ -4545,11 +4621,13 @@ Right click to remove points.
Plugin::CExampleSettingsPage
+
+
Главное
@@ -4557,7 +4635,7 @@ Right click to remove points.
Plugin::CLogPlugin
-
+
@@ -4576,77 +4654,164 @@ Right click to remove points.
- Plugin::MyPlugin
+ Plugin::SheetBuilderPlugin
-
-
+
+
- Plugin::SheetBuilderPlugin
+ PointLightEditWidget
-
-
+
+
+ Форма
+
+
+
+
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Начало затухания освещенности
+
+
+
+
+ Конец затухания освещенности
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ SceneViewer::AnimEditWidget
+
+
+
+
+
+
+
+
+
+
+
+
+ SceneViewer::ViewerWindow
+
+
+
+
+ Открыть NeL файлы
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ файл NeL скелета (*.skel)
+
SheetBuilderConfigDialog
-
+
Пути:
-
-
+
+
Добавить
-
-
+
+
Удалить
-
+
Выходной файл:
-
+
Обзор...
-
+
-
+
-
+
-
+
-
+
+
+
+
+
+
@@ -4654,34 +4819,298 @@ Right click to remove points.
SheetBuilderDialog
-
+
-
+
Закрыть
-
+
-
+
-
+
Настройки
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ SheetIdView
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Закрыть
+
+
+
+
+
+
+
+
+ SheetIdViewPlugin::DispSheetIdPlugin
+
+
+
+
+
+
+
+ SoundSettingsPage
+
+
+
+ Форма
+
+
+
+
+ Драйвер
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ TransformEditWidget
+
+
+
+ Форма
+
+
+
+
+
+
+
+
+
+ Позиция
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Шасштаб
+
+
+
+ VegetableSettingsPage
+
+
+
+ Форма
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ViewerWindow
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+