Merged client_config_qt.
|
@ -1 +1,5 @@
|
||||||
ADD_SUBDIRECTORY(client_patcher)
|
ADD_SUBDIRECTORY( client_patcher )
|
||||||
|
|
||||||
|
IF( WITH_QT )
|
||||||
|
ADD_SUBDIRECTORY( client_config_qt )
|
||||||
|
ENDIF( WITH_QT )
|
||||||
|
|
19
code/ryzom/tools/client/client_config_qt/.hgignore
Normal file
|
@ -0,0 +1,19 @@
|
||||||
|
syntax: glob
|
||||||
|
|
||||||
|
*.user
|
||||||
|
*.sln
|
||||||
|
*.ncb
|
||||||
|
*.vcproj
|
||||||
|
*.suo
|
||||||
|
debug
|
||||||
|
release
|
||||||
|
Win32
|
||||||
|
GeneratedFiles
|
||||||
|
*.dll
|
||||||
|
*.log
|
||||||
|
*.cfg
|
||||||
|
*.pdb
|
||||||
|
*.qm
|
||||||
|
|
||||||
|
|
||||||
|
|
57
code/ryzom/tools/client/client_config_qt/CMakeLists.txt
Normal file
|
@ -0,0 +1,57 @@
|
||||||
|
INCLUDE_DIRECTORIES( ${CMAKE_CURRENT_BINARY_DIR}
|
||||||
|
${CMAKE_CURRENT_SOURCE_DIR}
|
||||||
|
${QT_INCLUDES} )
|
||||||
|
|
||||||
|
FILE( GLOB SRC *.cpp *.h )
|
||||||
|
|
||||||
|
SET( CLIENT_CONFIG_HDR
|
||||||
|
client_config_dialog.h
|
||||||
|
display_settings_advanced_widget.h
|
||||||
|
display_settings_details_widget.h
|
||||||
|
display_settings_widget.h
|
||||||
|
general_settings_widget.h
|
||||||
|
sound_settings_widget.h
|
||||||
|
sys_info_d3d_widget.h
|
||||||
|
sys_info_opengl_widget.h
|
||||||
|
sys_info_widget.h
|
||||||
|
widget_base.h
|
||||||
|
)
|
||||||
|
|
||||||
|
SET( CLIENT_CONFIG_UIS
|
||||||
|
client_config_dialog.ui
|
||||||
|
display_settings_advanced_widget.ui
|
||||||
|
display_settings_details_widget.ui
|
||||||
|
display_settings_widget.ui
|
||||||
|
general_settings_widget.ui
|
||||||
|
sound_settings_widget.ui
|
||||||
|
sys_info_d3d_widget.ui
|
||||||
|
sys_info_opengl_widget.ui
|
||||||
|
sys_info_widget.ui
|
||||||
|
)
|
||||||
|
|
||||||
|
SET( CLIENT_CONFIG_TRANS
|
||||||
|
translations/ryzom_configuration_en.ts
|
||||||
|
translations/ryzom_configuration_hu.ts
|
||||||
|
)
|
||||||
|
|
||||||
|
CONFIGURE_FILE( translations/translations.qrc ${CMAKE_CURRENT_BINARY_DIR}/translations.qrc COPYONLY )
|
||||||
|
SET( CLIENT_CONFIG_RCS resources.qrc ${CMAKE_CURRENT_BINARY_DIR}/translations.qrc )
|
||||||
|
SET( QT_USE_QTGUI TRUE )
|
||||||
|
SET( QT_USE_QTOPENGL TRUE )
|
||||||
|
SET( QT_USE_QTCORE TRUE )
|
||||||
|
QT4_ADD_TRANSLATION( CLIENT_CONFIG_QM ${CLIENT_CONFIG_TRANS} )
|
||||||
|
QT4_ADD_RESOURCES( CLIENT_CONFIG_RC_SRCS ${CLIENT_CONFIG_RCS} )
|
||||||
|
QT4_WRAP_CPP( CLIENT_CONFIG_MOC_SRC ${CLIENT_CONFIG_HDR} )
|
||||||
|
QT4_WRAP_UI( CLIENT_CONFIG_UI_HDRS ${CLIENT_CONFIG_UIS} )
|
||||||
|
SOURCE_GROUP( "Resources" FILES ${CLIENT_CONFIG_RCS} )
|
||||||
|
SOURCE_GROUP( "Forms" FILES ${CLIENT_CONFIG_UIS} )
|
||||||
|
SOURCE_GROUP( "Generated Files" FILES ${CLIENT_CONFIG_UI_HDRS} ${CLIENT_CONFIG_MOC_SRC} )
|
||||||
|
SOURCE_GROUP( "Translation Files" FILES ${CLIENT_CONFIG_TRANS} )
|
||||||
|
ADD_DEFINITIONS( ${QT_DEFINITIONS} )
|
||||||
|
ADD_EXECUTABLE( ryzom_configuration_qt WIN32 MACOSX_BUNDLE ${SRC} ${CLIENT_CONFIG_MOC_SRC} ${CLIENT_CONFIG_UI_HDRS} ${CLIENT_CONFIG_RC_SRCS} ${CLIENT_CONFIG_TRANS} )
|
||||||
|
NL_DEFAULT_PROPS( ryzom_configuration_qt "Ryzom, Tools: Ryzom Configuration Qt" )
|
||||||
|
NL_ADD_RUNTIME_FLAGS( ryzom_configuration_qt )
|
||||||
|
NL_ADD_LIB_SUFFIX( ryzom_configuration_qt )
|
||||||
|
TARGET_LINK_LIBRARIES( ryzom_configuration_qt nelmisc nel3d ${QT_LIBRARIES} ${QT_QTMAIN_LIBRARY} ${QT_QTCORE_LIBRARY} ${QT_QTGUI_LIBRARY} ${QT_QTOPENGL_LIBRARY} ${OPENGL_gl_LIBRARY} )
|
||||||
|
INSTALL( TARGETS ryzom_configuration_qt RUNTIME DESTINATION games COMPONENT client BUNDLE DESTINATION /Applications )
|
||||||
|
|
|
@ -0,0 +1,259 @@
|
||||||
|
// Ryzom - MMORPG Framework <http://dev.ryzom.com/projects/ryzom/>
|
||||||
|
// Copyright (C) 2010 Winch Gate Property Limited
|
||||||
|
//
|
||||||
|
// 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 "client_config_dialog.h"
|
||||||
|
|
||||||
|
#include "general_settings_widget.h"
|
||||||
|
#include "display_settings_widget.h"
|
||||||
|
#include "display_settings_details_widget.h"
|
||||||
|
#include "display_settings_advanced_widget.h"
|
||||||
|
#include "sound_settings_widget.h"
|
||||||
|
#include "sys_info_widget.h"
|
||||||
|
#include "sys_info_opengl_widget.h"
|
||||||
|
#include "sys_info_d3d_widget.h"
|
||||||
|
|
||||||
|
#include "system.h"
|
||||||
|
|
||||||
|
#include <QtGui>
|
||||||
|
|
||||||
|
CClientConfigDialog::CClientConfigDialog( QWidget *parent ) :
|
||||||
|
QDialog( parent )
|
||||||
|
{
|
||||||
|
setupUi( this );
|
||||||
|
connect( buttonBox->button( QDialogButtonBox::Cancel ), SIGNAL( clicked() ), this, SLOT( close() ) );
|
||||||
|
connect( buttonBox->button( QDialogButtonBox::Ok ), SIGNAL( clicked() ), this, SLOT( onClickOK() ) );
|
||||||
|
connect( applyButton, SIGNAL( clicked() ), this, SLOT( onClickApply() ) );
|
||||||
|
connect( defaultButton, SIGNAL( clicked() ), this, SLOT( onClickDefault() ) );
|
||||||
|
connect( playButton, SIGNAL( clicked() ), this, SLOT( onClickPlay() ) );
|
||||||
|
connect( treeWidget, SIGNAL( itemClicked( QTreeWidgetItem *, int ) ),
|
||||||
|
this, SLOT( onClickCategory( QTreeWidgetItem * ) ) );
|
||||||
|
|
||||||
|
// General
|
||||||
|
QTreeWidgetItem *item = treeWidget->topLevelItem( 0 );
|
||||||
|
item->setData( 0, Qt::UserRole, 0 );
|
||||||
|
|
||||||
|
// Display
|
||||||
|
item = treeWidget->topLevelItem( 1 );
|
||||||
|
item->setData( 0, Qt::UserRole, 1 );
|
||||||
|
|
||||||
|
// Display details
|
||||||
|
item = treeWidget->topLevelItem( 1 )->child( 0 );
|
||||||
|
item->setData( 0, Qt::UserRole, 2 );
|
||||||
|
|
||||||
|
// Display advanced
|
||||||
|
item = treeWidget->topLevelItem( 1 )->child( 1 );
|
||||||
|
item->setData( 0, Qt::UserRole, 3 );
|
||||||
|
|
||||||
|
// Sound
|
||||||
|
item = treeWidget->topLevelItem( 2 );
|
||||||
|
item->setData( 0, Qt::UserRole, 4 );
|
||||||
|
|
||||||
|
// System information
|
||||||
|
item = treeWidget->topLevelItem( 3 );
|
||||||
|
item->setData( 0, Qt::UserRole, 5 );
|
||||||
|
|
||||||
|
// OpenGL info
|
||||||
|
item = treeWidget->topLevelItem( 3 )->child( 0 );
|
||||||
|
item->setData( 0, Qt::UserRole, 6 );
|
||||||
|
|
||||||
|
// Direct3D info
|
||||||
|
item = treeWidget->topLevelItem( 3 )->child( 1 );
|
||||||
|
item->setData( 0, Qt::UserRole, 7 );
|
||||||
|
|
||||||
|
|
||||||
|
CategoryStackedWidget->addWidget( new CGeneralSettingsWidget( CategoryStackedWidget ) );
|
||||||
|
CategoryStackedWidget->addWidget( new CDisplaySettingsWidget( CategoryStackedWidget ) );
|
||||||
|
CategoryStackedWidget->addWidget( new CDisplaySettingsDetailsWidget( CategoryStackedWidget ) );
|
||||||
|
CategoryStackedWidget->addWidget( new CDisplaySettingsAdvancedWidget( CategoryStackedWidget ) );
|
||||||
|
CategoryStackedWidget->addWidget( new CSoundSettingsWidget( CategoryStackedWidget ) );
|
||||||
|
CategoryStackedWidget->addWidget( new CSysInfoWidget( CategoryStackedWidget ) );
|
||||||
|
CategoryStackedWidget->addWidget( new CSysInfoOpenGLWidget( CategoryStackedWidget ) );
|
||||||
|
CategoryStackedWidget->addWidget( new CSysInfoD3DWidget( CategoryStackedWidget ) );
|
||||||
|
|
||||||
|
for( sint32 i = 0; i < CategoryStackedWidget->count(); i++ )
|
||||||
|
{
|
||||||
|
QWidget *w = CategoryStackedWidget->widget( i );
|
||||||
|
|
||||||
|
// The sysinfo pages are not derived from CWidgetBase, so they don't have this signal!
|
||||||
|
if( qobject_cast< CWidgetBase * >( w ) == NULL )
|
||||||
|
continue;
|
||||||
|
|
||||||
|
connect( w, SIGNAL( changed() ), this, SLOT( onSomethingChanged() ) );
|
||||||
|
}
|
||||||
|
|
||||||
|
applyButton->setEnabled( false );
|
||||||
|
}
|
||||||
|
|
||||||
|
CClientConfigDialog::~CClientConfigDialog()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
void CClientConfigDialog::closeEvent( QCloseEvent *event )
|
||||||
|
{
|
||||||
|
if( isOKToQuit() )
|
||||||
|
event->accept();
|
||||||
|
else
|
||||||
|
event->ignore();
|
||||||
|
}
|
||||||
|
|
||||||
|
void CClientConfigDialog::changeEvent( QEvent *event )
|
||||||
|
{
|
||||||
|
if( event->type() == QEvent::LanguageChange )
|
||||||
|
{
|
||||||
|
int pageIndex = CategoryStackedWidget->currentIndex();
|
||||||
|
// Signals that are emitted on index change need to be disconnected, since retranslation cleans the widget
|
||||||
|
disconnect( treeWidget, SIGNAL( itemClicked( QTreeWidgetItem *, int ) ),
|
||||||
|
this, SLOT( onClickCategory( QTreeWidgetItem * ) ) );
|
||||||
|
|
||||||
|
retranslateUi( this );
|
||||||
|
|
||||||
|
connect( treeWidget, SIGNAL( itemClicked( QTreeWidgetItem *, int ) ),
|
||||||
|
this, SLOT( onClickCategory( QTreeWidgetItem * ) ) );
|
||||||
|
|
||||||
|
CategoryStackedWidget->setCurrentIndex( pageIndex );
|
||||||
|
}
|
||||||
|
|
||||||
|
QDialog::changeEvent( event );
|
||||||
|
}
|
||||||
|
|
||||||
|
void CClientConfigDialog::onClickOK()
|
||||||
|
{
|
||||||
|
saveChanges();
|
||||||
|
// Since we use the apply button's enabled state to check for unsaved changes on quit, we disable it
|
||||||
|
applyButton->setEnabled( false );
|
||||||
|
close();
|
||||||
|
}
|
||||||
|
|
||||||
|
void CClientConfigDialog::onClickApply()
|
||||||
|
{
|
||||||
|
saveChanges();
|
||||||
|
applyButton->setEnabled( false );
|
||||||
|
}
|
||||||
|
|
||||||
|
void CClientConfigDialog::onClickDefault()
|
||||||
|
{
|
||||||
|
CSystem::GetInstance().config.revertToDefault();
|
||||||
|
CSystem::GetInstance().config.save();
|
||||||
|
reloadPages();
|
||||||
|
applyButton->setEnabled( false );
|
||||||
|
}
|
||||||
|
|
||||||
|
void CClientConfigDialog::onClickPlay()
|
||||||
|
{
|
||||||
|
bool started = false;
|
||||||
|
|
||||||
|
#ifdef WIN32
|
||||||
|
started = QProcess::startDetached( "ryzom_client_r.exe" );
|
||||||
|
if( !started )
|
||||||
|
QProcess::startDetached( "ryzom_client_rd.exe" );
|
||||||
|
if( !started )
|
||||||
|
QProcess::startDetached( "ryzom_client_d.exe" );
|
||||||
|
#else
|
||||||
|
started = QProcess::startDetached( "./ryzom_client_r" );
|
||||||
|
if( !started )
|
||||||
|
QProcess::startDetached( "./ryzom_client_rd" );
|
||||||
|
if( !started )
|
||||||
|
QProcess::startDetached( "./ryzom_client_d" );
|
||||||
|
#endif
|
||||||
|
|
||||||
|
onClickOK();
|
||||||
|
}
|
||||||
|
|
||||||
|
void CClientConfigDialog::onClickCategory( QTreeWidgetItem *item )
|
||||||
|
{
|
||||||
|
if( item == NULL )
|
||||||
|
return;
|
||||||
|
|
||||||
|
static const char *iconNames[] =
|
||||||
|
{
|
||||||
|
":/resources/general_icon.bmp",
|
||||||
|
":/resources/display_icon.bmp",
|
||||||
|
":/resources/display_properties_icon.bmp",
|
||||||
|
":/resources/display_config_icon.bmp",
|
||||||
|
":/resources/sound_icon.bmp",
|
||||||
|
":/resources/general_icon.bmp",
|
||||||
|
":/resources/card_icon.bmp",
|
||||||
|
":/resources/card_icon.bmp"
|
||||||
|
};
|
||||||
|
|
||||||
|
sint32 index = item->data( 0, Qt::UserRole ).toInt();
|
||||||
|
|
||||||
|
if( ( index < 0 ) || ( index > 7 ) )
|
||||||
|
return;
|
||||||
|
|
||||||
|
CategoryStackedWidget->setCurrentIndex( index );
|
||||||
|
categoryLabel->setText( item->text( 0 ) );
|
||||||
|
topleftIcon->setPixmap( QPixmap( QString::fromUtf8( iconNames[ index ] ) ) );
|
||||||
|
}
|
||||||
|
|
||||||
|
void CClientConfigDialog::onSomethingChanged()
|
||||||
|
{
|
||||||
|
applyButton->setEnabled( true );
|
||||||
|
}
|
||||||
|
|
||||||
|
void CClientConfigDialog::saveChanges()
|
||||||
|
{
|
||||||
|
// First we tell the pages to save their changes into the cached config file
|
||||||
|
for( sint32 i = 0; i < CategoryStackedWidget->count(); i++ )
|
||||||
|
{
|
||||||
|
QWidget *w = CategoryStackedWidget->widget( i );
|
||||||
|
CWidgetBase *wb = qobject_cast< CWidgetBase * >( w );
|
||||||
|
|
||||||
|
// The system information pages are not derived from CWidgetBase, so they can't save!
|
||||||
|
if( wb == NULL )
|
||||||
|
continue;
|
||||||
|
|
||||||
|
wb->save();
|
||||||
|
}
|
||||||
|
|
||||||
|
// Then we write the cache to the disk
|
||||||
|
CSystem::GetInstance().config.save();
|
||||||
|
}
|
||||||
|
|
||||||
|
void CClientConfigDialog::reloadPages()
|
||||||
|
{
|
||||||
|
for( sint32 i = 0; i < CategoryStackedWidget->count(); i++ )
|
||||||
|
{
|
||||||
|
QWidget *w = CategoryStackedWidget->widget( i );
|
||||||
|
CWidgetBase *wb = qobject_cast< CWidgetBase * >( w );
|
||||||
|
|
||||||
|
// The system information pages are not derived from CWidgetBase, so they can't load!
|
||||||
|
if( wb == NULL )
|
||||||
|
continue;
|
||||||
|
|
||||||
|
wb->load();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
bool CClientConfigDialog::isOKToQuit()
|
||||||
|
{
|
||||||
|
// If the apply button is enabled we have unsaved changes
|
||||||
|
if( applyButton->isEnabled() )
|
||||||
|
{
|
||||||
|
sint32 r = QMessageBox::warning(
|
||||||
|
this,
|
||||||
|
tr( "Ryzom configuration" ),
|
||||||
|
tr( "Are you sure you want to quit without saving the configuration?" ),
|
||||||
|
QMessageBox::Yes | QMessageBox::No
|
||||||
|
);
|
||||||
|
|
||||||
|
if( r == QMessageBox::No )
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
|
@ -0,0 +1,67 @@
|
||||||
|
// Ryzom - MMORPG Framework <http://dev.ryzom.com/projects/ryzom/>
|
||||||
|
// Copyright (C) 2010 Winch Gate Property Limited
|
||||||
|
//
|
||||||
|
// 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 CLIENT_CONFIG_DIALOG_H
|
||||||
|
#define CLIENT_CONFIG_DIALOG_H
|
||||||
|
|
||||||
|
#include "ui_client_config_dialog.h"
|
||||||
|
|
||||||
|
/**
|
||||||
|
@brief The main dialog of the configuration tool
|
||||||
|
@details Sets up and controls the configuration pages, sets up navigation,
|
||||||
|
sets up the ok, cancel, apply, etc buttons.
|
||||||
|
*/
|
||||||
|
class CClientConfigDialog : public QDialog, public Ui::client_config_dialog
|
||||||
|
{
|
||||||
|
Q_OBJECT
|
||||||
|
|
||||||
|
public:
|
||||||
|
CClientConfigDialog( QWidget *parent = NULL );
|
||||||
|
~CClientConfigDialog();
|
||||||
|
|
||||||
|
protected:
|
||||||
|
void closeEvent( QCloseEvent *event );
|
||||||
|
void changeEvent( QEvent *event );
|
||||||
|
|
||||||
|
private slots:
|
||||||
|
//////////////////////////// Main dialog buttons /////////////////////
|
||||||
|
void onClickOK();
|
||||||
|
void onClickApply();
|
||||||
|
void onClickDefault();
|
||||||
|
void onClickPlay();
|
||||||
|
//////////////////////////////////////////////////////////////////////
|
||||||
|
void onClickCategory( QTreeWidgetItem *item );
|
||||||
|
void onSomethingChanged();
|
||||||
|
|
||||||
|
private:
|
||||||
|
/**
|
||||||
|
@brief Tells the config pages to save their changes into the config file
|
||||||
|
*/
|
||||||
|
void saveChanges();
|
||||||
|
|
||||||
|
/**
|
||||||
|
@brief Reloads the pages' contents from the config file.
|
||||||
|
*/
|
||||||
|
void reloadPages();
|
||||||
|
|
||||||
|
/**
|
||||||
|
@brief Checks if it's OK to quit the application, may query the user
|
||||||
|
@return Returns true if it's OK to quit, returns false otherwise.
|
||||||
|
*/
|
||||||
|
bool isOKToQuit();
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif // CLIENT_CONFIG_DIALOG_H
|
275
code/ryzom/tools/client/client_config_qt/client_config_dialog.ui
Normal file
|
@ -0,0 +1,275 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<ui version="4.0">
|
||||||
|
<class>client_config_dialog</class>
|
||||||
|
<widget class="QDialog" name="client_config_dialog">
|
||||||
|
<property name="geometry">
|
||||||
|
<rect>
|
||||||
|
<x>0</x>
|
||||||
|
<y>0</y>
|
||||||
|
<width>941</width>
|
||||||
|
<height>567</height>
|
||||||
|
</rect>
|
||||||
|
</property>
|
||||||
|
<property name="sizePolicy">
|
||||||
|
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
|
||||||
|
<horstretch>0</horstretch>
|
||||||
|
<verstretch>0</verstretch>
|
||||||
|
</sizepolicy>
|
||||||
|
</property>
|
||||||
|
<property name="windowTitle">
|
||||||
|
<string>Ryzom Configuration</string>
|
||||||
|
</property>
|
||||||
|
<layout class="QHBoxLayout" name="horizontalLayout_4">
|
||||||
|
<item>
|
||||||
|
<layout class="QVBoxLayout" name="verticalLayout">
|
||||||
|
<item>
|
||||||
|
<widget class="QLabel" name="leftBitmapLabel">
|
||||||
|
<property name="enabled">
|
||||||
|
<bool>true</bool>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string/>
|
||||||
|
</property>
|
||||||
|
<property name="pixmap">
|
||||||
|
<pixmap resource="resources.qrc">:/resources/left_bitmap_0.bmp</pixmap>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<spacer name="verticalSpacer">
|
||||||
|
<property name="orientation">
|
||||||
|
<enum>Qt::Vertical</enum>
|
||||||
|
</property>
|
||||||
|
<property name="sizeHint" stdset="0">
|
||||||
|
<size>
|
||||||
|
<width>20</width>
|
||||||
|
<height>28</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
</spacer>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<layout class="QVBoxLayout" name="verticalLayout_3">
|
||||||
|
<item>
|
||||||
|
<layout class="QHBoxLayout" name="horizontalLayout_3">
|
||||||
|
<item>
|
||||||
|
<widget class="QLabel" name="topleftIcon">
|
||||||
|
<property name="text">
|
||||||
|
<string/>
|
||||||
|
</property>
|
||||||
|
<property name="pixmap">
|
||||||
|
<pixmap resource="resources.qrc">:/resources/general_icon.bmp</pixmap>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<spacer name="horizontalSpacer">
|
||||||
|
<property name="orientation">
|
||||||
|
<enum>Qt::Horizontal</enum>
|
||||||
|
</property>
|
||||||
|
<property name="sizeHint" stdset="0">
|
||||||
|
<size>
|
||||||
|
<width>118</width>
|
||||||
|
<height>20</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
</spacer>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QLabel" name="categoryLabel">
|
||||||
|
<property name="sizePolicy">
|
||||||
|
<sizepolicy hsizetype="MinimumExpanding" vsizetype="MinimumExpanding">
|
||||||
|
<horstretch>0</horstretch>
|
||||||
|
<verstretch>0</verstretch>
|
||||||
|
</sizepolicy>
|
||||||
|
</property>
|
||||||
|
<property name="minimumSize">
|
||||||
|
<size>
|
||||||
|
<width>451</width>
|
||||||
|
<height>61</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
<property name="font">
|
||||||
|
<font>
|
||||||
|
<pointsize>20</pointsize>
|
||||||
|
<weight>50</weight>
|
||||||
|
<italic>true</italic>
|
||||||
|
<bold>false</bold>
|
||||||
|
<stylestrategy>PreferAntialias</stylestrategy>
|
||||||
|
</font>
|
||||||
|
</property>
|
||||||
|
<property name="styleSheet">
|
||||||
|
<string notr="true">background-image: url(:/resources/top_right.bmp);</string>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>General</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<layout class="QVBoxLayout" name="verticalLayout_2">
|
||||||
|
<item>
|
||||||
|
<layout class="QHBoxLayout" name="horizontalLayout">
|
||||||
|
<item>
|
||||||
|
<widget class="QTreeWidget" name="treeWidget">
|
||||||
|
<property name="minimumSize">
|
||||||
|
<size>
|
||||||
|
<width>171</width>
|
||||||
|
<height>431</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
<attribute name="headerVisible">
|
||||||
|
<bool>false</bool>
|
||||||
|
</attribute>
|
||||||
|
<column>
|
||||||
|
<property name="text">
|
||||||
|
<string>Category</string>
|
||||||
|
</property>
|
||||||
|
</column>
|
||||||
|
<item>
|
||||||
|
<property name="text">
|
||||||
|
<string>General</string>
|
||||||
|
</property>
|
||||||
|
<property name="font">
|
||||||
|
<font>
|
||||||
|
<weight>75</weight>
|
||||||
|
<bold>true</bold>
|
||||||
|
</font>
|
||||||
|
</property>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<property name="text">
|
||||||
|
<string>Display</string>
|
||||||
|
</property>
|
||||||
|
<property name="font">
|
||||||
|
<font>
|
||||||
|
<weight>75</weight>
|
||||||
|
<bold>true</bold>
|
||||||
|
</font>
|
||||||
|
</property>
|
||||||
|
<item>
|
||||||
|
<property name="text">
|
||||||
|
<string>Display details</string>
|
||||||
|
</property>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<property name="text">
|
||||||
|
<string>Display advanced</string>
|
||||||
|
</property>
|
||||||
|
</item>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<property name="text">
|
||||||
|
<string>Sound</string>
|
||||||
|
</property>
|
||||||
|
<property name="font">
|
||||||
|
<font>
|
||||||
|
<weight>75</weight>
|
||||||
|
<bold>true</bold>
|
||||||
|
</font>
|
||||||
|
</property>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<property name="text">
|
||||||
|
<string>System information</string>
|
||||||
|
</property>
|
||||||
|
<property name="font">
|
||||||
|
<font>
|
||||||
|
<weight>75</weight>
|
||||||
|
<bold>true</bold>
|
||||||
|
</font>
|
||||||
|
</property>
|
||||||
|
<item>
|
||||||
|
<property name="text">
|
||||||
|
<string>OpenGL information</string>
|
||||||
|
</property>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<property name="text">
|
||||||
|
<string>Direct3D information</string>
|
||||||
|
</property>
|
||||||
|
</item>
|
||||||
|
</item>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QStackedWidget" name="CategoryStackedWidget">
|
||||||
|
<property name="sizePolicy">
|
||||||
|
<sizepolicy hsizetype="Minimum" vsizetype="Minimum">
|
||||||
|
<horstretch>0</horstretch>
|
||||||
|
<verstretch>0</verstretch>
|
||||||
|
</sizepolicy>
|
||||||
|
</property>
|
||||||
|
<property name="minimumSize">
|
||||||
|
<size>
|
||||||
|
<width>391</width>
|
||||||
|
<height>429</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<layout class="QHBoxLayout" name="horizontalLayout_2">
|
||||||
|
<item>
|
||||||
|
<spacer name="horizontalSpacer_2">
|
||||||
|
<property name="orientation">
|
||||||
|
<enum>Qt::Horizontal</enum>
|
||||||
|
</property>
|
||||||
|
<property name="sizeHint" stdset="0">
|
||||||
|
<size>
|
||||||
|
<width>148</width>
|
||||||
|
<height>20</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
</spacer>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QDialogButtonBox" name="buttonBox">
|
||||||
|
<property name="standardButtons">
|
||||||
|
<set>QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QPushButton" name="applyButton">
|
||||||
|
<property name="enabled">
|
||||||
|
<bool>false</bool>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>Apply</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QPushButton" name="defaultButton">
|
||||||
|
<property name="text">
|
||||||
|
<string>Default</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QPushButton" name="playButton">
|
||||||
|
<property name="text">
|
||||||
|
<string>Play Ryzom</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</widget>
|
||||||
|
<resources>
|
||||||
|
<include location="resources.qrc"/>
|
||||||
|
</resources>
|
||||||
|
<connections/>
|
||||||
|
</ui>
|
255
code/ryzom/tools/client/client_config_qt/config.cpp
Normal file
|
@ -0,0 +1,255 @@
|
||||||
|
// Ryzom - MMORPG Framework <http://dev.ryzom.com/projects/ryzom/>
|
||||||
|
// Copyright (C) 2010 Winch Gate Property Limited
|
||||||
|
//
|
||||||
|
// 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 "Config.h"
|
||||||
|
|
||||||
|
CConfig::CConfig()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
CConfig::~CConfig()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
bool CConfig::load( const char *fileName )
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
cf.load( fileName );
|
||||||
|
|
||||||
|
std::string def = getString( "RootConfigFilename" );
|
||||||
|
if( def.compare( "" ) != 0 )
|
||||||
|
dcf.load( def );
|
||||||
|
}
|
||||||
|
catch( NLMISC::Exception &e )
|
||||||
|
{
|
||||||
|
nlwarning( "%s", e.what() );
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool CConfig::reload()
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
cf.clear();
|
||||||
|
cf.reparse();
|
||||||
|
}
|
||||||
|
catch( NLMISC::Exception &e )
|
||||||
|
{
|
||||||
|
nlwarning( "%s", e.what() );
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
void CConfig::revertToDefault()
|
||||||
|
{
|
||||||
|
// If there's no default config, all we can do is revert the current changes
|
||||||
|
if( !dcf.loaded() )
|
||||||
|
{
|
||||||
|
reload();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// If there is a default config, we can however revert to the default!
|
||||||
|
// Code taken from the original config tool
|
||||||
|
uint32 count = cf.getNumVar();
|
||||||
|
uint32 i = 0;
|
||||||
|
for( i = 0; i < count; i++ )
|
||||||
|
{
|
||||||
|
NLMISC::CConfigFile::CVar *dst = cf.getVar( i );
|
||||||
|
|
||||||
|
// Comment from the original
|
||||||
|
// Temp: avoid changing this variable (debug: binded to the actual texture set installed)
|
||||||
|
if( dst->Name.compare( "HDTextureInstalled" ) == 0 )
|
||||||
|
continue;
|
||||||
|
|
||||||
|
NLMISC::CConfigFile::CVar *src = dcf.getVarPtr( dst->Name );
|
||||||
|
if( ( src != NULL ) && !dst->Root &&
|
||||||
|
( ( src->Type == NLMISC::CConfigFile::CVar::T_INT ) && ( dst->Type == NLMISC::CConfigFile::CVar::T_INT ) ||
|
||||||
|
( src->Type == NLMISC::CConfigFile::CVar::T_REAL ) && ( dst->Type == NLMISC::CConfigFile::CVar::T_INT ) ||
|
||||||
|
( src->Type == NLMISC::CConfigFile::CVar::T_INT ) && ( dst->Type == NLMISC::CConfigFile::CVar::T_REAL ) ||
|
||||||
|
( src->Type == NLMISC::CConfigFile::CVar::T_REAL ) && ( dst->Type == NLMISC::CConfigFile::CVar::T_REAL ) ||
|
||||||
|
( src->Type == NLMISC::CConfigFile::CVar::T_STRING ) && ( dst->Type == NLMISC::CConfigFile::CVar::T_STRING ) ) )
|
||||||
|
{
|
||||||
|
|
||||||
|
if( src->Type == NLMISC::CConfigFile::CVar::T_INT )
|
||||||
|
{
|
||||||
|
setInt( src->Name.c_str(), src->asInt() );
|
||||||
|
}
|
||||||
|
else if( src->Type == NLMISC::CConfigFile::CVar::T_REAL )
|
||||||
|
{
|
||||||
|
setFloat( src->Name.c_str(), src->asFloat() );
|
||||||
|
}
|
||||||
|
else if( src->Type == NLMISC::CConfigFile::CVar::T_STRING )
|
||||||
|
{
|
||||||
|
setString( src->Name.c_str(), src->asString() );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
bool CConfig::save()
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
cf.save();
|
||||||
|
}
|
||||||
|
catch( NLMISC::Exception &e )
|
||||||
|
{
|
||||||
|
nlwarning( "%s", e.what() );
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool CConfig::getBool( const char *key )
|
||||||
|
{
|
||||||
|
NLMISC::CConfigFile::CVar *var = cf.getVarPtr( key );
|
||||||
|
|
||||||
|
if( var != NULL )
|
||||||
|
{
|
||||||
|
return var->asBool();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
nlwarning( "Couldn't find key %s in %s.", key, cf.getFilename().c_str() );
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
sint32 CConfig::getInt( const char *key )
|
||||||
|
{
|
||||||
|
NLMISC::CConfigFile::CVar *var = cf.getVarPtr( key );
|
||||||
|
|
||||||
|
if( var != NULL )
|
||||||
|
{
|
||||||
|
return var->asInt();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
nlwarning( "Couldn't find key %s in %s.", key, cf.getFilename().c_str() );
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
float CConfig::getFloat( const char *key )
|
||||||
|
{
|
||||||
|
NLMISC::CConfigFile::CVar *var = cf.getVarPtr( key );
|
||||||
|
|
||||||
|
if( var != NULL )
|
||||||
|
{
|
||||||
|
return var->asFloat();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
nlwarning( "Couldn't find key %s in %s.", key, cf.getFilename().c_str() );
|
||||||
|
return 0.0f;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
std::string CConfig::getString( const char *key )
|
||||||
|
{
|
||||||
|
NLMISC::CConfigFile::CVar *var = cf.getVarPtr( key );
|
||||||
|
|
||||||
|
if( var != NULL )
|
||||||
|
{
|
||||||
|
return var->asString();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
nlwarning( "Couldn't find key %s in %s.", key, cf.getFilename().c_str() );
|
||||||
|
return "";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void CConfig::setBool( const char *key, bool value )
|
||||||
|
{
|
||||||
|
NLMISC::CConfigFile::CVar *var = cf.getVarPtr( key );
|
||||||
|
|
||||||
|
if( var != NULL )
|
||||||
|
{
|
||||||
|
if( var->Type == NLMISC::CConfigFile::CVar::T_BOOL )
|
||||||
|
{
|
||||||
|
if( value )
|
||||||
|
var->setAsString( "true" );
|
||||||
|
else
|
||||||
|
var->setAsString( "false" );
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
nlwarning( "Key %s in %s is not a boolean.", key, cf.getFilename().c_str() );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
nlwarning( "Couldn't find key %s in %s.", key, cf.getFilename().c_str() );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void CConfig::setInt(const char *key, sint32 value)
|
||||||
|
{
|
||||||
|
NLMISC::CConfigFile::CVar *var = cf.getVarPtr( key );
|
||||||
|
|
||||||
|
if( var != NULL )
|
||||||
|
{
|
||||||
|
if( var->Type == NLMISC::CConfigFile::CVar::T_INT )
|
||||||
|
var->setAsInt( value );
|
||||||
|
else
|
||||||
|
nlwarning( "Key %s in %s is not an integer.", key, cf.getFilename().c_str() );
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
nlwarning( "Couldn't find key %s in %s.", key, cf.getFilename().c_str() );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void CConfig::setFloat( const char *key, float value )
|
||||||
|
{
|
||||||
|
NLMISC::CConfigFile::CVar *var = cf.getVarPtr( key );
|
||||||
|
|
||||||
|
if( var != NULL )
|
||||||
|
{
|
||||||
|
if( var->Type == NLMISC::CConfigFile::CVar::T_REAL )
|
||||||
|
var->setAsFloat( value );
|
||||||
|
else
|
||||||
|
nlwarning( "Key %s in %s is not a float.", key, cf.getFilename().c_str() );
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
nlwarning( "Couldn't find key %s in %s.", key, cf.getFilename().c_str() );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void CConfig::setString( const char *key, std::string &value )
|
||||||
|
{
|
||||||
|
NLMISC::CConfigFile::CVar *var = cf.getVarPtr( key );
|
||||||
|
|
||||||
|
if( var != NULL )
|
||||||
|
{
|
||||||
|
if( var->Type == NLMISC::CConfigFile::CVar::T_STRING )
|
||||||
|
var->setAsString( value );
|
||||||
|
else
|
||||||
|
nlwarning( "Key %s in %s is not a string.", key, cf.getFilename().c_str() );
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
nlwarning( "Couldn't find key %s in %s.", key, cf.getFilename().c_str() );
|
||||||
|
}
|
||||||
|
}
|
120
code/ryzom/tools/client/client_config_qt/config.h
Normal file
|
@ -0,0 +1,120 @@
|
||||||
|
// Ryzom - MMORPG Framework <http://dev.ryzom.com/projects/ryzom/>
|
||||||
|
// Copyright (C) 2010 Winch Gate Property Limited
|
||||||
|
//
|
||||||
|
// 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 CONFIG_H
|
||||||
|
#define CONFIG_H
|
||||||
|
|
||||||
|
#include <nel/misc/config_file.h>
|
||||||
|
|
||||||
|
/**
|
||||||
|
@brief Wrapper for a Ryzom config file, allows setting and querying values.
|
||||||
|
*/
|
||||||
|
class CConfig
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
CConfig();
|
||||||
|
~CConfig();
|
||||||
|
|
||||||
|
/**
|
||||||
|
@brief Loads a config file.
|
||||||
|
@param fileName - The file to load
|
||||||
|
@return Returns true on success, returns false on failure.
|
||||||
|
*/
|
||||||
|
bool load( const char *fileName );
|
||||||
|
|
||||||
|
/**
|
||||||
|
@brief Reloads the contents of the config file
|
||||||
|
@return Return true on success, returns false on failure.
|
||||||
|
*/
|
||||||
|
bool reload();
|
||||||
|
|
||||||
|
/**
|
||||||
|
@brief Reverts the config file to the default
|
||||||
|
@details Reverts the config file to the default if possible.
|
||||||
|
If there is no default config, it reverts the current changes only.
|
||||||
|
*/
|
||||||
|
void revertToDefault();
|
||||||
|
|
||||||
|
/**
|
||||||
|
@brief Saves the configuration to the config file.
|
||||||
|
@return Returns true on success, returns false on failure.
|
||||||
|
*/
|
||||||
|
bool save();
|
||||||
|
|
||||||
|
/**
|
||||||
|
@brief Queries the value for the specified key.
|
||||||
|
@param key - The key we are interested in
|
||||||
|
@return Returns the value as a bool, returns false if the key doesn't exist.
|
||||||
|
*/
|
||||||
|
bool getBool( const char *key );
|
||||||
|
|
||||||
|
/**
|
||||||
|
@brief Queries the value for the specified key.
|
||||||
|
@param key - The key we are interested in
|
||||||
|
@return Returns the value as an integer, returns 0 if the key doesn't exist.
|
||||||
|
*/
|
||||||
|
sint32 getInt( const char *key );
|
||||||
|
|
||||||
|
/**
|
||||||
|
@brief Queries the value for the specified key.
|
||||||
|
@param key - The key we are interested in
|
||||||
|
@return Returns the value as a float, returns 0.0f if the key doesn't exist.
|
||||||
|
*/
|
||||||
|
float getFloat( const char *key );
|
||||||
|
|
||||||
|
/**
|
||||||
|
@brief Queries the value for the specified key.
|
||||||
|
@param key - The key we are interested in
|
||||||
|
@return Returns the value as a std::string, returns an empty string if the key doesn't exist.
|
||||||
|
*/
|
||||||
|
std::string getString( const char *key );
|
||||||
|
|
||||||
|
/**
|
||||||
|
@brief Sets the specified key to the specified value.
|
||||||
|
@param key - the key we want to alter
|
||||||
|
@param value - the value we want to set
|
||||||
|
*/
|
||||||
|
void setBool( const char *key, bool value );
|
||||||
|
|
||||||
|
/**
|
||||||
|
@brief Sets the specified key to the specified value.
|
||||||
|
@param key - the key we want to alter
|
||||||
|
@param value - the value we want to set
|
||||||
|
*/
|
||||||
|
void setInt( const char *key, sint32 value );
|
||||||
|
|
||||||
|
/**
|
||||||
|
@brief Sets the specified key to the specified value.
|
||||||
|
@param key - the key we want to alter
|
||||||
|
@param value - the value we want to set
|
||||||
|
*/
|
||||||
|
void setFloat( const char *key, float value );
|
||||||
|
|
||||||
|
/**
|
||||||
|
@brief Sets the specified key to the specified value.
|
||||||
|
@param key - the key we want to alter
|
||||||
|
@param value - the value we want to set
|
||||||
|
*/
|
||||||
|
void setString( const char *key, std::string &value );
|
||||||
|
|
||||||
|
private:
|
||||||
|
// config file
|
||||||
|
NLMISC::CConfigFile cf;
|
||||||
|
// default config file
|
||||||
|
NLMISC::CConfigFile dcf;
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif
|
|
@ -0,0 +1,86 @@
|
||||||
|
// Ryzom - MMORPG Framework <http://dev.ryzom.com/projects/ryzom/>
|
||||||
|
// Copyright (C) 2010 Winch Gate Property Limited
|
||||||
|
//
|
||||||
|
// 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 "display_settings_advanced_widget.h"
|
||||||
|
#include "system.h"
|
||||||
|
|
||||||
|
CDisplaySettingsAdvancedWidget::CDisplaySettingsAdvancedWidget( QWidget *parent ) :
|
||||||
|
CWidgetBase( parent )
|
||||||
|
{
|
||||||
|
setupUi( this );
|
||||||
|
load();
|
||||||
|
|
||||||
|
connect( texcompressionCheckBox, SIGNAL( clicked( bool ) ), this, SLOT( onSomethingChanged() ) );
|
||||||
|
connect( vertexshaderCheckBox, SIGNAL( clicked( bool ) ), this, SLOT( onSomethingChanged() ) );
|
||||||
|
connect( verticesagpCheckBox, SIGNAL( clicked( bool ) ), this, SLOT( onSomethingChanged() ) );
|
||||||
|
connect( pixelshadersCheckBox, SIGNAL( clicked( bool ) ), this, SLOT( onSomethingChanged() ) );
|
||||||
|
}
|
||||||
|
|
||||||
|
CDisplaySettingsAdvancedWidget::~CDisplaySettingsAdvancedWidget()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
void CDisplaySettingsAdvancedWidget::load()
|
||||||
|
{
|
||||||
|
CSystem &s = CSystem::GetInstance();
|
||||||
|
|
||||||
|
if( s.config.getInt( "ForceDXTC" ) == 1 )
|
||||||
|
texcompressionCheckBox->setChecked( true );
|
||||||
|
|
||||||
|
if( s.config.getInt( "DisableVtxProgram" ) == 1 )
|
||||||
|
vertexshaderCheckBox->setChecked( true );
|
||||||
|
|
||||||
|
if( s.config.getInt( "DisableVtxAGP" ) == 1 )
|
||||||
|
verticesagpCheckBox->setChecked( true );
|
||||||
|
|
||||||
|
if( s.config.getInt( "DisableTextureShdr" ) == 1 )
|
||||||
|
pixelshadersCheckBox->setChecked( true );
|
||||||
|
}
|
||||||
|
|
||||||
|
void CDisplaySettingsAdvancedWidget::save()
|
||||||
|
{
|
||||||
|
CSystem &s = CSystem::GetInstance();
|
||||||
|
|
||||||
|
if( texcompressionCheckBox->isChecked() )
|
||||||
|
s.config.setInt( "ForceDXTC", 1 );
|
||||||
|
else
|
||||||
|
s.config.setInt( "ForceDXTC", 0 );
|
||||||
|
|
||||||
|
if( vertexshaderCheckBox->isChecked() )
|
||||||
|
s.config.setInt( "DisableVtxProgram", 1 );
|
||||||
|
else
|
||||||
|
s.config.setInt( "DisableVtxProgram", 0 );
|
||||||
|
|
||||||
|
if( verticesagpCheckBox->isChecked() )
|
||||||
|
s.config.setInt( "DisableVtxAGP", 1 );
|
||||||
|
else
|
||||||
|
s.config.setInt( "DisableVtxAGP", 0 );
|
||||||
|
|
||||||
|
if( pixelshadersCheckBox->isChecked() )
|
||||||
|
s.config.setInt( "DisableTextureShdr", 1 );
|
||||||
|
else
|
||||||
|
s.config.setInt( "DisableTextureShdr", 0 );
|
||||||
|
}
|
||||||
|
|
||||||
|
void CDisplaySettingsAdvancedWidget::changeEvent( QEvent *event )
|
||||||
|
{
|
||||||
|
if( event->type() == QEvent::LanguageChange )
|
||||||
|
{
|
||||||
|
retranslateUi( this );
|
||||||
|
}
|
||||||
|
|
||||||
|
QWidget::changeEvent( event );
|
||||||
|
}
|
|
@ -0,0 +1,41 @@
|
||||||
|
// Ryzom - MMORPG Framework <http://dev.ryzom.com/projects/ryzom/>
|
||||||
|
// Copyright (C) 2010 Winch Gate Property Limited
|
||||||
|
//
|
||||||
|
// 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 DISPLAYSETTINGSADVANCEDWIDGET_H
|
||||||
|
#define DISPLAYSETTINGSADVANCEDWIDGET_H
|
||||||
|
|
||||||
|
#include "ui_display_settings_advanced_widget.h"
|
||||||
|
#include "widget_base.h"
|
||||||
|
|
||||||
|
/**
|
||||||
|
@brief The advanced display settings page of the configuration tool
|
||||||
|
*/
|
||||||
|
class CDisplaySettingsAdvancedWidget : public CWidgetBase, public Ui::display_settings_advanced_widget
|
||||||
|
{
|
||||||
|
Q_OBJECT
|
||||||
|
public:
|
||||||
|
CDisplaySettingsAdvancedWidget( QWidget *parent );
|
||||||
|
~CDisplaySettingsAdvancedWidget();
|
||||||
|
|
||||||
|
void load();
|
||||||
|
void save();
|
||||||
|
|
||||||
|
protected:
|
||||||
|
void changeEvent( QEvent *event );
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif // DISPLAYSETTINGSADVANCEDWIDGET_H
|
|
@ -0,0 +1,77 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<ui version="4.0">
|
||||||
|
<class>display_settings_advanced_widget</class>
|
||||||
|
<widget class="QWidget" name="display_settings_advanced_widget">
|
||||||
|
<property name="geometry">
|
||||||
|
<rect>
|
||||||
|
<x>0</x>
|
||||||
|
<y>0</y>
|
||||||
|
<width>391</width>
|
||||||
|
<height>429</height>
|
||||||
|
</rect>
|
||||||
|
</property>
|
||||||
|
<property name="windowTitle">
|
||||||
|
<string>Display advanced</string>
|
||||||
|
</property>
|
||||||
|
<layout class="QVBoxLayout" name="verticalLayout_3">
|
||||||
|
<item>
|
||||||
|
<layout class="QVBoxLayout" name="verticalLayout_2">
|
||||||
|
<item>
|
||||||
|
<widget class="QLabel" name="label">
|
||||||
|
<property name="text">
|
||||||
|
<string>Modify these settings only if you have trouble launching the game</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<layout class="QVBoxLayout" name="verticalLayout">
|
||||||
|
<item>
|
||||||
|
<widget class="QCheckBox" name="texcompressionCheckBox">
|
||||||
|
<property name="text">
|
||||||
|
<string>Disable texture compression</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QCheckBox" name="vertexshaderCheckBox">
|
||||||
|
<property name="text">
|
||||||
|
<string>Disable vertex shaders</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QCheckBox" name="verticesagpCheckBox">
|
||||||
|
<property name="text">
|
||||||
|
<string>Disable AGP for vertices</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QCheckBox" name="pixelshadersCheckBox">
|
||||||
|
<property name="text">
|
||||||
|
<string>Disable pixel shaders</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<spacer name="verticalSpacer">
|
||||||
|
<property name="orientation">
|
||||||
|
<enum>Qt::Vertical</enum>
|
||||||
|
</property>
|
||||||
|
<property name="sizeHint" stdset="0">
|
||||||
|
<size>
|
||||||
|
<width>20</width>
|
||||||
|
<height>293</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
</spacer>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</widget>
|
||||||
|
<resources/>
|
||||||
|
<connections/>
|
||||||
|
</ui>
|
|
@ -0,0 +1,268 @@
|
||||||
|
// Ryzom - MMORPG Framework <http://dev.ryzom.com/projects/ryzom/>
|
||||||
|
// Copyright (C) 2010 Winch Gate Property Limited
|
||||||
|
//
|
||||||
|
// 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 "system.h"
|
||||||
|
#include "display_settings_details_widget.h"
|
||||||
|
|
||||||
|
CDisplaySettingsDetailsWidget::CDisplaySettingsDetailsWidget( QWidget *parent ) :
|
||||||
|
CWidgetBase( parent )
|
||||||
|
{
|
||||||
|
setupUi( this );
|
||||||
|
connect( landscapeSlider, SIGNAL( valueChanged( int ) ), this, SLOT( onLandscapeSliderChange( int ) ) );
|
||||||
|
connect( charactersSlider, SIGNAL( valueChanged( int ) ), this, SLOT( onCharactersSliderChange( int ) ) );
|
||||||
|
connect( fxSlider, SIGNAL( valueChanged( int ) ), this, SLOT( onFXSliderChange( int ) ) );
|
||||||
|
connect( texturesSlider, SIGNAL( valueChanged( int ) ), this, SLOT( onTexturesSliderChange( int ) ) );
|
||||||
|
load();
|
||||||
|
}
|
||||||
|
|
||||||
|
CDisplaySettingsDetailsWidget::~CDisplaySettingsDetailsWidget()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
void CDisplaySettingsDetailsWidget::load()
|
||||||
|
{
|
||||||
|
CSystem &s = CSystem::GetInstance();
|
||||||
|
|
||||||
|
landscapeSlider->setValue( getQuality( qualityToLandscapeThreshold, s.config.getFloat( "LandscapeThreshold" ) ) );
|
||||||
|
landscapeSlider->setValue( std::min( landscapeSlider->value(), getQuality( qualityToZFar, s.config.getFloat( "Vision" ) ) ) );
|
||||||
|
landscapeSlider->setValue( std::min( landscapeSlider->value(), getQuality( qualityToLandscapeTileNear, s.config.getFloat( "LandscapeTileNear" ) ) ) );
|
||||||
|
landscapeSlider->setValue( std::min( landscapeSlider->value(), getQuality( qualityToMicrovegetDensity, s.config.getFloat( "MicroVegetDensity" ) ) ) );
|
||||||
|
|
||||||
|
charactersSlider->setValue( getQuality( qualityToSkinNbMaxPoly, s.config.getInt( "SkinNbMaxPoly" ) ) );
|
||||||
|
charactersSlider->setValue( std::min( charactersSlider->value(), getQuality( qualityToNbMaxSkeletonNotCLod, s.config.getInt( "NbMaxSkeletonNotCLod" ) ) ) );
|
||||||
|
charactersSlider->setValue( std::min( charactersSlider->value(), getQuality( qualityToCharacterFarClip, s.config.getFloat( "CharacterFarClip" ) ) ) );
|
||||||
|
|
||||||
|
fxSlider->setValue( getQuality( qualityToFxNbMaxPoly, s.config.getInt( "FxNbMaxPoly" ) ) );
|
||||||
|
|
||||||
|
int hdTextureInstalled = s.config.getInt( "HDTextureInstalled" );
|
||||||
|
if( hdTextureInstalled == 1 )
|
||||||
|
texturesSlider->setMaximum( QUALITY_NORMAL );
|
||||||
|
else
|
||||||
|
texturesSlider->setMaximum( QUALITY_MEDIUM );
|
||||||
|
|
||||||
|
// Comment taken from the original config tool:
|
||||||
|
// NB: if the player changes its client.cfg, mixing HDEntityTexture=1 and DivideTextureSizeBy2=1, it will
|
||||||
|
// result to a low quality!
|
||||||
|
if( s.config.getInt( "DivideTextureSizeBy2" ) )
|
||||||
|
texturesSlider->setValue( QUALITY_LOW );
|
||||||
|
else if( s.config.getInt( "HDEntityTexture" ) && ( hdTextureInstalled == 1 ) )
|
||||||
|
texturesSlider->setValue( QUALITY_NORMAL );
|
||||||
|
else
|
||||||
|
texturesSlider->setValue( QUALITY_MEDIUM );
|
||||||
|
}
|
||||||
|
|
||||||
|
void CDisplaySettingsDetailsWidget::save()
|
||||||
|
{
|
||||||
|
CSystem &s = CSystem::GetInstance();
|
||||||
|
|
||||||
|
s.config.setFloat( "Vision", qualityToZFar[ landscapeSlider->value() ] );
|
||||||
|
s.config.setFloat( "LandscapeTileNear", qualityToLandscapeTileNear[ landscapeSlider->value() ] );
|
||||||
|
s.config.setFloat( "LandscapeThreshold", qualityToLandscapeThreshold[ landscapeSlider->value() ] );
|
||||||
|
|
||||||
|
if( landscapeSlider->value() > QUALITY_LOW )
|
||||||
|
s.config.setInt( "MicroVeget", 1 );
|
||||||
|
else
|
||||||
|
s.config.setInt( "MicroVeget", 0 );
|
||||||
|
|
||||||
|
s.config.setFloat( "MicroVegetDensity", qualityToMicrovegetDensity[ landscapeSlider->value() ] );
|
||||||
|
|
||||||
|
|
||||||
|
s.config.setInt( "SkinNbMaxPoly", qualityToSkinNbMaxPoly[ charactersSlider->value() ] );
|
||||||
|
s.config.setInt( "NbMaxSkeletonNotCLod", qualityToNbMaxSkeletonNotCLod[ charactersSlider->value() ] );
|
||||||
|
s.config.setFloat( "CharacterFarClip", qualityToCharacterFarClip[ charactersSlider->value() ] );
|
||||||
|
|
||||||
|
|
||||||
|
s.config.setInt( "FxNbMaxPoly", qualityToFxNbMaxPoly[ fxSlider->value() ] );
|
||||||
|
if( fxSlider->value() > QUALITY_LOW )
|
||||||
|
{
|
||||||
|
s.config.setInt( "Shadows", 1 );
|
||||||
|
s.config.setInt( "Bloom", 1 );
|
||||||
|
s.config.setInt( "SquareBloom", 1 );
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
s.config.setInt( "Shadows", 0 );
|
||||||
|
s.config.setInt( "Bloom", 0 );
|
||||||
|
s.config.setInt( "SquareBloom", 0 );
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
if( texturesSlider->value() == QUALITY_NORMAL )
|
||||||
|
s.config.setInt( "HDEntityTexture", 1 );
|
||||||
|
else if( texturesSlider->value() == QUALITY_LOW )
|
||||||
|
s.config.setInt( "DivideTextureSizeBy2", 1 );
|
||||||
|
}
|
||||||
|
|
||||||
|
void CDisplaySettingsDetailsWidget::changeEvent( QEvent *event )
|
||||||
|
{
|
||||||
|
if( event->type() == QEvent::LanguageChange )
|
||||||
|
{
|
||||||
|
retranslateUi( this );
|
||||||
|
|
||||||
|
landscapeLabel->setText( getQualityString( landscapeSlider->value() ) );
|
||||||
|
characterLabel->setText( getQualityString( charactersSlider->value() ) );
|
||||||
|
fxLabel->setText( getQualityString( fxSlider->value() ) );
|
||||||
|
textureLabel->setText( getTextureQualityString( texturesSlider->value() ) );
|
||||||
|
}
|
||||||
|
QWidget::changeEvent( event );
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void CDisplaySettingsDetailsWidget::onLandscapeSliderChange( int value )
|
||||||
|
{
|
||||||
|
if( ( value < 0 ) || ( value > 3 ) )
|
||||||
|
return;
|
||||||
|
|
||||||
|
landscapeLabel->setText( getQualityString( value ) );
|
||||||
|
emit changed();
|
||||||
|
}
|
||||||
|
|
||||||
|
void CDisplaySettingsDetailsWidget::onCharactersSliderChange( int value )
|
||||||
|
{
|
||||||
|
if( ( value < 0 ) || ( value > 3 ) )
|
||||||
|
return;
|
||||||
|
|
||||||
|
characterLabel->setText( getQualityString( value ) );
|
||||||
|
emit changed();
|
||||||
|
}
|
||||||
|
|
||||||
|
void CDisplaySettingsDetailsWidget::onFXSliderChange( int value )
|
||||||
|
{
|
||||||
|
if( ( value < 0 ) || ( value > 3 ) )
|
||||||
|
return;
|
||||||
|
|
||||||
|
fxLabel->setText( getQualityString( value ) );
|
||||||
|
emit changed();
|
||||||
|
}
|
||||||
|
|
||||||
|
void CDisplaySettingsDetailsWidget::onTexturesSliderChange( int value )
|
||||||
|
{
|
||||||
|
if( ( value < 0 ) || ( value > 3 ) )
|
||||||
|
return;
|
||||||
|
|
||||||
|
textureLabel->setText( getTextureQualityString( value ) );
|
||||||
|
emit changed();
|
||||||
|
}
|
||||||
|
|
||||||
|
const float CDisplaySettingsDetailsWidget::qualityToZFar[ QUALITY_STEP ] =
|
||||||
|
{
|
||||||
|
200.0f,
|
||||||
|
400.0f,
|
||||||
|
500.0f,
|
||||||
|
800.0f
|
||||||
|
};
|
||||||
|
|
||||||
|
const float CDisplaySettingsDetailsWidget::qualityToLandscapeTileNear[ QUALITY_STEP ] =
|
||||||
|
{
|
||||||
|
20.0f,
|
||||||
|
100.0f,
|
||||||
|
150.0f,
|
||||||
|
200.0f
|
||||||
|
};
|
||||||
|
|
||||||
|
const float CDisplaySettingsDetailsWidget::qualityToLandscapeThreshold[ QUALITY_STEP ] =
|
||||||
|
{
|
||||||
|
100.0f,
|
||||||
|
1000.0f,
|
||||||
|
2000.0f,
|
||||||
|
3000.0f
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
const float CDisplaySettingsDetailsWidget::qualityToMicrovegetDensity[ QUALITY_STEP ] =
|
||||||
|
{
|
||||||
|
10.0f,
|
||||||
|
30.0f,
|
||||||
|
80.0f,
|
||||||
|
100.0f
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
const sint32 CDisplaySettingsDetailsWidget::qualityToSkinNbMaxPoly[ QUALITY_STEP ] =
|
||||||
|
{
|
||||||
|
10000,
|
||||||
|
70000,
|
||||||
|
100000,
|
||||||
|
200000
|
||||||
|
};
|
||||||
|
|
||||||
|
const sint32 CDisplaySettingsDetailsWidget::qualityToNbMaxSkeletonNotCLod[ QUALITY_STEP ] =
|
||||||
|
{
|
||||||
|
10,
|
||||||
|
50,
|
||||||
|
125,
|
||||||
|
255
|
||||||
|
};
|
||||||
|
|
||||||
|
const float CDisplaySettingsDetailsWidget::qualityToCharacterFarClip[ QUALITY_STEP ] =
|
||||||
|
{
|
||||||
|
50.0f,
|
||||||
|
100.0f,
|
||||||
|
200.0f,
|
||||||
|
500.0f
|
||||||
|
};
|
||||||
|
|
||||||
|
const sint32 CDisplaySettingsDetailsWidget::qualityToFxNbMaxPoly[ QUALITY_STEP ] =
|
||||||
|
{
|
||||||
|
2000,
|
||||||
|
10000,
|
||||||
|
20000,
|
||||||
|
50000
|
||||||
|
};
|
||||||
|
|
||||||
|
QString CDisplaySettingsDetailsWidget::getQualityString( uint32 quality )
|
||||||
|
{
|
||||||
|
switch( quality )
|
||||||
|
{
|
||||||
|
case QUALITY_LOW:
|
||||||
|
return tr( "Low" );
|
||||||
|
break;
|
||||||
|
case QUALITY_MEDIUM:
|
||||||
|
return tr( "Medium" );
|
||||||
|
break;
|
||||||
|
case QUALITY_NORMAL:
|
||||||
|
return tr( "Normal" );
|
||||||
|
break;
|
||||||
|
case QUALITY_HIGH:
|
||||||
|
return tr( "High" );
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
return "";
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
QString CDisplaySettingsDetailsWidget::getTextureQualityString( uint32 quality )
|
||||||
|
{
|
||||||
|
switch( quality )
|
||||||
|
{
|
||||||
|
case TEXQUALITY_LOW:
|
||||||
|
return tr( "Low (32 MB)" );
|
||||||
|
break;
|
||||||
|
|
||||||
|
case TEXQUALITY_NORMAL:
|
||||||
|
return tr( "Normal (64 MB)" );
|
||||||
|
break;
|
||||||
|
|
||||||
|
case TEXQUALITY_HIGH:
|
||||||
|
return tr( "High (128 MB)" );
|
||||||
|
break;
|
||||||
|
|
||||||
|
default:
|
||||||
|
return "";
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,121 @@
|
||||||
|
// Ryzom - MMORPG Framework <http://dev.ryzom.com/projects/ryzom/>
|
||||||
|
// Copyright (C) 2010 Winch Gate Property Limited
|
||||||
|
//
|
||||||
|
// 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 DISPLAYSETTINGSDETAILSWIDGET_H
|
||||||
|
#define DISPLAYSETTINGSDETAILSWIDGET_H
|
||||||
|
|
||||||
|
#include "ui_display_settings_details_widget.h"
|
||||||
|
#include "widget_base.h"
|
||||||
|
#include <nel/misc/types_nl.h>
|
||||||
|
|
||||||
|
enum
|
||||||
|
{
|
||||||
|
QUALITY_LOW = 0,
|
||||||
|
QUALITY_MEDIUM = 1,
|
||||||
|
QUALITY_NORMAL = 2,
|
||||||
|
QUALITY_HIGH = 3,
|
||||||
|
QUALITY_STEP = 4
|
||||||
|
};
|
||||||
|
|
||||||
|
enum
|
||||||
|
{
|
||||||
|
TEXQUALITY_LOW = 0,
|
||||||
|
TEXQUALITY_NORMAL = 1,
|
||||||
|
TEXQUALITY_HIGH = 2
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
@brief The display details page of the configuration tool
|
||||||
|
*/
|
||||||
|
class CDisplaySettingsDetailsWidget : public CWidgetBase, public Ui::display_settings_details_widget
|
||||||
|
{
|
||||||
|
Q_OBJECT
|
||||||
|
public:
|
||||||
|
CDisplaySettingsDetailsWidget( QWidget *parent = NULL );
|
||||||
|
~CDisplaySettingsDetailsWidget();
|
||||||
|
|
||||||
|
void load();
|
||||||
|
void save();
|
||||||
|
|
||||||
|
protected:
|
||||||
|
void changeEvent( QEvent *event );
|
||||||
|
|
||||||
|
private slots:
|
||||||
|
void onLandscapeSliderChange( int value );
|
||||||
|
void onCharactersSliderChange( int value );
|
||||||
|
void onFXSliderChange( int value );
|
||||||
|
void onTexturesSliderChange( int value );
|
||||||
|
|
||||||
|
private:
|
||||||
|
/**
|
||||||
|
@brief Looks up and returns the "quality" ( see the enums on the top), that belongs to the specified value.
|
||||||
|
@param table - The lookup table you want to use.
|
||||||
|
@param value - The value that we want to look up.
|
||||||
|
@return Returns the "quality" that best fits the specified value.
|
||||||
|
*/
|
||||||
|
template< typename T >
|
||||||
|
int getQuality( const T *table, T value )
|
||||||
|
{
|
||||||
|
if( table[ 0 ] < table[ QUALITY_STEP - 1 ] )
|
||||||
|
{
|
||||||
|
uint32 i = 0;
|
||||||
|
while( ( i < QUALITY_STEP ) && ( table[ i ] < value ) )
|
||||||
|
i++;
|
||||||
|
return i;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
uint32 i = 0;
|
||||||
|
while( ( i < QUALITY_STEP ) && ( table[ i ] > value ) )
|
||||||
|
i++;
|
||||||
|
return i;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
@brief Retrieves the string that belongs to the specified quality.
|
||||||
|
@param quality - The quality value
|
||||||
|
@return Returns a string describing the quality value, Returns an empty string if an invalid value is specified.
|
||||||
|
*/
|
||||||
|
static QString getQualityString( uint32 quality );
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
@brief Retrieves the string that belongs to the specified texture quality.
|
||||||
|
@param quality - The texture quality value
|
||||||
|
@return Returns a string describing the texture quality, Returns an empty string if an invalid value is specified.
|
||||||
|
*/
|
||||||
|
static QString getTextureQualityString( uint32 quality );
|
||||||
|
|
||||||
|
|
||||||
|
///////////////////////// Landscape values ///////////////////////
|
||||||
|
static const float qualityToZFar[ QUALITY_STEP ];
|
||||||
|
static const float qualityToLandscapeTileNear[ QUALITY_STEP ];
|
||||||
|
static const float qualityToLandscapeThreshold[ QUALITY_STEP ];
|
||||||
|
static const float qualityToMicrovegetDensity[ QUALITY_STEP ];
|
||||||
|
|
||||||
|
//////////////////////// Character values ////////////////////////
|
||||||
|
static const sint32 qualityToSkinNbMaxPoly[ QUALITY_STEP ];
|
||||||
|
static const sint32 qualityToNbMaxSkeletonNotCLod[ QUALITY_STEP ];
|
||||||
|
static const float qualityToCharacterFarClip[ QUALITY_STEP ];
|
||||||
|
|
||||||
|
/////////////////////// FX values ////////////////////////////////
|
||||||
|
static const sint32 qualityToFxNbMaxPoly[ QUALITY_STEP ];
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif // DISPLAYSETTINGSDETAILSWIDGET_H
|
|
@ -0,0 +1,347 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<ui version="4.0">
|
||||||
|
<class>display_settings_details_widget</class>
|
||||||
|
<widget class="QWidget" name="display_settings_details_widget">
|
||||||
|
<property name="geometry">
|
||||||
|
<rect>
|
||||||
|
<x>0</x>
|
||||||
|
<y>0</y>
|
||||||
|
<width>391</width>
|
||||||
|
<height>429</height>
|
||||||
|
</rect>
|
||||||
|
</property>
|
||||||
|
<property name="windowTitle">
|
||||||
|
<string>Display details</string>
|
||||||
|
</property>
|
||||||
|
<layout class="QVBoxLayout" name="verticalLayout_9">
|
||||||
|
<item>
|
||||||
|
<widget class="QGroupBox" name="groupBox">
|
||||||
|
<property name="title">
|
||||||
|
<string>Landscape</string>
|
||||||
|
</property>
|
||||||
|
<layout class="QHBoxLayout" name="horizontalLayout_2">
|
||||||
|
<item>
|
||||||
|
<layout class="QVBoxLayout" name="verticalLayout">
|
||||||
|
<item>
|
||||||
|
<layout class="QHBoxLayout" name="horizontalLayout">
|
||||||
|
<item>
|
||||||
|
<widget class="QLabel" name="label">
|
||||||
|
<property name="text">
|
||||||
|
<string>Level of detail</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<spacer name="horizontalSpacer">
|
||||||
|
<property name="orientation">
|
||||||
|
<enum>Qt::Horizontal</enum>
|
||||||
|
</property>
|
||||||
|
<property name="sizeHint" stdset="0">
|
||||||
|
<size>
|
||||||
|
<width>98</width>
|
||||||
|
<height>20</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
</spacer>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QSlider" name="landscapeSlider">
|
||||||
|
<property name="sizePolicy">
|
||||||
|
<sizepolicy hsizetype="Minimum" vsizetype="Fixed">
|
||||||
|
<horstretch>0</horstretch>
|
||||||
|
<verstretch>0</verstretch>
|
||||||
|
</sizepolicy>
|
||||||
|
</property>
|
||||||
|
<property name="maximum">
|
||||||
|
<number>3</number>
|
||||||
|
</property>
|
||||||
|
<property name="pageStep">
|
||||||
|
<number>3</number>
|
||||||
|
</property>
|
||||||
|
<property name="orientation">
|
||||||
|
<enum>Qt::Horizontal</enum>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<layout class="QVBoxLayout" name="verticalLayout_5">
|
||||||
|
<item>
|
||||||
|
<spacer name="horizontalSpacer_2">
|
||||||
|
<property name="orientation">
|
||||||
|
<enum>Qt::Horizontal</enum>
|
||||||
|
</property>
|
||||||
|
<property name="sizeHint" stdset="0">
|
||||||
|
<size>
|
||||||
|
<width>78</width>
|
||||||
|
<height>20</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
</spacer>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QLabel" name="landscapeLabel">
|
||||||
|
<property name="sizePolicy">
|
||||||
|
<sizepolicy hsizetype="Minimum" vsizetype="Minimum">
|
||||||
|
<horstretch>0</horstretch>
|
||||||
|
<verstretch>0</verstretch>
|
||||||
|
</sizepolicy>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>Low</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QGroupBox" name="groupBox_2">
|
||||||
|
<property name="title">
|
||||||
|
<string>Characters</string>
|
||||||
|
</property>
|
||||||
|
<layout class="QHBoxLayout" name="horizontalLayout_6">
|
||||||
|
<item>
|
||||||
|
<layout class="QVBoxLayout" name="verticalLayout_2">
|
||||||
|
<item>
|
||||||
|
<layout class="QHBoxLayout" name="horizontalLayout_3">
|
||||||
|
<item>
|
||||||
|
<widget class="QLabel" name="label_3">
|
||||||
|
<property name="text">
|
||||||
|
<string>Level of detail</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<spacer name="horizontalSpacer_3">
|
||||||
|
<property name="orientation">
|
||||||
|
<enum>Qt::Horizontal</enum>
|
||||||
|
</property>
|
||||||
|
<property name="sizeHint" stdset="0">
|
||||||
|
<size>
|
||||||
|
<width>98</width>
|
||||||
|
<height>20</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
</spacer>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QSlider" name="charactersSlider">
|
||||||
|
<property name="sizePolicy">
|
||||||
|
<sizepolicy hsizetype="Minimum" vsizetype="Fixed">
|
||||||
|
<horstretch>0</horstretch>
|
||||||
|
<verstretch>0</verstretch>
|
||||||
|
</sizepolicy>
|
||||||
|
</property>
|
||||||
|
<property name="maximum">
|
||||||
|
<number>3</number>
|
||||||
|
</property>
|
||||||
|
<property name="pageStep">
|
||||||
|
<number>3</number>
|
||||||
|
</property>
|
||||||
|
<property name="orientation">
|
||||||
|
<enum>Qt::Horizontal</enum>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<layout class="QVBoxLayout" name="verticalLayout_6">
|
||||||
|
<item>
|
||||||
|
<spacer name="horizontalSpacer_6">
|
||||||
|
<property name="orientation">
|
||||||
|
<enum>Qt::Horizontal</enum>
|
||||||
|
</property>
|
||||||
|
<property name="sizeHint" stdset="0">
|
||||||
|
<size>
|
||||||
|
<width>78</width>
|
||||||
|
<height>20</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
</spacer>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QLabel" name="characterLabel">
|
||||||
|
<property name="text">
|
||||||
|
<string>Low</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QGroupBox" name="groupBox_3">
|
||||||
|
<property name="title">
|
||||||
|
<string>FX</string>
|
||||||
|
</property>
|
||||||
|
<layout class="QHBoxLayout" name="horizontalLayout_7">
|
||||||
|
<item>
|
||||||
|
<layout class="QVBoxLayout" name="verticalLayout_3">
|
||||||
|
<item>
|
||||||
|
<layout class="QHBoxLayout" name="horizontalLayout_4">
|
||||||
|
<item>
|
||||||
|
<widget class="QLabel" name="label_5">
|
||||||
|
<property name="text">
|
||||||
|
<string>Level of detail</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<spacer name="horizontalSpacer_4">
|
||||||
|
<property name="orientation">
|
||||||
|
<enum>Qt::Horizontal</enum>
|
||||||
|
</property>
|
||||||
|
<property name="sizeHint" stdset="0">
|
||||||
|
<size>
|
||||||
|
<width>98</width>
|
||||||
|
<height>20</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
</spacer>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QSlider" name="fxSlider">
|
||||||
|
<property name="sizePolicy">
|
||||||
|
<sizepolicy hsizetype="Minimum" vsizetype="Fixed">
|
||||||
|
<horstretch>0</horstretch>
|
||||||
|
<verstretch>0</verstretch>
|
||||||
|
</sizepolicy>
|
||||||
|
</property>
|
||||||
|
<property name="maximum">
|
||||||
|
<number>3</number>
|
||||||
|
</property>
|
||||||
|
<property name="pageStep">
|
||||||
|
<number>3</number>
|
||||||
|
</property>
|
||||||
|
<property name="orientation">
|
||||||
|
<enum>Qt::Horizontal</enum>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<layout class="QVBoxLayout" name="verticalLayout_7">
|
||||||
|
<item>
|
||||||
|
<spacer name="horizontalSpacer_7">
|
||||||
|
<property name="orientation">
|
||||||
|
<enum>Qt::Horizontal</enum>
|
||||||
|
</property>
|
||||||
|
<property name="sizeHint" stdset="0">
|
||||||
|
<size>
|
||||||
|
<width>78</width>
|
||||||
|
<height>20</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
</spacer>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QLabel" name="fxLabel">
|
||||||
|
<property name="text">
|
||||||
|
<string>Low</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QGroupBox" name="groupBox_4">
|
||||||
|
<property name="title">
|
||||||
|
<string>Textures</string>
|
||||||
|
</property>
|
||||||
|
<layout class="QHBoxLayout" name="horizontalLayout_8">
|
||||||
|
<item>
|
||||||
|
<layout class="QVBoxLayout" name="verticalLayout_4">
|
||||||
|
<item>
|
||||||
|
<layout class="QHBoxLayout" name="horizontalLayout_5">
|
||||||
|
<item>
|
||||||
|
<widget class="QLabel" name="label_7">
|
||||||
|
<property name="text">
|
||||||
|
<string>Level of detail</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<spacer name="horizontalSpacer_5">
|
||||||
|
<property name="orientation">
|
||||||
|
<enum>Qt::Horizontal</enum>
|
||||||
|
</property>
|
||||||
|
<property name="sizeHint" stdset="0">
|
||||||
|
<size>
|
||||||
|
<width>98</width>
|
||||||
|
<height>20</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
</spacer>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QSlider" name="texturesSlider">
|
||||||
|
<property name="sizePolicy">
|
||||||
|
<sizepolicy hsizetype="Minimum" vsizetype="Fixed">
|
||||||
|
<horstretch>0</horstretch>
|
||||||
|
<verstretch>0</verstretch>
|
||||||
|
</sizepolicy>
|
||||||
|
</property>
|
||||||
|
<property name="maximum">
|
||||||
|
<number>3</number>
|
||||||
|
</property>
|
||||||
|
<property name="pageStep">
|
||||||
|
<number>3</number>
|
||||||
|
</property>
|
||||||
|
<property name="orientation">
|
||||||
|
<enum>Qt::Horizontal</enum>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<layout class="QVBoxLayout" name="verticalLayout_8">
|
||||||
|
<item>
|
||||||
|
<spacer name="horizontalSpacer_8">
|
||||||
|
<property name="orientation">
|
||||||
|
<enum>Qt::Horizontal</enum>
|
||||||
|
</property>
|
||||||
|
<property name="sizeHint" stdset="0">
|
||||||
|
<size>
|
||||||
|
<width>78</width>
|
||||||
|
<height>20</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
</spacer>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QLabel" name="textureLabel">
|
||||||
|
<property name="text">
|
||||||
|
<string>Low</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</widget>
|
||||||
|
<resources/>
|
||||||
|
<connections/>
|
||||||
|
</ui>
|
|
@ -0,0 +1,227 @@
|
||||||
|
// Ryzom - MMORPG Framework <http://dev.ryzom.com/projects/ryzom/>
|
||||||
|
// Copyright (C) 2010 Winch Gate Property Limited
|
||||||
|
//
|
||||||
|
// 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 <string>
|
||||||
|
#include <sstream>
|
||||||
|
#include "display_settings_widget.h"
|
||||||
|
#include "system.h"
|
||||||
|
#include <QRegExpValidator>
|
||||||
|
|
||||||
|
CDisplaySettingsWidget::CDisplaySettingsWidget( QWidget *parent ) :
|
||||||
|
CWidgetBase( parent )
|
||||||
|
{
|
||||||
|
setupUi( this );
|
||||||
|
widthLineEdit->setValidator( new QRegExpValidator( QRegExp( "[0-9]{1,6}" ), widthLineEdit ) );
|
||||||
|
heightLineEdit->setValidator( new QRegExpValidator( QRegExp( "[0-9]{1,6}" ), heightLineEdit ) );
|
||||||
|
xpositionLineEdit->setValidator( new QRegExpValidator( QRegExp( "[0-9]{1,6}" ), xpositionLineEdit ) );
|
||||||
|
ypositionLineEdit->setValidator( new QRegExpValidator( QRegExp( "[0-9]{1,6}" ), ypositionLineEdit ) );
|
||||||
|
load();
|
||||||
|
|
||||||
|
connect( autoRadioButton, SIGNAL( clicked( bool ) ), this, SLOT( onSomethingChanged() ) );
|
||||||
|
connect( openglRadioButton, SIGNAL( clicked( bool ) ), this, SLOT( onSomethingChanged() ) );
|
||||||
|
connect( direct3dRadioButton, SIGNAL( clicked( bool ) ), this, SLOT( onSomethingChanged() ) );
|
||||||
|
connect( fullscreenRadioButton, SIGNAL( clicked( bool ) ), this, SLOT( onSomethingChanged() ) );
|
||||||
|
connect( windowedRadioButton, SIGNAL( clicked( bool ) ), this, SLOT( onSomethingChanged() ) );
|
||||||
|
connect( widthLineEdit, SIGNAL( textChanged( const QString & ) ), this, SLOT( onSomethingChanged() ) );
|
||||||
|
connect( heightLineEdit, SIGNAL( textChanged( const QString & ) ), this, SLOT( onSomethingChanged() ) );
|
||||||
|
connect( xpositionLineEdit, SIGNAL( textChanged( const QString & ) ), this, SLOT( onSomethingChanged() ) );
|
||||||
|
connect( ypositionLineEdit, SIGNAL( textChanged( const QString & ) ), this, SLOT( onSomethingChanged() ) );
|
||||||
|
connect( videomodeComboBox, SIGNAL( currentIndexChanged( int ) ), this, SLOT( onSomethingChanged() ) );
|
||||||
|
connect( autoRadioButton, SIGNAL( clicked( bool ) ), this, SLOT( updateVideoModes() ) );
|
||||||
|
connect( openglRadioButton, SIGNAL( clicked( bool ) ), this, SLOT( updateVideoModes() ) );
|
||||||
|
connect( direct3dRadioButton, SIGNAL( clicked( bool ) ), this, SLOT( updateVideoModes() ) );
|
||||||
|
}
|
||||||
|
|
||||||
|
CDisplaySettingsWidget::~CDisplaySettingsWidget()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
void CDisplaySettingsWidget::load()
|
||||||
|
{
|
||||||
|
CSystem &s = CSystem::GetInstance();
|
||||||
|
|
||||||
|
std::string driver = s.config.getString( "Driver3D" );
|
||||||
|
switch( getDriverFromConfigString( driver ) )
|
||||||
|
{
|
||||||
|
case DRV_AUTO:
|
||||||
|
autoRadioButton->setChecked( true );
|
||||||
|
break;
|
||||||
|
case DRV_OPENGL:
|
||||||
|
openglRadioButton->setChecked( true );
|
||||||
|
break;
|
||||||
|
case DRV_DIRECT3D:
|
||||||
|
direct3dRadioButton->setChecked( true );
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
updateVideoModes();
|
||||||
|
|
||||||
|
|
||||||
|
CVideoMode mode;
|
||||||
|
mode.widht = s.config.getInt( "Width" );
|
||||||
|
mode.height = s.config.getInt( "Height" );
|
||||||
|
mode.depth = s.config.getInt( "Depth" );
|
||||||
|
mode.frequency = s.config.getInt( "Frequency" );
|
||||||
|
|
||||||
|
if( s.config.getInt( "FullScreen" ) == 1 )
|
||||||
|
{
|
||||||
|
fullscreenRadioButton->setChecked( true );
|
||||||
|
videomodeComboBox->setCurrentIndex( findVideoModeIndex( &mode ) );
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
windowedRadioButton->setChecked( true );
|
||||||
|
}
|
||||||
|
|
||||||
|
widthLineEdit->setText( QString( "%1" ).arg( mode.widht ) );
|
||||||
|
heightLineEdit->setText( QString( "%1" ).arg( mode.height ) );
|
||||||
|
xpositionLineEdit->setText( QString( "%1" ).arg( s.config.getInt( "PositionX" ) ) );
|
||||||
|
ypositionLineEdit->setText( QString( "%1" ).arg( s.config.getInt( "PositionY" ) ) );
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
void CDisplaySettingsWidget::save()
|
||||||
|
{
|
||||||
|
CSystem &s = CSystem::GetInstance();
|
||||||
|
|
||||||
|
if( openglRadioButton->isChecked() )
|
||||||
|
s.config.setString( "Driver3D", std::string( "OpenGL" ) );
|
||||||
|
else if( direct3dRadioButton->isChecked() )
|
||||||
|
s.config.setString( "Driver3D", std::string( "Direct3D" ) );
|
||||||
|
else
|
||||||
|
s.config.setString( "Driver3D", std::string( "Auto" ) );
|
||||||
|
|
||||||
|
if( fullscreenRadioButton->isChecked() )
|
||||||
|
{
|
||||||
|
s.config.setInt( "FullScreen", 1 );
|
||||||
|
|
||||||
|
sint32 index = videomodeComboBox->currentIndex();
|
||||||
|
CVideoMode mode;
|
||||||
|
|
||||||
|
// OpenGL should be available everywhere!
|
||||||
|
if( direct3dRadioButton->isChecked() )
|
||||||
|
mode = s.d3dInfo.modes[ index ];
|
||||||
|
else
|
||||||
|
mode = s.openglInfo.modes[ index ];
|
||||||
|
|
||||||
|
s.config.setInt( "Width", mode.widht );
|
||||||
|
s.config.setInt( "Height", mode.height );
|
||||||
|
s.config.setInt( "Depth", mode.depth );
|
||||||
|
s.config.setInt( "Frequency", mode.frequency );
|
||||||
|
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
s.config.setInt( "FullScreen", 0 );
|
||||||
|
s.config.setInt( "Width", widthLineEdit->text().toInt() );
|
||||||
|
s.config.setInt( "Height", heightLineEdit->text().toInt() );
|
||||||
|
}
|
||||||
|
|
||||||
|
s.config.setInt( "PositionX", xpositionLineEdit->text().toInt() );
|
||||||
|
s.config.setInt( "PositionY", ypositionLineEdit->text().toInt() );
|
||||||
|
}
|
||||||
|
|
||||||
|
void CDisplaySettingsWidget::changeEvent( QEvent *event )
|
||||||
|
{
|
||||||
|
if( event->type() == QEvent::LanguageChange )
|
||||||
|
{
|
||||||
|
disconnect( videomodeComboBox, SIGNAL( currentIndexChanged( int ) ), this, SLOT( onSomethingChanged() ) );
|
||||||
|
retranslateUi( this );
|
||||||
|
connect( videomodeComboBox, SIGNAL( currentIndexChanged( int ) ), this, SLOT( onSomethingChanged() ) );
|
||||||
|
}
|
||||||
|
QWidget::changeEvent( event );
|
||||||
|
}
|
||||||
|
|
||||||
|
void CDisplaySettingsWidget::updateVideoModes()
|
||||||
|
{
|
||||||
|
CSystem &s = CSystem::GetInstance();
|
||||||
|
|
||||||
|
videomodeComboBox->clear();
|
||||||
|
|
||||||
|
if( direct3dRadioButton->isChecked() )
|
||||||
|
{
|
||||||
|
for( std::vector< CVideoMode >::iterator itr = s.d3dInfo.modes.begin(); itr != s.d3dInfo.modes.end(); ++itr )
|
||||||
|
{
|
||||||
|
std::stringstream ss;
|
||||||
|
ss << itr->widht << "x" << itr->height << " " << itr->depth << " bit @" << itr->frequency;
|
||||||
|
videomodeComboBox->addItem( ss.str().c_str() );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
// OpenGL should be available everywhere!
|
||||||
|
for( std::vector< CVideoMode >::iterator itr = s.openglInfo.modes.begin(); itr != s.openglInfo.modes.end(); ++itr )
|
||||||
|
{
|
||||||
|
std::stringstream ss;
|
||||||
|
ss << itr->widht << "x" << itr->height << " " << itr->depth << " bit @" << itr->frequency;
|
||||||
|
videomodeComboBox->addItem( ss.str().c_str() );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
uint32 CDisplaySettingsWidget::findVideoModeIndex( CVideoMode *mode )
|
||||||
|
{
|
||||||
|
//////////////////////////////////////////////////////////////////////////////////
|
||||||
|
// WARNING:
|
||||||
|
// This part relies on that the video mode combo box is filled as the following:
|
||||||
|
//
|
||||||
|
//| --------------------------------------|
|
||||||
|
//| Selected driver | Modes |
|
||||||
|
//| --------------------------------------|
|
||||||
|
//| Auto | OpenGL modes |
|
||||||
|
//| OpenGL | OpenGL modes |
|
||||||
|
//| Direct3D | Direct3d modes |
|
||||||
|
//| --------------------------------------|
|
||||||
|
//
|
||||||
|
//
|
||||||
|
//////////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
CVideoMode &m = *mode;
|
||||||
|
CSystem &s = CSystem::GetInstance();
|
||||||
|
|
||||||
|
if( direct3dRadioButton->isChecked() )
|
||||||
|
{
|
||||||
|
for( uint32 i = 0; i < s.d3dInfo.modes.size(); i++ )
|
||||||
|
if( s.d3dInfo.modes[ i ] == m )
|
||||||
|
return i;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
// Again OpenGL should be available everywhere!
|
||||||
|
for( uint32 i = 0; i < s.openglInfo.modes.size(); i++ )
|
||||||
|
if( s.openglInfo.modes[ i ] == m )
|
||||||
|
return i;
|
||||||
|
}
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
E3DDriver CDisplaySettingsWidget::getDriverFromConfigString(std::string &str) const
|
||||||
|
{
|
||||||
|
if( str.compare( "0" ) == 0 )
|
||||||
|
return DRV_AUTO;
|
||||||
|
if( str.compare( "1" ) == 0 )
|
||||||
|
return DRV_OPENGL;
|
||||||
|
if( str.compare( "2" ) == 0 )
|
||||||
|
return DRV_DIRECT3D;
|
||||||
|
if( str.compare( "OpenGL" ) == 0 )
|
||||||
|
return DRV_OPENGL;
|
||||||
|
if( str.compare( "Direct3D" ) == 0)
|
||||||
|
return DRV_DIRECT3D;
|
||||||
|
|
||||||
|
|
||||||
|
return DRV_AUTO;
|
||||||
|
}
|
|
@ -0,0 +1,72 @@
|
||||||
|
// Ryzom - MMORPG Framework <http://dev.ryzom.com/projects/ryzom/>
|
||||||
|
// Copyright (C) 2010 Winch Gate Property Limited
|
||||||
|
//
|
||||||
|
// 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 DISPLAYSETTINGSWIDGET_H
|
||||||
|
#define DISPLAYSETTINGSWIDGET_H
|
||||||
|
|
||||||
|
#include "ui_display_settings_widget.h"
|
||||||
|
#include "widget_base.h"
|
||||||
|
#include <nel/misc/types_nl.h>
|
||||||
|
|
||||||
|
struct CVideoMode;
|
||||||
|
|
||||||
|
enum E3DDriver
|
||||||
|
{
|
||||||
|
DRV_AUTO,
|
||||||
|
DRV_OPENGL,
|
||||||
|
DRV_DIRECT3D
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
@brief The display settings page of the configuration tool
|
||||||
|
*/
|
||||||
|
class CDisplaySettingsWidget : public CWidgetBase, public Ui::display_settings_widget
|
||||||
|
{
|
||||||
|
Q_OBJECT
|
||||||
|
public:
|
||||||
|
CDisplaySettingsWidget( QWidget *parent = NULL );
|
||||||
|
~CDisplaySettingsWidget();
|
||||||
|
|
||||||
|
void load();
|
||||||
|
void save();
|
||||||
|
|
||||||
|
protected:
|
||||||
|
void changeEvent( QEvent *event );
|
||||||
|
|
||||||
|
private slots:
|
||||||
|
/**
|
||||||
|
@brief Updates the video modes combo box, based on the current driver selection.
|
||||||
|
*/
|
||||||
|
void updateVideoModes();
|
||||||
|
|
||||||
|
private:
|
||||||
|
/**
|
||||||
|
@brief Finds the proper index for the video mode combobox
|
||||||
|
@param mode - the video mode read from config
|
||||||
|
@return Returns the proper video mode index if found, returns 0 otherwise.
|
||||||
|
*/
|
||||||
|
uint32 findVideoModeIndex( CVideoMode *mode );
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
@brief Retrieves the driver type from the config string.
|
||||||
|
@param str - Reference to the driver string.
|
||||||
|
@return Returns the driver type on success, rReturns E3DDriver::DRV_AUTO otherwise.
|
||||||
|
*/
|
||||||
|
E3DDriver getDriverFromConfigString( std::string &str ) const;
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif // DISPLAYSETTINGSWIDGET_H
|
|
@ -0,0 +1,167 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<ui version="4.0">
|
||||||
|
<class>display_settings_widget</class>
|
||||||
|
<widget class="QWidget" name="display_settings_widget">
|
||||||
|
<property name="geometry">
|
||||||
|
<rect>
|
||||||
|
<x>0</x>
|
||||||
|
<y>0</y>
|
||||||
|
<width>391</width>
|
||||||
|
<height>429</height>
|
||||||
|
</rect>
|
||||||
|
</property>
|
||||||
|
<property name="windowTitle">
|
||||||
|
<string>Display</string>
|
||||||
|
</property>
|
||||||
|
<layout class="QGridLayout" name="gridLayout_2">
|
||||||
|
<item row="0" column="0">
|
||||||
|
<widget class="QGroupBox" name="driverGroupBox">
|
||||||
|
<property name="title">
|
||||||
|
<string>Driver</string>
|
||||||
|
</property>
|
||||||
|
<layout class="QGridLayout" name="gridLayout">
|
||||||
|
<item row="0" column="0">
|
||||||
|
<layout class="QVBoxLayout" name="verticalLayout_4">
|
||||||
|
<item>
|
||||||
|
<widget class="QLabel" name="label">
|
||||||
|
<property name="text">
|
||||||
|
<string>Specify if Ryzom is to be run in OpenGL or Direct3D.</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QRadioButton" name="autoRadioButton">
|
||||||
|
<property name="text">
|
||||||
|
<string>Auto</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QRadioButton" name="openglRadioButton">
|
||||||
|
<property name="text">
|
||||||
|
<string>OpenGL</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QRadioButton" name="direct3dRadioButton">
|
||||||
|
<property name="text">
|
||||||
|
<string>Direct3D</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="1" column="0">
|
||||||
|
<widget class="QGroupBox" name="parametersGroupBox">
|
||||||
|
<property name="title">
|
||||||
|
<string>Parameters</string>
|
||||||
|
</property>
|
||||||
|
<layout class="QVBoxLayout" name="verticalLayout_3">
|
||||||
|
<item>
|
||||||
|
<widget class="QLabel" name="label_2">
|
||||||
|
<property name="text">
|
||||||
|
<string>Specify if Ryzom is to be run in full screen or window mode:</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QRadioButton" name="fullscreenRadioButton">
|
||||||
|
<property name="text">
|
||||||
|
<string>Full screen</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QLabel" name="label_3">
|
||||||
|
<property name="text">
|
||||||
|
<string>Specify a video mode</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QComboBox" name="videomodeComboBox"/>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<spacer name="verticalSpacer">
|
||||||
|
<property name="orientation">
|
||||||
|
<enum>Qt::Vertical</enum>
|
||||||
|
</property>
|
||||||
|
<property name="sizeHint" stdset="0">
|
||||||
|
<size>
|
||||||
|
<width>20</width>
|
||||||
|
<height>34</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
</spacer>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QRadioButton" name="windowedRadioButton">
|
||||||
|
<property name="text">
|
||||||
|
<string>Windowed</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<layout class="QHBoxLayout" name="horizontalLayout">
|
||||||
|
<item>
|
||||||
|
<layout class="QVBoxLayout" name="verticalLayout_2">
|
||||||
|
<item>
|
||||||
|
<widget class="QLabel" name="label_4">
|
||||||
|
<property name="text">
|
||||||
|
<string>Width</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QLabel" name="label_5">
|
||||||
|
<property name="text">
|
||||||
|
<string>Height</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QLabel" name="label_6">
|
||||||
|
<property name="text">
|
||||||
|
<string>X position</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QLabel" name="label_7">
|
||||||
|
<property name="text">
|
||||||
|
<string>Y position</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<layout class="QVBoxLayout" name="verticalLayout">
|
||||||
|
<item>
|
||||||
|
<widget class="QLineEdit" name="widthLineEdit"/>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QLineEdit" name="heightLineEdit"/>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QLineEdit" name="xpositionLineEdit"/>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QLineEdit" name="ypositionLineEdit"/>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</widget>
|
||||||
|
<resources/>
|
||||||
|
<connections/>
|
||||||
|
</ui>
|
|
@ -0,0 +1,121 @@
|
||||||
|
// Ryzom - MMORPG Framework <http://dev.ryzom.com/projects/ryzom/>
|
||||||
|
// Copyright (C) 2010 Winch Gate Property Limited
|
||||||
|
//
|
||||||
|
// 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 "general_settings_widget.h"
|
||||||
|
#include "system.h"
|
||||||
|
#include <QTranslator>
|
||||||
|
|
||||||
|
const QString CGeneralSettingsWidget::languageCodes[ NUM_LANGUAGE_CODES ] =
|
||||||
|
{
|
||||||
|
"en",
|
||||||
|
"fr",
|
||||||
|
"de",
|
||||||
|
"hu"
|
||||||
|
};
|
||||||
|
|
||||||
|
CGeneralSettingsWidget::CGeneralSettingsWidget( QWidget *parent ) :
|
||||||
|
CWidgetBase( parent )
|
||||||
|
{
|
||||||
|
currentTranslator = NULL;
|
||||||
|
setupUi( this );
|
||||||
|
load();
|
||||||
|
|
||||||
|
connect( languageComboBox, SIGNAL( currentIndexChanged( int ) ), this, SLOT( onLanguageChanged() ) );
|
||||||
|
connect( saveConfigOnQuitCheckBox, SIGNAL( stateChanged( int ) ), this, SLOT( onSomethingChanged() ) );
|
||||||
|
connect( lowPriorityProcessCheckBox, SIGNAL( stateChanged( int ) ), this, SLOT( onSomethingChanged() ) );
|
||||||
|
}
|
||||||
|
|
||||||
|
CGeneralSettingsWidget::~CGeneralSettingsWidget()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
void CGeneralSettingsWidget::load()
|
||||||
|
{
|
||||||
|
CSystem &s = CSystem::GetInstance();
|
||||||
|
|
||||||
|
sint32 cbIndex = getIndexForLanguageCode( QString( s.config.getString( "LanguageCode" ).c_str() ) );
|
||||||
|
if( cbIndex != -1 ){
|
||||||
|
languageComboBox->setCurrentIndex( cbIndex );
|
||||||
|
onLanguageChanged();
|
||||||
|
}
|
||||||
|
|
||||||
|
if( s.config.getInt( "SaveConfig" ) )
|
||||||
|
saveConfigOnQuitCheckBox->setChecked( true );
|
||||||
|
|
||||||
|
if( s.config.getInt( "ProcessPriority" ) == -1 )
|
||||||
|
lowPriorityProcessCheckBox->setChecked( true );
|
||||||
|
else
|
||||||
|
lowPriorityProcessCheckBox->setChecked( false );
|
||||||
|
}
|
||||||
|
|
||||||
|
void CGeneralSettingsWidget::save()
|
||||||
|
{
|
||||||
|
CSystem &s = CSystem::GetInstance();
|
||||||
|
|
||||||
|
s.config.setString( "LanguageCode", std::string( languageCodes[ languageComboBox->currentIndex() ].toUtf8() ) );
|
||||||
|
|
||||||
|
if( saveConfigOnQuitCheckBox->isChecked() )
|
||||||
|
s.config.setInt( "SaveConfig", 1 );
|
||||||
|
else
|
||||||
|
s.config.setInt( "SaveConfig", 0 );
|
||||||
|
|
||||||
|
if( lowPriorityProcessCheckBox->isChecked() )
|
||||||
|
s.config.setInt( "ProcessPriority", -1 );
|
||||||
|
else
|
||||||
|
s.config.setInt( "ProcessPriority", 0 );
|
||||||
|
}
|
||||||
|
|
||||||
|
void CGeneralSettingsWidget::onLanguageChanged()
|
||||||
|
{
|
||||||
|
sint32 i = languageComboBox->currentIndex();
|
||||||
|
|
||||||
|
if( currentTranslator != NULL )
|
||||||
|
{
|
||||||
|
qApp->removeTranslator( currentTranslator );
|
||||||
|
delete currentTranslator;
|
||||||
|
currentTranslator = NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
currentTranslator = new QTranslator();
|
||||||
|
if( currentTranslator->load( QString( ":/translations/ryzom_configuration_%1" ).arg( languageCodes[ i ] ) ) )
|
||||||
|
qApp->installTranslator( currentTranslator );
|
||||||
|
|
||||||
|
emit changed();
|
||||||
|
}
|
||||||
|
|
||||||
|
void CGeneralSettingsWidget::changeEvent( QEvent *event )
|
||||||
|
{
|
||||||
|
if( event->type() == QEvent::LanguageChange )
|
||||||
|
{
|
||||||
|
sint32 i = languageComboBox->currentIndex();
|
||||||
|
// Signals that are emitted on index change need to be disconnected, since retranslation cleans the widget
|
||||||
|
disconnect( languageComboBox, SIGNAL( currentIndexChanged( int ) ), this, SLOT( onLanguageChanged() ) );
|
||||||
|
retranslateUi( this );
|
||||||
|
languageComboBox->setCurrentIndex( i );
|
||||||
|
connect( languageComboBox, SIGNAL( currentIndexChanged( int ) ), this, SLOT( onLanguageChanged() ) );
|
||||||
|
}
|
||||||
|
|
||||||
|
QWidget::changeEvent( event );
|
||||||
|
}
|
||||||
|
|
||||||
|
int CGeneralSettingsWidget::getIndexForLanguageCode( QString &languageCode )
|
||||||
|
{
|
||||||
|
for( sint32 i = 0; i < NUM_LANGUAGE_CODES; i++ )
|
||||||
|
if( languageCode.compare( languageCodes[ i ] ) == 0 )
|
||||||
|
return i;
|
||||||
|
|
||||||
|
return -1;
|
||||||
|
}
|
|
@ -0,0 +1,66 @@
|
||||||
|
// Ryzom - MMORPG Framework <http://dev.ryzom.com/projects/ryzom/>
|
||||||
|
// Copyright (C) 2010 Winch Gate Property Limited
|
||||||
|
//
|
||||||
|
// 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 GENERALSETTINGWIDGET_H
|
||||||
|
#define GENERALSETTINGWIDGET_H
|
||||||
|
|
||||||
|
#include "ui_general_settings_widget.h"
|
||||||
|
#include "widget_base.h"
|
||||||
|
#include <nel/misc/types_nl.h>
|
||||||
|
|
||||||
|
class QTranslator;
|
||||||
|
|
||||||
|
enum
|
||||||
|
{
|
||||||
|
NUM_LANGUAGE_CODES = 4
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
@brief The general settings page of the configuration tool
|
||||||
|
*/
|
||||||
|
class CGeneralSettingsWidget : public CWidgetBase, public Ui::general_settings_widget
|
||||||
|
{
|
||||||
|
Q_OBJECT
|
||||||
|
|
||||||
|
public:
|
||||||
|
CGeneralSettingsWidget( QWidget *parent = NULL );
|
||||||
|
~CGeneralSettingsWidget();
|
||||||
|
|
||||||
|
void load();
|
||||||
|
void save();
|
||||||
|
|
||||||
|
private slots:
|
||||||
|
void onLanguageChanged();
|
||||||
|
|
||||||
|
protected:
|
||||||
|
void changeEvent( QEvent *event );
|
||||||
|
|
||||||
|
private:
|
||||||
|
/**
|
||||||
|
@brief Retrieves the language combobox index for the language code provided.
|
||||||
|
@param languageCode - Reference to the language code, we are trying to find.
|
||||||
|
@return Returns the index on success, returns -1 if the language code cannot be found.
|
||||||
|
*/
|
||||||
|
sint32 getIndexForLanguageCode( QString &languageCode );
|
||||||
|
|
||||||
|
// Contains the language codes used in the config file
|
||||||
|
// They are in the same order as the options in languageComboBox
|
||||||
|
static const QString languageCodes[ NUM_LANGUAGE_CODES ];
|
||||||
|
|
||||||
|
QTranslator *currentTranslator;
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif // GENERALSETTINGWIDGET_H
|
|
@ -0,0 +1,158 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<ui version="4.0">
|
||||||
|
<class>general_settings_widget</class>
|
||||||
|
<widget class="QWidget" name="general_settings_widget">
|
||||||
|
<property name="geometry">
|
||||||
|
<rect>
|
||||||
|
<x>0</x>
|
||||||
|
<y>0</y>
|
||||||
|
<width>391</width>
|
||||||
|
<height>429</height>
|
||||||
|
</rect>
|
||||||
|
</property>
|
||||||
|
<property name="windowTitle">
|
||||||
|
<string>Form</string>
|
||||||
|
</property>
|
||||||
|
<layout class="QVBoxLayout" name="verticalLayout">
|
||||||
|
<item>
|
||||||
|
<widget class="QLabel" name="languageLabel">
|
||||||
|
<property name="font">
|
||||||
|
<font>
|
||||||
|
<pointsize>8</pointsize>
|
||||||
|
</font>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>Language</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QComboBox" name="languageComboBox">
|
||||||
|
<item>
|
||||||
|
<property name="text">
|
||||||
|
<string>English</string>
|
||||||
|
</property>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<property name="text">
|
||||||
|
<string>French</string>
|
||||||
|
</property>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<property name="text">
|
||||||
|
<string>German</string>
|
||||||
|
</property>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<property name="text">
|
||||||
|
<string>Hungarian</string>
|
||||||
|
</property>
|
||||||
|
</item>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<spacer name="verticalSpacer">
|
||||||
|
<property name="orientation">
|
||||||
|
<enum>Qt::Vertical</enum>
|
||||||
|
</property>
|
||||||
|
<property name="sizeType">
|
||||||
|
<enum>QSizePolicy::Maximum</enum>
|
||||||
|
</property>
|
||||||
|
<property name="sizeHint" stdset="0">
|
||||||
|
<size>
|
||||||
|
<width>20</width>
|
||||||
|
<height>17</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
</spacer>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QCheckBox" name="saveConfigOnQuitCheckBox">
|
||||||
|
<property name="text">
|
||||||
|
<string>Save config file when quitting the game</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<spacer name="verticalSpacer_2">
|
||||||
|
<property name="orientation">
|
||||||
|
<enum>Qt::Vertical</enum>
|
||||||
|
</property>
|
||||||
|
<property name="sizeHint" stdset="0">
|
||||||
|
<size>
|
||||||
|
<width>20</width>
|
||||||
|
<height>230</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
</spacer>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QGroupBox" name="advancedGroupBox">
|
||||||
|
<property name="title">
|
||||||
|
<string>Advanced</string>
|
||||||
|
</property>
|
||||||
|
<layout class="QGridLayout" name="gridLayout">
|
||||||
|
<item row="0" column="0">
|
||||||
|
<layout class="QHBoxLayout" name="horizontalLayout">
|
||||||
|
<item>
|
||||||
|
<widget class="QCheckBox" name="lowPriorityProcessCheckBox">
|
||||||
|
<property name="text">
|
||||||
|
<string>Slow down the game ( process low priority )</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<spacer name="verticalSpacer_3">
|
||||||
|
<property name="orientation">
|
||||||
|
<enum>Qt::Vertical</enum>
|
||||||
|
</property>
|
||||||
|
<property name="sizeType">
|
||||||
|
<enum>QSizePolicy::Maximum</enum>
|
||||||
|
</property>
|
||||||
|
<property name="sizeHint" stdset="0">
|
||||||
|
<size>
|
||||||
|
<width>20</width>
|
||||||
|
<height>18</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
</spacer>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</item>
|
||||||
|
<item row="0" column="1">
|
||||||
|
<spacer name="horizontalSpacer">
|
||||||
|
<property name="orientation">
|
||||||
|
<enum>Qt::Horizontal</enum>
|
||||||
|
</property>
|
||||||
|
<property name="sizeHint" stdset="0">
|
||||||
|
<size>
|
||||||
|
<width>84</width>
|
||||||
|
<height>20</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
</spacer>
|
||||||
|
</item>
|
||||||
|
<item row="1" column="0">
|
||||||
|
<spacer name="verticalSpacer_4">
|
||||||
|
<property name="orientation">
|
||||||
|
<enum>Qt::Vertical</enum>
|
||||||
|
</property>
|
||||||
|
<property name="sizeType">
|
||||||
|
<enum>QSizePolicy::Maximum</enum>
|
||||||
|
</property>
|
||||||
|
<property name="sizeHint" stdset="0">
|
||||||
|
<size>
|
||||||
|
<width>20</width>
|
||||||
|
<height>13</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
</spacer>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</widget>
|
||||||
|
<resources/>
|
||||||
|
<connections/>
|
||||||
|
</ui>
|
36
code/ryzom/tools/client/client_config_qt/main.cpp
Normal file
|
@ -0,0 +1,36 @@
|
||||||
|
// Ryzom - MMORPG Framework <http://dev.ryzom.com/projects/ryzom/>
|
||||||
|
// Copyright (C) 2010 Winch Gate Property Limited
|
||||||
|
//
|
||||||
|
// 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 <QtGui>
|
||||||
|
#include "client_config_dialog.h"
|
||||||
|
#include "system.h"
|
||||||
|
|
||||||
|
int main( sint32 argc, char **argv )
|
||||||
|
{
|
||||||
|
QApplication app( argc, argv );
|
||||||
|
QPixmap pixmap( ":/resources/splash_screen.bmp" );
|
||||||
|
QSplashScreen splash( pixmap );
|
||||||
|
|
||||||
|
splash.show();
|
||||||
|
|
||||||
|
CSystem::GetInstance().config.load( "client.cfg" );
|
||||||
|
|
||||||
|
CClientConfigDialog d;
|
||||||
|
d.show();
|
||||||
|
splash.finish( &d );
|
||||||
|
|
||||||
|
return app.exec();
|
||||||
|
}
|
16
code/ryzom/tools/client/client_config_qt/resources.qrc
Normal file
|
@ -0,0 +1,16 @@
|
||||||
|
<RCC>
|
||||||
|
<qresource prefix="/">
|
||||||
|
<file>resources/card_icon.bmp</file>
|
||||||
|
<file>resources/display_config_icon.bmp</file>
|
||||||
|
<file>resources/display_icon.bmp</file>
|
||||||
|
<file>resources/display_properties_icon.bmp</file>
|
||||||
|
<file>resources/general_icon.bmp</file>
|
||||||
|
<file>resources/left_bitmap_0.bmp</file>
|
||||||
|
<file>resources/network_icon.bmp</file>
|
||||||
|
<file>resources/sound_icon.bmp</file>
|
||||||
|
<file>resources/splash_screen.bmp</file>
|
||||||
|
<file>resources/top_right.bmp</file>
|
||||||
|
<file>resources/update_icon.bmp</file>
|
||||||
|
<file>resources/welcome_icon.bmp</file>
|
||||||
|
</qresource>
|
||||||
|
</RCC>
|
BIN
code/ryzom/tools/client/client_config_qt/resources/card_icon.bmp
Normal file
After Width: | Height: | Size: 12 KiB |
After Width: | Height: | Size: 4.6 KiB |
After Width: | Height: | Size: 12 KiB |
After Width: | Height: | Size: 12 KiB |
After Width: | Height: | Size: 12 KiB |
After Width: | Height: | Size: 12 KiB |
After Width: | Height: | Size: 384 KiB |
After Width: | Height: | Size: 12 KiB |
After Width: | Height: | Size: 12 KiB |
After Width: | Height: | Size: 184 KiB |
BIN
code/ryzom/tools/client/client_config_qt/resources/top_right.bmp
Normal file
After Width: | Height: | Size: 95 KiB |
After Width: | Height: | Size: 12 KiB |
After Width: | Height: | Size: 12 KiB |
|
@ -0,0 +1,64 @@
|
||||||
|
QT += core
|
||||||
|
QT += gui
|
||||||
|
QT += opengl
|
||||||
|
|
||||||
|
INCLUDEPATH += E:/projects/ryzom/bin/include
|
||||||
|
|
||||||
|
win32:LIBS += E:/projects/ryzom/bin/lib/nel3d_d.lib
|
||||||
|
win32:LIBS += E:/projects/ryzom/bin/lib/nelmisc_d.lib
|
||||||
|
win32:LIBS += E:/projects/ryzom/src/external_stlport/lib/libjpeg.lib
|
||||||
|
win32:LIBS += E:/projects/ryzom/src/external_stlport/lib/libpng.lib
|
||||||
|
win32:LIBS += user32.lib
|
||||||
|
win32:LIBS += gdi32.lib
|
||||||
|
win32:LIBS += advapi32.lib
|
||||||
|
win32:LIBS += shell32.lib
|
||||||
|
win32:LIBS += ole32.lib
|
||||||
|
win32:LIBS += opengl32.lib
|
||||||
|
|
||||||
|
SOURCES += \
|
||||||
|
client_config_dialog.cpp \
|
||||||
|
config.cpp \
|
||||||
|
display_settings_advanced_widget.cpp \
|
||||||
|
display_settings_details_widget.cpp \
|
||||||
|
display_settings_widget.cpp \
|
||||||
|
general_settings_widget.cpp \
|
||||||
|
main.cpp \
|
||||||
|
sound_settings_widget.cpp \
|
||||||
|
system.cpp \
|
||||||
|
sys_info_d3d_widget.cpp \
|
||||||
|
sys_info_opengl_widget.cpp \
|
||||||
|
sys_info_widget.cpp \
|
||||||
|
|
||||||
|
|
||||||
|
FORMS += \
|
||||||
|
client_config_dialog.ui \
|
||||||
|
display_settings_advanced_widget.ui \
|
||||||
|
display_settings_details_widget.ui \
|
||||||
|
display_settings_widget.ui \
|
||||||
|
general_settings_widget.ui \
|
||||||
|
sound_settings_widget.ui \
|
||||||
|
sys_info_d3d_widget.ui \
|
||||||
|
sys_info_opengl_widget.ui \
|
||||||
|
sys_info_widget.ui \
|
||||||
|
|
||||||
|
RESOURCES += \
|
||||||
|
resources.qrc
|
||||||
|
|
||||||
|
HEADERS += \
|
||||||
|
client_config_dialog.h \
|
||||||
|
config.h \
|
||||||
|
display_settings_advanced_widget.h \
|
||||||
|
display_settings_details_widget.h \
|
||||||
|
display_settings_widget.h \
|
||||||
|
general_settings_widget.h \
|
||||||
|
sound_settings_widget.h \
|
||||||
|
system.h \
|
||||||
|
sys_info_d3d_widget.h \
|
||||||
|
sys_info_opengl_widget.h \
|
||||||
|
sys_info_widget.h \
|
||||||
|
widget_base.h \
|
||||||
|
|
||||||
|
TRANSLATIONS = \
|
||||||
|
ryzom_configuration_en.ts \
|
||||||
|
ryzom_configuration_hu.ts
|
||||||
|
|
|
@ -0,0 +1,99 @@
|
||||||
|
// Ryzom - MMORPG Framework <http://dev.ryzom.com/projects/ryzom/>
|
||||||
|
// Copyright (C) 2010 Winch Gate Property Limited
|
||||||
|
//
|
||||||
|
// 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 "sound_settings_widget.h"
|
||||||
|
#include "system.h"
|
||||||
|
|
||||||
|
CSoundSettingsWidget::CSoundSettingsWidget( QWidget *parent ) :
|
||||||
|
CWidgetBase( parent )
|
||||||
|
{
|
||||||
|
setupUi( this );
|
||||||
|
load();
|
||||||
|
|
||||||
|
connect( tracksSlider, SIGNAL( valueChanged( int ) ), this, SLOT( onTracksSliderChange() ) );
|
||||||
|
connect( soundCheckBox, SIGNAL( clicked( bool ) ), this, SLOT( onSomethingChanged() ) );
|
||||||
|
connect( eaxCheckBox, SIGNAL( clicked( bool ) ), this, SLOT( onSomethingChanged() ) );
|
||||||
|
connect( softwareCheckBox, SIGNAL( clicked( bool ) ), this, SLOT( onSomethingChanged() ) );
|
||||||
|
connect( fmodCheckBox, SIGNAL( clicked( bool ) ), this, SLOT( onSomethingChanged() ) );
|
||||||
|
}
|
||||||
|
|
||||||
|
CSoundSettingsWidget::~CSoundSettingsWidget()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
void CSoundSettingsWidget::onTracksSliderChange()
|
||||||
|
{
|
||||||
|
updateTracksLabel();
|
||||||
|
emit changed();
|
||||||
|
}
|
||||||
|
|
||||||
|
void CSoundSettingsWidget::load()
|
||||||
|
{
|
||||||
|
CSystem &s = CSystem::GetInstance();
|
||||||
|
|
||||||
|
if( s.config.getInt( "SoundOn" ) == 1 )
|
||||||
|
soundCheckBox->setChecked( true );
|
||||||
|
|
||||||
|
if( s.config.getInt( "UseEax" ) == 1 )
|
||||||
|
eaxCheckBox->setChecked( true );
|
||||||
|
|
||||||
|
if( s.config.getInt( "SoundForceSoftwareBuffer" ) == 1 )
|
||||||
|
softwareCheckBox->setChecked( true );
|
||||||
|
|
||||||
|
sint32 tracks = s.config.getInt( "MaxTrack" );
|
||||||
|
if( tracks < 4 )
|
||||||
|
tracks = 4;
|
||||||
|
if( tracks > 32 )
|
||||||
|
tracks = 32;
|
||||||
|
tracksSlider->setValue( tracks / 4 );
|
||||||
|
|
||||||
|
if( s.config.getString( "DriverSound" ).compare( "FMod" ) == 0 )
|
||||||
|
fmodCheckBox->setChecked( true );
|
||||||
|
}
|
||||||
|
|
||||||
|
void CSoundSettingsWidget::save()
|
||||||
|
{
|
||||||
|
CSystem &s = CSystem::GetInstance();
|
||||||
|
|
||||||
|
if( soundCheckBox->isChecked() )
|
||||||
|
s.config.setInt( "SoundOn", 1 );
|
||||||
|
|
||||||
|
if( eaxCheckBox->isChecked() )
|
||||||
|
s.config.setInt( "UseEax", 1 );
|
||||||
|
|
||||||
|
if( softwareCheckBox->isChecked() )
|
||||||
|
s.config.setInt( "SoundForceSoftwareBuffer", 1 );
|
||||||
|
|
||||||
|
s.config.setInt( "MaxTrack", tracksSlider->value() * 4 );
|
||||||
|
|
||||||
|
if( fmodCheckBox->isChecked() )
|
||||||
|
s.config.setString( "DriverSound", std::string( "FMod" ) );
|
||||||
|
}
|
||||||
|
|
||||||
|
void CSoundSettingsWidget::changeEvent( QEvent *event )
|
||||||
|
{
|
||||||
|
if( event->type() == QEvent::LanguageChange )
|
||||||
|
{
|
||||||
|
retranslateUi( this );
|
||||||
|
updateTracksLabel();
|
||||||
|
}
|
||||||
|
QWidget::changeEvent( event );
|
||||||
|
}
|
||||||
|
|
||||||
|
void CSoundSettingsWidget::updateTracksLabel()
|
||||||
|
{
|
||||||
|
tracksLabel->setText( tr( "%1 tracks" ).arg( tracksSlider->value() * 4 ) );
|
||||||
|
}
|
|
@ -0,0 +1,50 @@
|
||||||
|
// Ryzom - MMORPG Framework <http://dev.ryzom.com/projects/ryzom/>
|
||||||
|
// Copyright (C) 2010 Winch Gate Property Limited
|
||||||
|
//
|
||||||
|
// 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 SOUNDSETTINGSWIDGET_H
|
||||||
|
#define SOUNDSETTINGSWIDGET_H
|
||||||
|
|
||||||
|
#include "ui_sound_settings_widget.h"
|
||||||
|
#include "widget_base.h"
|
||||||
|
#include <nel/misc/types_nl.h>
|
||||||
|
|
||||||
|
/**
|
||||||
|
@brief The sound settings page of the configuration tool
|
||||||
|
*/
|
||||||
|
class CSoundSettingsWidget : public CWidgetBase, public Ui::sound_settings_widget
|
||||||
|
{
|
||||||
|
Q_OBJECT
|
||||||
|
public:
|
||||||
|
CSoundSettingsWidget( QWidget *parent = NULL );
|
||||||
|
~CSoundSettingsWidget();
|
||||||
|
|
||||||
|
void load();
|
||||||
|
void save();
|
||||||
|
|
||||||
|
protected:
|
||||||
|
void changeEvent( QEvent *event );
|
||||||
|
|
||||||
|
private slots:
|
||||||
|
void onTracksSliderChange();
|
||||||
|
|
||||||
|
private:
|
||||||
|
/**
|
||||||
|
@brief Updates the text on the tracks label.
|
||||||
|
*/
|
||||||
|
void updateTracksLabel();
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif // SOUNDSETTINGSWIDGET_H
|
|
@ -0,0 +1,155 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<ui version="4.0">
|
||||||
|
<class>sound_settings_widget</class>
|
||||||
|
<widget class="QWidget" name="sound_settings_widget">
|
||||||
|
<property name="geometry">
|
||||||
|
<rect>
|
||||||
|
<x>0</x>
|
||||||
|
<y>0</y>
|
||||||
|
<width>391</width>
|
||||||
|
<height>429</height>
|
||||||
|
</rect>
|
||||||
|
</property>
|
||||||
|
<property name="windowTitle">
|
||||||
|
<string>Sound</string>
|
||||||
|
</property>
|
||||||
|
<layout class="QGridLayout" name="gridLayout">
|
||||||
|
<item row="0" column="0">
|
||||||
|
<layout class="QVBoxLayout" name="verticalLayout_2">
|
||||||
|
<item>
|
||||||
|
<layout class="QVBoxLayout" name="verticalLayout">
|
||||||
|
<item>
|
||||||
|
<widget class="QCheckBox" name="soundCheckBox">
|
||||||
|
<property name="text">
|
||||||
|
<string>Enable sound</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QCheckBox" name="eaxCheckBox">
|
||||||
|
<property name="text">
|
||||||
|
<string>Enable EAX</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QCheckBox" name="fmodCheckBox">
|
||||||
|
<property name="text">
|
||||||
|
<string>Enable FMod</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QCheckBox" name="softwareCheckBox">
|
||||||
|
<property name="text">
|
||||||
|
<string>Software sound buffer ( may increase FPS )</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<spacer name="verticalSpacer">
|
||||||
|
<property name="orientation">
|
||||||
|
<enum>Qt::Vertical</enum>
|
||||||
|
</property>
|
||||||
|
<property name="sizeType">
|
||||||
|
<enum>QSizePolicy::Maximum</enum>
|
||||||
|
</property>
|
||||||
|
<property name="sizeHint" stdset="0">
|
||||||
|
<size>
|
||||||
|
<width>20</width>
|
||||||
|
<height>13</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
</spacer>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QLabel" name="label">
|
||||||
|
<property name="text">
|
||||||
|
<string>Sound tracks</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<spacer name="verticalSpacer_2">
|
||||||
|
<property name="orientation">
|
||||||
|
<enum>Qt::Vertical</enum>
|
||||||
|
</property>
|
||||||
|
<property name="sizeType">
|
||||||
|
<enum>QSizePolicy::Maximum</enum>
|
||||||
|
</property>
|
||||||
|
<property name="sizeHint" stdset="0">
|
||||||
|
<size>
|
||||||
|
<width>20</width>
|
||||||
|
<height>18</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
</spacer>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<layout class="QHBoxLayout" name="horizontalLayout">
|
||||||
|
<item>
|
||||||
|
<widget class="QSlider" name="tracksSlider">
|
||||||
|
<property name="minimum">
|
||||||
|
<number>1</number>
|
||||||
|
</property>
|
||||||
|
<property name="maximum">
|
||||||
|
<number>8</number>
|
||||||
|
</property>
|
||||||
|
<property name="singleStep">
|
||||||
|
<number>1</number>
|
||||||
|
</property>
|
||||||
|
<property name="pageStep">
|
||||||
|
<number>4</number>
|
||||||
|
</property>
|
||||||
|
<property name="value">
|
||||||
|
<number>1</number>
|
||||||
|
</property>
|
||||||
|
<property name="orientation">
|
||||||
|
<enum>Qt::Horizontal</enum>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QLabel" name="tracksLabel">
|
||||||
|
<property name="text">
|
||||||
|
<string>8 tracks</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</item>
|
||||||
|
<item row="0" column="1">
|
||||||
|
<spacer name="horizontalSpacer">
|
||||||
|
<property name="orientation">
|
||||||
|
<enum>Qt::Horizontal</enum>
|
||||||
|
</property>
|
||||||
|
<property name="sizeHint" stdset="0">
|
||||||
|
<size>
|
||||||
|
<width>180</width>
|
||||||
|
<height>20</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
</spacer>
|
||||||
|
</item>
|
||||||
|
<item row="1" column="0">
|
||||||
|
<spacer name="verticalSpacer_3">
|
||||||
|
<property name="orientation">
|
||||||
|
<enum>Qt::Vertical</enum>
|
||||||
|
</property>
|
||||||
|
<property name="sizeHint" stdset="0">
|
||||||
|
<size>
|
||||||
|
<width>20</width>
|
||||||
|
<height>223</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
</spacer>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</widget>
|
||||||
|
<resources/>
|
||||||
|
<connections/>
|
||||||
|
</ui>
|
|
@ -0,0 +1,41 @@
|
||||||
|
// Ryzom - MMORPG Framework <http://dev.ryzom.com/projects/ryzom/>
|
||||||
|
// Copyright (C) 2010 Winch Gate Property Limited
|
||||||
|
//
|
||||||
|
// 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 "sys_info_d3d_widget.h"
|
||||||
|
#include "system.h"
|
||||||
|
|
||||||
|
CSysInfoD3DWidget::CSysInfoD3DWidget( QWidget *parent ) :
|
||||||
|
QWidget( parent )
|
||||||
|
{
|
||||||
|
setupUi( this );
|
||||||
|
|
||||||
|
descriptionLabel->setText( CSystem::GetInstance().d3dInfo.device.c_str() );
|
||||||
|
driverLabel->setText( CSystem::GetInstance().d3dInfo.driver.c_str() );
|
||||||
|
versionLabel->setText( CSystem::GetInstance().d3dInfo.driverVersion.c_str() );
|
||||||
|
}
|
||||||
|
|
||||||
|
CSysInfoD3DWidget::~CSysInfoD3DWidget()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
void CSysInfoD3DWidget::changeEvent( QEvent *event )
|
||||||
|
{
|
||||||
|
if( event->type() == QEvent::LanguageChange )
|
||||||
|
{
|
||||||
|
retranslateUi( this );
|
||||||
|
}
|
||||||
|
QWidget::changeEvent( event );
|
||||||
|
}
|
|
@ -0,0 +1,39 @@
|
||||||
|
// Ryzom - MMORPG Framework <http://dev.ryzom.com/projects/ryzom/>
|
||||||
|
// Copyright (C) 2010 Winch Gate Property Limited
|
||||||
|
//
|
||||||
|
// 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 SYSINFOD3DWIDGET_H
|
||||||
|
#define SYSINFOD3DWIDGET_H
|
||||||
|
|
||||||
|
#include "ui_sys_Info_d3d_widget.h"
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
@brief The Direct3D information page of the configuration tool
|
||||||
|
*/
|
||||||
|
class CSysInfoD3DWidget : public QWidget, public Ui::sys_info_d3d_widget
|
||||||
|
{
|
||||||
|
Q_OBJECT
|
||||||
|
public:
|
||||||
|
CSysInfoD3DWidget( QWidget *parent = NULL );
|
||||||
|
~CSysInfoD3DWidget();
|
||||||
|
|
||||||
|
protected:
|
||||||
|
void changeEvent( QEvent *event );
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
#endif // SYSINFOD3DWIDGET_H
|
156
code/ryzom/tools/client/client_config_qt/sys_info_d3d_widget.ui
Normal file
|
@ -0,0 +1,156 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<ui version="4.0">
|
||||||
|
<class>sys_info_d3d_widget</class>
|
||||||
|
<widget class="QWidget" name="sys_info_d3d_widget">
|
||||||
|
<property name="geometry">
|
||||||
|
<rect>
|
||||||
|
<x>0</x>
|
||||||
|
<y>0</y>
|
||||||
|
<width>391</width>
|
||||||
|
<height>429</height>
|
||||||
|
</rect>
|
||||||
|
</property>
|
||||||
|
<property name="windowTitle">
|
||||||
|
<string>Direct3D information</string>
|
||||||
|
</property>
|
||||||
|
<layout class="QVBoxLayout" name="verticalLayout">
|
||||||
|
<item>
|
||||||
|
<widget class="QGroupBox" name="groupBox">
|
||||||
|
<property name="title">
|
||||||
|
<string>Direct3D</string>
|
||||||
|
</property>
|
||||||
|
<layout class="QGridLayout" name="gridLayout_2">
|
||||||
|
<item row="0" column="0">
|
||||||
|
<layout class="QVBoxLayout" name="verticalLayout_2">
|
||||||
|
<item>
|
||||||
|
<layout class="QGridLayout" name="gridLayout">
|
||||||
|
<item row="0" column="0">
|
||||||
|
<widget class="QLabel" name="label">
|
||||||
|
<property name="text">
|
||||||
|
<string>Description</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="0" column="1">
|
||||||
|
<widget class="QLabel" name="descriptionLabel">
|
||||||
|
<property name="sizePolicy">
|
||||||
|
<sizepolicy hsizetype="Minimum" vsizetype="Preferred">
|
||||||
|
<horstretch>0</horstretch>
|
||||||
|
<verstretch>0</verstretch>
|
||||||
|
</sizepolicy>
|
||||||
|
</property>
|
||||||
|
<property name="toolTip">
|
||||||
|
<string notr="true"/>
|
||||||
|
</property>
|
||||||
|
<property name="statusTip">
|
||||||
|
<string notr="true"/>
|
||||||
|
</property>
|
||||||
|
<property name="whatsThis">
|
||||||
|
<string notr="true"/>
|
||||||
|
</property>
|
||||||
|
<property name="accessibleName">
|
||||||
|
<string notr="true"/>
|
||||||
|
</property>
|
||||||
|
<property name="accessibleDescription">
|
||||||
|
<string notr="true"/>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string notr="true">S3 Trio 64</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="1" column="0">
|
||||||
|
<widget class="QLabel" name="label_3">
|
||||||
|
<property name="text">
|
||||||
|
<string>Driver</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="1" column="1">
|
||||||
|
<widget class="QLabel" name="driverLabel">
|
||||||
|
<property name="sizePolicy">
|
||||||
|
<sizepolicy hsizetype="Minimum" vsizetype="Preferred">
|
||||||
|
<horstretch>0</horstretch>
|
||||||
|
<verstretch>0</verstretch>
|
||||||
|
</sizepolicy>
|
||||||
|
</property>
|
||||||
|
<property name="toolTip">
|
||||||
|
<string notr="true"/>
|
||||||
|
</property>
|
||||||
|
<property name="statusTip">
|
||||||
|
<string notr="true"/>
|
||||||
|
</property>
|
||||||
|
<property name="whatsThis">
|
||||||
|
<string notr="true"/>
|
||||||
|
</property>
|
||||||
|
<property name="accessibleName">
|
||||||
|
<string notr="true"/>
|
||||||
|
</property>
|
||||||
|
<property name="accessibleDescription">
|
||||||
|
<string notr="true"/>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string notr="true">s3trio64_d3d.dll</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="2" column="0">
|
||||||
|
<widget class="QLabel" name="label_5">
|
||||||
|
<property name="text">
|
||||||
|
<string>Driver version</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="2" column="1">
|
||||||
|
<widget class="QLabel" name="versionLabel">
|
||||||
|
<property name="sizePolicy">
|
||||||
|
<sizepolicy hsizetype="Minimum" vsizetype="Preferred">
|
||||||
|
<horstretch>0</horstretch>
|
||||||
|
<verstretch>0</verstretch>
|
||||||
|
</sizepolicy>
|
||||||
|
</property>
|
||||||
|
<property name="toolTip">
|
||||||
|
<string notr="true"/>
|
||||||
|
</property>
|
||||||
|
<property name="statusTip">
|
||||||
|
<string notr="true"/>
|
||||||
|
</property>
|
||||||
|
<property name="whatsThis">
|
||||||
|
<string notr="true"/>
|
||||||
|
</property>
|
||||||
|
<property name="accessibleName">
|
||||||
|
<string notr="true"/>
|
||||||
|
</property>
|
||||||
|
<property name="accessibleDescription">
|
||||||
|
<string notr="true"/>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string notr="true">66.6</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<spacer name="verticalSpacer">
|
||||||
|
<property name="orientation">
|
||||||
|
<enum>Qt::Vertical</enum>
|
||||||
|
</property>
|
||||||
|
<property name="sizeHint" stdset="0">
|
||||||
|
<size>
|
||||||
|
<width>20</width>
|
||||||
|
<height>40</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
</spacer>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</widget>
|
||||||
|
<resources/>
|
||||||
|
<connections/>
|
||||||
|
</ui>
|
|
@ -0,0 +1,42 @@
|
||||||
|
// Ryzom - MMORPG Framework <http://dev.ryzom.com/projects/ryzom/>
|
||||||
|
// Copyright (C) 2010 Winch Gate Property Limited
|
||||||
|
//
|
||||||
|
// 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 "sys_info_opengl_widget.h"
|
||||||
|
#include "system.h"
|
||||||
|
|
||||||
|
CSysInfoOpenGLWidget::CSysInfoOpenGLWidget( QWidget *parent ) :
|
||||||
|
QWidget( parent )
|
||||||
|
{
|
||||||
|
setupUi( this );
|
||||||
|
vendorLabel->setText( CSystem::GetInstance().openglInfo.vendor.c_str() );
|
||||||
|
rendererLabel->setText( CSystem::GetInstance().openglInfo.renderer.c_str() );
|
||||||
|
versionLabel->setText( CSystem::GetInstance().openglInfo.driverVersion.c_str() );
|
||||||
|
extensionsBox->setPlainText( CSystem::GetInstance().openglInfo.extensions.c_str() );
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
CSysInfoOpenGLWidget::~CSysInfoOpenGLWidget()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
void CSysInfoOpenGLWidget::changeEvent( QEvent *event )
|
||||||
|
{
|
||||||
|
if( event->type() == QEvent::LanguageChange )
|
||||||
|
{
|
||||||
|
retranslateUi( this );
|
||||||
|
}
|
||||||
|
QWidget::changeEvent( event );
|
||||||
|
}
|
|
@ -0,0 +1,38 @@
|
||||||
|
// Ryzom - MMORPG Framework <http://dev.ryzom.com/projects/ryzom/>
|
||||||
|
// Copyright (C) 2010 Winch Gate Property Limited
|
||||||
|
//
|
||||||
|
// 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 SYSINFOOPENGLWIDGET_H
|
||||||
|
#define SYSINFOOPENGLWIDGET_H
|
||||||
|
|
||||||
|
#include "ui_sys_info_opengl_widget.h"
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
@brief The OpenGL information page of the configuration tool
|
||||||
|
*/
|
||||||
|
class CSysInfoOpenGLWidget : public QWidget, public Ui::sys_info_opengl_widget
|
||||||
|
{
|
||||||
|
Q_OBJECT
|
||||||
|
public:
|
||||||
|
CSysInfoOpenGLWidget( QWidget *parent = NULL );
|
||||||
|
~CSysInfoOpenGLWidget();
|
||||||
|
|
||||||
|
protected:
|
||||||
|
void changeEvent( QEvent *event );
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif // SYSINFOOPENGLWIDGET_H
|
|
@ -0,0 +1,194 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<ui version="4.0">
|
||||||
|
<class>sys_info_opengl_widget</class>
|
||||||
|
<widget class="QWidget" name="sys_info_opengl_widget">
|
||||||
|
<property name="geometry">
|
||||||
|
<rect>
|
||||||
|
<x>0</x>
|
||||||
|
<y>0</y>
|
||||||
|
<width>391</width>
|
||||||
|
<height>429</height>
|
||||||
|
</rect>
|
||||||
|
</property>
|
||||||
|
<property name="windowTitle">
|
||||||
|
<string>OpenGL information</string>
|
||||||
|
</property>
|
||||||
|
<layout class="QVBoxLayout" name="verticalLayout_2">
|
||||||
|
<item>
|
||||||
|
<widget class="QGroupBox" name="groupBox">
|
||||||
|
<property name="title">
|
||||||
|
<string>OpenGL</string>
|
||||||
|
</property>
|
||||||
|
<layout class="QVBoxLayout" name="verticalLayout">
|
||||||
|
<item>
|
||||||
|
<layout class="QGridLayout" name="gridLayout">
|
||||||
|
<item row="0" column="0">
|
||||||
|
<widget class="QLabel" name="label">
|
||||||
|
<property name="text">
|
||||||
|
<string>Vendor</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="0" column="1">
|
||||||
|
<widget class="QLabel" name="vendorLabel">
|
||||||
|
<property name="sizePolicy">
|
||||||
|
<sizepolicy hsizetype="Preferred" vsizetype="Minimum">
|
||||||
|
<horstretch>0</horstretch>
|
||||||
|
<verstretch>0</verstretch>
|
||||||
|
</sizepolicy>
|
||||||
|
</property>
|
||||||
|
<property name="toolTip">
|
||||||
|
<string notr="true"/>
|
||||||
|
</property>
|
||||||
|
<property name="statusTip">
|
||||||
|
<string notr="true"/>
|
||||||
|
</property>
|
||||||
|
<property name="whatsThis">
|
||||||
|
<string notr="true"/>
|
||||||
|
</property>
|
||||||
|
<property name="accessibleName">
|
||||||
|
<string notr="true"/>
|
||||||
|
</property>
|
||||||
|
<property name="accessibleDescription">
|
||||||
|
<string notr="true"/>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string notr="true">Mesa3D OpenGL library</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="1" column="0">
|
||||||
|
<widget class="QLabel" name="label_3">
|
||||||
|
<property name="text">
|
||||||
|
<string>Renderer</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="1" column="1">
|
||||||
|
<widget class="QLabel" name="rendererLabel">
|
||||||
|
<property name="sizePolicy">
|
||||||
|
<sizepolicy hsizetype="Preferred" vsizetype="Minimum">
|
||||||
|
<horstretch>0</horstretch>
|
||||||
|
<verstretch>0</verstretch>
|
||||||
|
</sizepolicy>
|
||||||
|
</property>
|
||||||
|
<property name="toolTip">
|
||||||
|
<string notr="true"/>
|
||||||
|
</property>
|
||||||
|
<property name="statusTip">
|
||||||
|
<string notr="true"/>
|
||||||
|
</property>
|
||||||
|
<property name="whatsThis">
|
||||||
|
<string notr="true"/>
|
||||||
|
</property>
|
||||||
|
<property name="accessibleName">
|
||||||
|
<string notr="true"/>
|
||||||
|
</property>
|
||||||
|
<property name="accessibleDescription">
|
||||||
|
<string notr="true"/>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string notr="true">Mesa3D OpenGL Software Renderer</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="2" column="0">
|
||||||
|
<widget class="QLabel" name="label_5">
|
||||||
|
<property name="text">
|
||||||
|
<string>Version</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="2" column="1">
|
||||||
|
<widget class="QLabel" name="versionLabel">
|
||||||
|
<property name="sizePolicy">
|
||||||
|
<sizepolicy hsizetype="Preferred" vsizetype="Minimum">
|
||||||
|
<horstretch>0</horstretch>
|
||||||
|
<verstretch>0</verstretch>
|
||||||
|
</sizepolicy>
|
||||||
|
</property>
|
||||||
|
<property name="toolTip">
|
||||||
|
<string notr="true"/>
|
||||||
|
</property>
|
||||||
|
<property name="statusTip">
|
||||||
|
<string notr="true"/>
|
||||||
|
</property>
|
||||||
|
<property name="whatsThis">
|
||||||
|
<string notr="true"/>
|
||||||
|
</property>
|
||||||
|
<property name="accessibleName">
|
||||||
|
<string notr="true"/>
|
||||||
|
</property>
|
||||||
|
<property name="accessibleDescription">
|
||||||
|
<string notr="true"/>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string notr="true">6.66</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<spacer name="verticalSpacer">
|
||||||
|
<property name="orientation">
|
||||||
|
<enum>Qt::Vertical</enum>
|
||||||
|
</property>
|
||||||
|
<property name="sizeHint" stdset="0">
|
||||||
|
<size>
|
||||||
|
<width>20</width>
|
||||||
|
<height>99</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
</spacer>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QLabel" name="label_7">
|
||||||
|
<property name="text">
|
||||||
|
<string>Extensions</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QPlainTextEdit" name="extensionsBox">
|
||||||
|
<property name="toolTip">
|
||||||
|
<string notr="true"/>
|
||||||
|
</property>
|
||||||
|
<property name="statusTip">
|
||||||
|
<string notr="true"/>
|
||||||
|
</property>
|
||||||
|
<property name="whatsThis">
|
||||||
|
<string notr="true"/>
|
||||||
|
</property>
|
||||||
|
<property name="accessibleName">
|
||||||
|
<string notr="true"/>
|
||||||
|
</property>
|
||||||
|
<property name="accessibleDescription">
|
||||||
|
<string notr="true"/>
|
||||||
|
</property>
|
||||||
|
<property name="verticalScrollBarPolicy">
|
||||||
|
<enum>Qt::ScrollBarAsNeeded</enum>
|
||||||
|
</property>
|
||||||
|
<property name="undoRedoEnabled">
|
||||||
|
<bool>false</bool>
|
||||||
|
</property>
|
||||||
|
<property name="readOnly">
|
||||||
|
<bool>true</bool>
|
||||||
|
</property>
|
||||||
|
<property name="plainText">
|
||||||
|
<string notr="true">GL_EXT_SUPERCOOL1
|
||||||
|
GL_EXT_SUPERCOOL2</string>
|
||||||
|
</property>
|
||||||
|
<property name="backgroundVisible">
|
||||||
|
<bool>false</bool>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</widget>
|
||||||
|
<resources/>
|
||||||
|
<connections/>
|
||||||
|
</ui>
|
46
code/ryzom/tools/client/client_config_qt/sys_info_widget.cpp
Normal file
|
@ -0,0 +1,46 @@
|
||||||
|
// Ryzom - MMORPG Framework <http://dev.ryzom.com/projects/ryzom/>
|
||||||
|
// Copyright (C) 2010 Winch Gate Property Limited
|
||||||
|
//
|
||||||
|
// 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 "sys_info_widget.h"
|
||||||
|
#include "system.h"
|
||||||
|
|
||||||
|
CSysInfoWidget::CSysInfoWidget( QWidget *parent ) :
|
||||||
|
QWidget( parent )
|
||||||
|
{
|
||||||
|
setupUi( this );
|
||||||
|
|
||||||
|
osLabel->setText( CSystem::GetInstance().sysInfo.osName.c_str() );
|
||||||
|
cpuLabel->setText( CSystem::GetInstance().sysInfo.cpuName.c_str() );
|
||||||
|
|
||||||
|
ramLabel->setText(
|
||||||
|
QString().setNum( CSystem::GetInstance().sysInfo.totalRAM ).append( " Mb" ) );
|
||||||
|
|
||||||
|
gfxcardLabel->setText( CSystem::GetInstance().sysInfo.videoDevice.c_str() );
|
||||||
|
gfxdriverLabel->setText( CSystem::GetInstance().sysInfo.videoDriverVersion.c_str() );
|
||||||
|
}
|
||||||
|
|
||||||
|
CSysInfoWidget::~CSysInfoWidget()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
void CSysInfoWidget::changeEvent( QEvent *event )
|
||||||
|
{
|
||||||
|
if( event->type() == QEvent::LanguageChange )
|
||||||
|
{
|
||||||
|
retranslateUi( this );
|
||||||
|
}
|
||||||
|
QWidget::changeEvent( event );
|
||||||
|
}
|
38
code/ryzom/tools/client/client_config_qt/sys_info_widget.h
Normal file
|
@ -0,0 +1,38 @@
|
||||||
|
// Ryzom - MMORPG Framework <http://dev.ryzom.com/projects/ryzom/>
|
||||||
|
// Copyright (C) 2010 Winch Gate Property Limited
|
||||||
|
//
|
||||||
|
// 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 SYSINFOWIDGET_H
|
||||||
|
#define SYSINFOWIDGET_H
|
||||||
|
|
||||||
|
#include "ui_sys_info_widget.h"
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
@brief The system information page of the configuration tool
|
||||||
|
*/
|
||||||
|
class CSysInfoWidget : public QWidget, public Ui::sys_info_widget
|
||||||
|
{
|
||||||
|
Q_OBJECT
|
||||||
|
public:
|
||||||
|
CSysInfoWidget( QWidget *parent = NULL );
|
||||||
|
~CSysInfoWidget();
|
||||||
|
|
||||||
|
protected:
|
||||||
|
void changeEvent( QEvent *event );
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif // SYSINFOWIDGET_H
|
223
code/ryzom/tools/client/client_config_qt/sys_info_widget.ui
Normal file
|
@ -0,0 +1,223 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<ui version="4.0">
|
||||||
|
<class>sys_info_widget</class>
|
||||||
|
<widget class="QWidget" name="sys_info_widget">
|
||||||
|
<property name="geometry">
|
||||||
|
<rect>
|
||||||
|
<x>0</x>
|
||||||
|
<y>0</y>
|
||||||
|
<width>391</width>
|
||||||
|
<height>429</height>
|
||||||
|
</rect>
|
||||||
|
</property>
|
||||||
|
<property name="windowTitle">
|
||||||
|
<string>System information</string>
|
||||||
|
</property>
|
||||||
|
<layout class="QVBoxLayout" name="verticalLayout_2">
|
||||||
|
<item>
|
||||||
|
<widget class="QGroupBox" name="groupBox">
|
||||||
|
<property name="title">
|
||||||
|
<string>System information</string>
|
||||||
|
</property>
|
||||||
|
<layout class="QVBoxLayout" name="verticalLayout_3">
|
||||||
|
<item>
|
||||||
|
<layout class="QVBoxLayout" name="verticalLayout">
|
||||||
|
<item>
|
||||||
|
<layout class="QGridLayout" name="gridLayout">
|
||||||
|
<item row="0" column="0">
|
||||||
|
<widget class="QLabel" name="label">
|
||||||
|
<property name="text">
|
||||||
|
<string>Operating system</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="0" column="1">
|
||||||
|
<widget class="QLabel" name="osLabel">
|
||||||
|
<property name="sizePolicy">
|
||||||
|
<sizepolicy hsizetype="Preferred" vsizetype="Minimum">
|
||||||
|
<horstretch>0</horstretch>
|
||||||
|
<verstretch>0</verstretch>
|
||||||
|
</sizepolicy>
|
||||||
|
</property>
|
||||||
|
<property name="toolTip">
|
||||||
|
<string notr="true"/>
|
||||||
|
</property>
|
||||||
|
<property name="statusTip">
|
||||||
|
<string notr="true"/>
|
||||||
|
</property>
|
||||||
|
<property name="whatsThis">
|
||||||
|
<string notr="true"/>
|
||||||
|
</property>
|
||||||
|
<property name="accessibleName">
|
||||||
|
<string notr="true"/>
|
||||||
|
</property>
|
||||||
|
<property name="accessibleDescription">
|
||||||
|
<string/>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string notr="true">Linux 6.6.6</string>
|
||||||
|
</property>
|
||||||
|
<property name="wordWrap">
|
||||||
|
<bool>true</bool>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="1" column="0">
|
||||||
|
<widget class="QLabel" name="label_3">
|
||||||
|
<property name="text">
|
||||||
|
<string>CPU</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="1" column="1">
|
||||||
|
<widget class="QLabel" name="cpuLabel">
|
||||||
|
<property name="sizePolicy">
|
||||||
|
<sizepolicy hsizetype="Preferred" vsizetype="Minimum">
|
||||||
|
<horstretch>0</horstretch>
|
||||||
|
<verstretch>0</verstretch>
|
||||||
|
</sizepolicy>
|
||||||
|
</property>
|
||||||
|
<property name="toolTip">
|
||||||
|
<string notr="true"/>
|
||||||
|
</property>
|
||||||
|
<property name="statusTip">
|
||||||
|
<string notr="true"/>
|
||||||
|
</property>
|
||||||
|
<property name="whatsThis">
|
||||||
|
<string notr="true"/>
|
||||||
|
</property>
|
||||||
|
<property name="accessibleName">
|
||||||
|
<string notr="true"/>
|
||||||
|
</property>
|
||||||
|
<property name="accessibleDescription">
|
||||||
|
<string notr="true"/>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string notr="true">Cray threadstorm 64bit @500Mhz ( 96 cores )</string>
|
||||||
|
</property>
|
||||||
|
<property name="wordWrap">
|
||||||
|
<bool>true</bool>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="2" column="0">
|
||||||
|
<widget class="QLabel" name="label_5">
|
||||||
|
<property name="text">
|
||||||
|
<string>Physical memory</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="2" column="1">
|
||||||
|
<widget class="QLabel" name="ramLabel">
|
||||||
|
<property name="toolTip">
|
||||||
|
<string/>
|
||||||
|
</property>
|
||||||
|
<property name="statusTip">
|
||||||
|
<string notr="true"/>
|
||||||
|
</property>
|
||||||
|
<property name="whatsThis">
|
||||||
|
<string notr="true"/>
|
||||||
|
</property>
|
||||||
|
<property name="accessibleName">
|
||||||
|
<string notr="true"/>
|
||||||
|
</property>
|
||||||
|
<property name="accessibleDescription">
|
||||||
|
<string notr="true"/>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string notr="true">8192 GB</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="3" column="0">
|
||||||
|
<widget class="QLabel" name="label_7">
|
||||||
|
<property name="text">
|
||||||
|
<string>Video device</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="3" column="1">
|
||||||
|
<widget class="QLabel" name="gfxcardLabel">
|
||||||
|
<property name="sizePolicy">
|
||||||
|
<sizepolicy hsizetype="Preferred" vsizetype="Minimum">
|
||||||
|
<horstretch>0</horstretch>
|
||||||
|
<verstretch>0</verstretch>
|
||||||
|
</sizepolicy>
|
||||||
|
</property>
|
||||||
|
<property name="toolTip">
|
||||||
|
<string notr="true"/>
|
||||||
|
</property>
|
||||||
|
<property name="statusTip">
|
||||||
|
<string notr="true"/>
|
||||||
|
</property>
|
||||||
|
<property name="whatsThis">
|
||||||
|
<string notr="true"/>
|
||||||
|
</property>
|
||||||
|
<property name="accessibleName">
|
||||||
|
<string notr="true"/>
|
||||||
|
</property>
|
||||||
|
<property name="accessibleDescription">
|
||||||
|
<string notr="true"/>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string notr="true">S3 trio 64</string>
|
||||||
|
</property>
|
||||||
|
<property name="wordWrap">
|
||||||
|
<bool>true</bool>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="4" column="0">
|
||||||
|
<widget class="QLabel" name="label_9">
|
||||||
|
<property name="text">
|
||||||
|
<string>Video driver version</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="4" column="1">
|
||||||
|
<widget class="QLabel" name="gfxdriverLabel">
|
||||||
|
<property name="toolTip">
|
||||||
|
<string/>
|
||||||
|
</property>
|
||||||
|
<property name="statusTip">
|
||||||
|
<string notr="true"/>
|
||||||
|
</property>
|
||||||
|
<property name="whatsThis">
|
||||||
|
<string notr="true"/>
|
||||||
|
</property>
|
||||||
|
<property name="accessibleName">
|
||||||
|
<string notr="true"/>
|
||||||
|
</property>
|
||||||
|
<property name="accessibleDescription">
|
||||||
|
<string notr="true"/>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string notr="true">6.66</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<spacer name="verticalSpacer">
|
||||||
|
<property name="orientation">
|
||||||
|
<enum>Qt::Vertical</enum>
|
||||||
|
</property>
|
||||||
|
<property name="sizeHint" stdset="0">
|
||||||
|
<size>
|
||||||
|
<width>20</width>
|
||||||
|
<height>40</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
</spacer>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</widget>
|
||||||
|
<resources/>
|
||||||
|
<connections/>
|
||||||
|
</ui>
|
181
code/ryzom/tools/client/client_config_qt/system.cpp
Normal file
|
@ -0,0 +1,181 @@
|
||||||
|
// Ryzom - MMORPG Framework <http://dev.ryzom.com/projects/ryzom/>
|
||||||
|
// Copyright (C) 2010 Winch Gate Property Limited
|
||||||
|
//
|
||||||
|
// 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 "system.h"
|
||||||
|
#include <sstream>
|
||||||
|
#include <nel/3d/driver.h>
|
||||||
|
#include <nel/3d/dru.h>
|
||||||
|
#include <QtOpenGL/QGLWidget>
|
||||||
|
|
||||||
|
CSystem *CSystem::instance = NULL;
|
||||||
|
|
||||||
|
CSystem::CSystem()
|
||||||
|
{
|
||||||
|
GatherSysInfo();
|
||||||
|
#ifdef WIN32
|
||||||
|
GatherD3DInfo();
|
||||||
|
#endif
|
||||||
|
GatherOpenGLInfo();
|
||||||
|
}
|
||||||
|
|
||||||
|
CSystem::~CSystem()
|
||||||
|
{
|
||||||
|
instance = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void CSystem::GatherSysInfo()
|
||||||
|
{
|
||||||
|
std::string device;
|
||||||
|
uint64 driver;
|
||||||
|
|
||||||
|
if( NLMISC::CSystemInfo::getVideoInfo( device, driver ) )
|
||||||
|
{
|
||||||
|
sysInfo.videoDevice = device;
|
||||||
|
|
||||||
|
//////////////////////////////////////////////////////////////
|
||||||
|
// FIXME
|
||||||
|
// This is taken from the original configuration tool, and
|
||||||
|
// it generates the same *wrong* version number
|
||||||
|
//////////////////////////////////////////////////////////////
|
||||||
|
uint32 version = static_cast< uint32 >( driver & 0xffff );
|
||||||
|
std::stringstream ss;
|
||||||
|
|
||||||
|
ss << ( version / 1000 % 10 );
|
||||||
|
ss << ".";
|
||||||
|
ss << ( version / 100 % 10 );
|
||||||
|
ss << ".";
|
||||||
|
ss << ( version / 10 % 10 );
|
||||||
|
ss << ".";
|
||||||
|
ss << ( version % 10 );
|
||||||
|
|
||||||
|
sysInfo.videoDriverVersion = ss.str();
|
||||||
|
//////////////////////////////////////////////////////////////
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
sysInfo.videoDevice = "video card";
|
||||||
|
sysInfo.videoDriverVersion = "0.0.0.0";
|
||||||
|
}
|
||||||
|
|
||||||
|
sysInfo.osName = NLMISC::CSystemInfo::getOS();
|
||||||
|
sysInfo.cpuName = NLMISC::CSystemInfo::getProc();
|
||||||
|
sysInfo.totalRAM = NLMISC::CSystemInfo::totalPhysicalMemory();
|
||||||
|
sysInfo.totalRAM /= ( 1024 * 1024 );
|
||||||
|
}
|
||||||
|
|
||||||
|
#ifdef WIN32
|
||||||
|
void CSystem::GatherD3DInfo()
|
||||||
|
{
|
||||||
|
NL3D::IDriver *driver = NULL;
|
||||||
|
try
|
||||||
|
{
|
||||||
|
driver = NL3D::CDRU::createD3DDriver();
|
||||||
|
|
||||||
|
NL3D::IDriver::CAdapter adapter;
|
||||||
|
|
||||||
|
if( driver->getAdapter( 0xffffffff, adapter ) )
|
||||||
|
{
|
||||||
|
d3dInfo.device = adapter.Description;
|
||||||
|
d3dInfo.driver = adapter.Driver;
|
||||||
|
|
||||||
|
sint64 ver = adapter.DriverVersion;
|
||||||
|
std::stringstream ss;
|
||||||
|
ss << static_cast< uint16 >( ver >> 48 );
|
||||||
|
ss << ".";
|
||||||
|
ss << static_cast< uint16 >( ver >> 32 );
|
||||||
|
ss << ".";
|
||||||
|
ss << static_cast< uint16 >( ver >> 16 );
|
||||||
|
ss << ".";
|
||||||
|
ss << static_cast< uint16 >( ver & 0xFFFF );
|
||||||
|
d3dInfo.driverVersion = ss.str();
|
||||||
|
}
|
||||||
|
|
||||||
|
GetVideoModes( d3dInfo.modes, driver );
|
||||||
|
|
||||||
|
driver->release();
|
||||||
|
}
|
||||||
|
|
||||||
|
catch( NLMISC::Exception &e )
|
||||||
|
{
|
||||||
|
nlwarning( e.what() );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
void CSystem::GatherOpenGLInfo()
|
||||||
|
{
|
||||||
|
QGLWidget *gl = new QGLWidget();
|
||||||
|
|
||||||
|
gl->makeCurrent();
|
||||||
|
|
||||||
|
const char *s = NULL;
|
||||||
|
s = reinterpret_cast< const char * >( glGetString( GL_VENDOR ) );
|
||||||
|
if( s != NULL )
|
||||||
|
openglInfo.vendor.assign( s );
|
||||||
|
|
||||||
|
s = reinterpret_cast< const char * >( glGetString( GL_RENDERER ) );
|
||||||
|
if( s != NULL )
|
||||||
|
openglInfo.renderer.assign( s );
|
||||||
|
|
||||||
|
s = reinterpret_cast< const char * >( glGetString( GL_VERSION ) );
|
||||||
|
if( s != NULL )
|
||||||
|
openglInfo.driverVersion.assign( s );
|
||||||
|
|
||||||
|
s = reinterpret_cast< const char * >( glGetString( GL_EXTENSIONS ) );
|
||||||
|
if( s != NULL )
|
||||||
|
{
|
||||||
|
openglInfo.extensions.assign( s );
|
||||||
|
for( std::string::iterator itr = openglInfo.extensions.begin(); itr != openglInfo.extensions.end(); ++itr )
|
||||||
|
if( *itr == ' ' )
|
||||||
|
*itr = '\n';
|
||||||
|
}
|
||||||
|
|
||||||
|
delete gl;
|
||||||
|
|
||||||
|
NL3D::IDriver *driver = NULL;
|
||||||
|
try
|
||||||
|
{
|
||||||
|
driver = NL3D::CDRU::createGlDriver();
|
||||||
|
GetVideoModes( openglInfo.modes, driver );
|
||||||
|
driver->release();
|
||||||
|
}
|
||||||
|
|
||||||
|
catch( NLMISC::Exception &e )
|
||||||
|
{
|
||||||
|
nlwarning( e.what() );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void CSystem::GetVideoModes( std::vector< CVideoMode > &dst, NL3D::IDriver *driver ) const
|
||||||
|
{
|
||||||
|
std::vector< NL3D::GfxMode > modes;
|
||||||
|
driver->getModes( modes );
|
||||||
|
|
||||||
|
for( std::vector< NL3D::GfxMode >::iterator itr = modes.begin(); itr != modes.end(); ++itr )
|
||||||
|
{
|
||||||
|
if( ( itr->Width >= 800 ) && ( itr->Height >= 600 ) && ( itr->Depth == 32 ) && ( itr->Frequency >= 60 ) )
|
||||||
|
{
|
||||||
|
CVideoMode mode;
|
||||||
|
mode.depth = itr->Depth;
|
||||||
|
mode.widht = itr->Width;
|
||||||
|
mode.height = itr->Height;
|
||||||
|
mode.frequency = itr->Frequency;
|
||||||
|
|
||||||
|
dst.push_back( mode );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
112
code/ryzom/tools/client/client_config_qt/system.h
Normal file
|
@ -0,0 +1,112 @@
|
||||||
|
// Ryzom - MMORPG Framework <http://dev.ryzom.com/projects/ryzom/>
|
||||||
|
// Copyright (C) 2010 Winch Gate Property Limited
|
||||||
|
//
|
||||||
|
// 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 SYSTEM_H
|
||||||
|
#define SYSTEM_H
|
||||||
|
|
||||||
|
#include <nel/misc/system_info.h>
|
||||||
|
#include "config.h"
|
||||||
|
|
||||||
|
namespace NL3D
|
||||||
|
{
|
||||||
|
class IDriver;
|
||||||
|
}
|
||||||
|
|
||||||
|
struct CVideoMode
|
||||||
|
{
|
||||||
|
unsigned int widht;
|
||||||
|
unsigned int height;
|
||||||
|
unsigned int depth;
|
||||||
|
unsigned int frequency;
|
||||||
|
|
||||||
|
CVideoMode()
|
||||||
|
{
|
||||||
|
widht = 0;
|
||||||
|
height = 0;
|
||||||
|
depth = 0;
|
||||||
|
frequency = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool operator==( CVideoMode &o )
|
||||||
|
{
|
||||||
|
if( ( o.widht == widht ) && ( o.height == height ) && ( o.depth == depth ) && ( o.frequency == frequency ) )
|
||||||
|
return true;
|
||||||
|
else
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
@brief Singleton class that holds the system information, configs, etc
|
||||||
|
*/
|
||||||
|
class CSystem
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
CSystem();
|
||||||
|
~CSystem();
|
||||||
|
|
||||||
|
static CSystem &GetInstance()
|
||||||
|
{
|
||||||
|
if( instance == 0 )
|
||||||
|
{
|
||||||
|
instance = new CSystem;
|
||||||
|
}
|
||||||
|
return *instance;
|
||||||
|
}
|
||||||
|
|
||||||
|
struct CSysInfo
|
||||||
|
{
|
||||||
|
std::string videoDevice;
|
||||||
|
std::string videoDriverVersion;
|
||||||
|
std::string osName;
|
||||||
|
std::string cpuName;
|
||||||
|
uint64 totalRAM;
|
||||||
|
} sysInfo;
|
||||||
|
|
||||||
|
#ifdef WIN32
|
||||||
|
struct CD3DInfo
|
||||||
|
{
|
||||||
|
std::string device;
|
||||||
|
std::string driver;
|
||||||
|
std::string driverVersion;
|
||||||
|
std::vector< CVideoMode > modes;
|
||||||
|
} d3dInfo;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
struct COpenGLInfo
|
||||||
|
{
|
||||||
|
std::string vendor;
|
||||||
|
std::string renderer;
|
||||||
|
std::string driverVersion;
|
||||||
|
std::string extensions;
|
||||||
|
std::vector< CVideoMode > modes;
|
||||||
|
} openglInfo;
|
||||||
|
|
||||||
|
CConfig config;
|
||||||
|
|
||||||
|
private:
|
||||||
|
void GatherSysInfo();
|
||||||
|
#ifdef WIN32
|
||||||
|
void GatherD3DInfo();
|
||||||
|
#endif
|
||||||
|
void GatherOpenGLInfo();
|
||||||
|
|
||||||
|
void GetVideoModes( std::vector< CVideoMode > &dst, NL3D::IDriver *driver ) const;
|
||||||
|
|
||||||
|
static CSystem *instance;
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif // SYSTEM_H
|
|
@ -0,0 +1,468 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!DOCTYPE TS>
|
||||||
|
<TS version="2.0" language="en_US">
|
||||||
|
<context>
|
||||||
|
<name>CClientConfigDialog</name>
|
||||||
|
<message>
|
||||||
|
<location filename="client_config_dialog.cpp" line="248"/>
|
||||||
|
<source>Ryzom configuration</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="client_config_dialog.cpp" line="249"/>
|
||||||
|
<source>Are you sure you want to quit without saving the configuration?</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>CDisplaySettingsDetailsWidget</name>
|
||||||
|
<message>
|
||||||
|
<location filename="display_settings_details_widget.cpp" line="231"/>
|
||||||
|
<source>Low</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="display_settings_details_widget.cpp" line="234"/>
|
||||||
|
<source>Medium</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="display_settings_details_widget.cpp" line="237"/>
|
||||||
|
<source>Normal</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="display_settings_details_widget.cpp" line="240"/>
|
||||||
|
<source>High</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="display_settings_details_widget.cpp" line="253"/>
|
||||||
|
<source>Low (32 MB)</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="display_settings_details_widget.cpp" line="257"/>
|
||||||
|
<source>Normal (64 MB)</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="display_settings_details_widget.cpp" line="261"/>
|
||||||
|
<source>High (128 MB)</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>CSoundSettingsWidget</name>
|
||||||
|
<message>
|
||||||
|
<location filename="sound_settings_widget.cpp" line="98"/>
|
||||||
|
<source>%1 tracks</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>client_config_dialog</name>
|
||||||
|
<message>
|
||||||
|
<location filename="client_config_dialog.ui" line="20"/>
|
||||||
|
<source>Ryzom Configuration</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="client_config_dialog.ui" line="107"/>
|
||||||
|
<location filename="client_config_dialog.ui" line="135"/>
|
||||||
|
<source>General</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="client_config_dialog.ui" line="130"/>
|
||||||
|
<source>Category</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="client_config_dialog.ui" line="146"/>
|
||||||
|
<source>Display</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="client_config_dialog.ui" line="156"/>
|
||||||
|
<source>Display details</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="client_config_dialog.ui" line="161"/>
|
||||||
|
<source>Display advanced</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="client_config_dialog.ui" line="167"/>
|
||||||
|
<source>Sound</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="client_config_dialog.ui" line="178"/>
|
||||||
|
<source>System information</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="client_config_dialog.ui" line="188"/>
|
||||||
|
<source>OpenGL information</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="client_config_dialog.ui" line="193"/>
|
||||||
|
<source>Direct3D information</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="client_config_dialog.ui" line="245"/>
|
||||||
|
<source>Apply</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="client_config_dialog.ui" line="252"/>
|
||||||
|
<source>Default</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="client_config_dialog.ui" line="259"/>
|
||||||
|
<source>Play Ryzom</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>display_settings_advanced_widget</name>
|
||||||
|
<message>
|
||||||
|
<location filename="display_settings_advanced_widget.ui" line="14"/>
|
||||||
|
<source>Display advanced</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="display_settings_advanced_widget.ui" line="22"/>
|
||||||
|
<source>Modify these settings only if you have trouble launching the game</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="display_settings_advanced_widget.ui" line="31"/>
|
||||||
|
<source>Disable texture compression</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="display_settings_advanced_widget.ui" line="38"/>
|
||||||
|
<source>Disable vertex shaders</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="display_settings_advanced_widget.ui" line="45"/>
|
||||||
|
<source>Disable AGP for vertices</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="display_settings_advanced_widget.ui" line="52"/>
|
||||||
|
<source>Disable pixel shaders</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>display_settings_details_widget</name>
|
||||||
|
<message>
|
||||||
|
<location filename="display_settings_details_widget.ui" line="14"/>
|
||||||
|
<source>Display details</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="display_settings_details_widget.ui" line="20"/>
|
||||||
|
<source>Landscape</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="display_settings_details_widget.ui" line="30"/>
|
||||||
|
<location filename="display_settings_details_widget.ui" line="116"/>
|
||||||
|
<location filename="display_settings_details_widget.ui" line="196"/>
|
||||||
|
<location filename="display_settings_details_widget.ui" line="276"/>
|
||||||
|
<source>Level of detail</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="display_settings_details_widget.ui" line="94"/>
|
||||||
|
<location filename="display_settings_details_widget.ui" line="174"/>
|
||||||
|
<location filename="display_settings_details_widget.ui" line="254"/>
|
||||||
|
<location filename="display_settings_details_widget.ui" line="334"/>
|
||||||
|
<source>Low</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="display_settings_details_widget.ui" line="106"/>
|
||||||
|
<source>Characters</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="display_settings_details_widget.ui" line="186"/>
|
||||||
|
<source>FX</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="display_settings_details_widget.ui" line="266"/>
|
||||||
|
<source>Textures</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>display_settings_widget</name>
|
||||||
|
<message>
|
||||||
|
<location filename="display_settings_widget.ui" line="14"/>
|
||||||
|
<source>Display</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="display_settings_widget.ui" line="20"/>
|
||||||
|
<source>Driver</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="display_settings_widget.ui" line="28"/>
|
||||||
|
<source>Specify if Ryzom is to be run in OpenGL or Direct3D.</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="display_settings_widget.ui" line="35"/>
|
||||||
|
<source>Auto</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="display_settings_widget.ui" line="42"/>
|
||||||
|
<source>OpenGL</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="display_settings_widget.ui" line="49"/>
|
||||||
|
<source>Direct3D</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="display_settings_widget.ui" line="61"/>
|
||||||
|
<source>Parameters</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="display_settings_widget.ui" line="67"/>
|
||||||
|
<source>Specify if Ryzom is to be run in full screen or window mode:</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="display_settings_widget.ui" line="74"/>
|
||||||
|
<source>Full screen</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="display_settings_widget.ui" line="81"/>
|
||||||
|
<source>Specify a video mode</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="display_settings_widget.ui" line="104"/>
|
||||||
|
<source>Windowed</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="display_settings_widget.ui" line="115"/>
|
||||||
|
<source>Width</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="display_settings_widget.ui" line="122"/>
|
||||||
|
<source>Height</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="display_settings_widget.ui" line="129"/>
|
||||||
|
<source>X position</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="display_settings_widget.ui" line="136"/>
|
||||||
|
<source>Y position</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>general_settings_widget</name>
|
||||||
|
<message>
|
||||||
|
<location filename="general_settings_widget.ui" line="14"/>
|
||||||
|
<source>Form</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="general_settings_widget.ui" line="25"/>
|
||||||
|
<source>Language</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="general_settings_widget.ui" line="33"/>
|
||||||
|
<source>English</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="general_settings_widget.ui" line="38"/>
|
||||||
|
<source>French</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="general_settings_widget.ui" line="43"/>
|
||||||
|
<source>German</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="general_settings_widget.ui" line="48"/>
|
||||||
|
<source>Hungarian</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="general_settings_widget.ui" line="72"/>
|
||||||
|
<source>Save config file when quitting the game</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="general_settings_widget.ui" line="92"/>
|
||||||
|
<source>Advanced</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="general_settings_widget.ui" line="100"/>
|
||||||
|
<source>Slow down the game ( process low priority )</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>sound_settings_widget</name>
|
||||||
|
<message>
|
||||||
|
<location filename="sound_settings_widget.ui" line="14"/>
|
||||||
|
<source>Sound</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="sound_settings_widget.ui" line="24"/>
|
||||||
|
<source>Enable sound</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="sound_settings_widget.ui" line="31"/>
|
||||||
|
<source>Enable EAX</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="sound_settings_widget.ui" line="38"/>
|
||||||
|
<source>Enable FMod</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="sound_settings_widget.ui" line="45"/>
|
||||||
|
<source>Software sound buffer ( may increase FPS )</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="sound_settings_widget.ui" line="68"/>
|
||||||
|
<source>Sound tracks</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="sound_settings_widget.ui" line="117"/>
|
||||||
|
<source>8 tracks</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>sys_info_d3d_widget</name>
|
||||||
|
<message>
|
||||||
|
<location filename="sys_info_d3d_widget.ui" line="14"/>
|
||||||
|
<source>Direct3D information</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="sys_info_d3d_widget.ui" line="20"/>
|
||||||
|
<source>Direct3D</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="sys_info_d3d_widget.ui" line="30"/>
|
||||||
|
<source>Description</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="sys_info_d3d_widget.ui" line="65"/>
|
||||||
|
<source>Driver</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="sys_info_d3d_widget.ui" line="100"/>
|
||||||
|
<source>Driver version</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>sys_info_opengl_widget</name>
|
||||||
|
<message>
|
||||||
|
<location filename="sys_info_opengl_widget.ui" line="14"/>
|
||||||
|
<source>OpenGL information</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="sys_info_opengl_widget.ui" line="20"/>
|
||||||
|
<source>OpenGL</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="sys_info_opengl_widget.ui" line="28"/>
|
||||||
|
<source>Vendor</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="sys_info_opengl_widget.ui" line="63"/>
|
||||||
|
<source>Renderer</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="sys_info_opengl_widget.ui" line="98"/>
|
||||||
|
<source>Version</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="sys_info_opengl_widget.ui" line="148"/>
|
||||||
|
<source>Extensions</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>sys_info_widget</name>
|
||||||
|
<message>
|
||||||
|
<location filename="sys_info_widget.ui" line="14"/>
|
||||||
|
<location filename="sys_info_widget.ui" line="20"/>
|
||||||
|
<source>System information</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="sys_info_widget.ui" line="30"/>
|
||||||
|
<source>Operating system</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="sys_info_widget.ui" line="68"/>
|
||||||
|
<source>CPU</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="sys_info_widget.ui" line="106"/>
|
||||||
|
<source>Physical memory</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="sys_info_widget.ui" line="135"/>
|
||||||
|
<source>Video device</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="sys_info_widget.ui" line="173"/>
|
||||||
|
<source>Video driver version</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
</TS>
|
|
@ -0,0 +1,834 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!DOCTYPE TS>
|
||||||
|
<TS version="2.0" language="hu_HU">
|
||||||
|
<context>
|
||||||
|
<name>CClientConfigDialog</name>
|
||||||
|
<message>
|
||||||
|
<location filename="client_config_dialog.cpp" line="248"/>
|
||||||
|
<source>Ryzom configuration</source>
|
||||||
|
<translation type="unfinished">Ryom beállító</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="client_config_dialog.cpp" line="249"/>
|
||||||
|
<source>Are you sure you want to quit without saving the configuration?</source>
|
||||||
|
<translation type="unfinished">Biztosan ki akar lépni mentés nélkül?</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>CDisplaySettingsDetailsWidget</name>
|
||||||
|
<message>
|
||||||
|
<location filename="display_settings_details_widget.cpp" line="231"/>
|
||||||
|
<source>Low</source>
|
||||||
|
<translation type="unfinished">Alacsony</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="display_settings_details_widget.cpp" line="234"/>
|
||||||
|
<source>Medium</source>
|
||||||
|
<translation type="unfinished">Közepes</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="display_settings_details_widget.cpp" line="237"/>
|
||||||
|
<source>Normal</source>
|
||||||
|
<translation type="unfinished">Normális</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="display_settings_details_widget.cpp" line="240"/>
|
||||||
|
<source>High</source>
|
||||||
|
<translation type="unfinished">Magas</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="display_settings_details_widget.cpp" line="253"/>
|
||||||
|
<source>Low (32 MB)</source>
|
||||||
|
<translation type="unfinished">Alacsony (32 MB)</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="display_settings_details_widget.cpp" line="257"/>
|
||||||
|
<source>Normal (64 MB)</source>
|
||||||
|
<translation type="unfinished">Normális (64 MB)</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="display_settings_details_widget.cpp" line="261"/>
|
||||||
|
<source>High (128 MB)</source>
|
||||||
|
<translation type="unfinished">Magas (128 MB)</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>CSoundSettingsWidget</name>
|
||||||
|
<message>
|
||||||
|
<location filename="sound_settings_widget.cpp" line="98"/>
|
||||||
|
<source>%1 tracks</source>
|
||||||
|
<translation type="unfinished">%1 sáv</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>ClientConfigDialog</name>
|
||||||
|
<message>
|
||||||
|
<source>Ryzom Configuration</source>
|
||||||
|
<translation type="obsolete">Ryzom beállító</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>General</source>
|
||||||
|
<translation type="obsolete">Általános</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Category</source>
|
||||||
|
<translation type="obsolete">Kategória</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Display</source>
|
||||||
|
<translation type="obsolete">Megjelenítés</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Display details</source>
|
||||||
|
<translation type="obsolete">Megjelenítés részletek</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Display advanced</source>
|
||||||
|
<translation type="obsolete">Megjelenítés haladóknak</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Sound</source>
|
||||||
|
<translation type="obsolete">Hang</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>System information</source>
|
||||||
|
<translation type="obsolete">Rendszer információk</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>OpenGL information</source>
|
||||||
|
<translation type="obsolete">OpenGL információk</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Direct3D information</source>
|
||||||
|
<translation type="obsolete">Direct3D információk</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Apply</source>
|
||||||
|
<translation type="obsolete">Alkalmaz</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Default</source>
|
||||||
|
<translation type="obsolete">Alapbeállítások</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Play Ryzom</source>
|
||||||
|
<translation type="obsolete">Ryom indítása</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Ryzom configuration</source>
|
||||||
|
<translation type="obsolete">Ryom beállító</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Are you sure you want to quit without saving the configuration?</source>
|
||||||
|
<translation type="obsolete">Biztosan ki akar lépni mentés nélkül?</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>DisplaySettingAdvancedWidget</name>
|
||||||
|
<message>
|
||||||
|
<source>Display advanced</source>
|
||||||
|
<translation type="obsolete">Megjelenítés haladóknak</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Modify these settings only if you have trouble launching the game</source>
|
||||||
|
<translation type="obsolete">Csak akkor változtasson ezeken a beállításokon ha nem tudja elindítani a játékot</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Disable texture compression</source>
|
||||||
|
<translation type="obsolete">Textúratömörítés kikapcsolása</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Disable vertex shaders</source>
|
||||||
|
<translation type="obsolete">Csúcsárnyalók kikapcsolása</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Disable AGP for vertices</source>
|
||||||
|
<translation type="obsolete">AGP kikapcsolása a csúcsok számára</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Disable pixel shaders</source>
|
||||||
|
<translation type="obsolete">Képpont árnyalók kikapcsolása</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>DisplaySettingsDetailsWidget</name>
|
||||||
|
<message>
|
||||||
|
<source>Display details</source>
|
||||||
|
<translation type="obsolete">Megjelenítés részletek</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Landscape</source>
|
||||||
|
<translation type="obsolete">Terep</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Level of detail</source>
|
||||||
|
<translation type="obsolete">Részletesség</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Low</source>
|
||||||
|
<translation type="obsolete">Alacsony</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Characters</source>
|
||||||
|
<translation type="obsolete">Karakterek</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>FX</source>
|
||||||
|
<translation type="obsolete">FX</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Textures</source>
|
||||||
|
<translation type="obsolete">Textúrák</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Medium</source>
|
||||||
|
<translation type="obsolete">Közepes</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Normal</source>
|
||||||
|
<translation type="obsolete">Normális</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>High</source>
|
||||||
|
<translation type="obsolete">Magas</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Low (32 MB)</source>
|
||||||
|
<translation type="obsolete">Alacsony (32 MB)</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Normal (64 MB)</source>
|
||||||
|
<translation type="obsolete">Normális (64 MB)</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>High (128 MB)</source>
|
||||||
|
<translation type="obsolete">Magas (128 MB)</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>DisplaySettingsWidget</name>
|
||||||
|
<message>
|
||||||
|
<source>Display</source>
|
||||||
|
<translation type="obsolete">Megjelenítés</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Driver</source>
|
||||||
|
<translation type="obsolete">Meghajtó</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Auto</source>
|
||||||
|
<translation type="obsolete">Automatikus</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Specify if Ryzom is to be run in OpenGL or Direct3D.</source>
|
||||||
|
<translation type="obsolete">Határozza meg, hogy a Ryzom OpenGL-t vagy Direct3D-t használjon.</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Parameters</source>
|
||||||
|
<translation type="obsolete">Paraméterek</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Specify if Ryzom is to be run in full screen or window mode:</source>
|
||||||
|
<translation type="obsolete">Határozza meg, hogy a Ryzom teljes képernyős vagy ablakos üzemmódban fusson:</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Full screen</source>
|
||||||
|
<translation type="obsolete">Teljes képernyő</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Windowed</source>
|
||||||
|
<translation type="obsolete">Ablakos</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Specify a video mode</source>
|
||||||
|
<translation type="obsolete">Határozza meg a megjelenítési módot</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Width</source>
|
||||||
|
<translation type="obsolete">Szélesség</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Height</source>
|
||||||
|
<translation type="obsolete">Magasság</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>X position</source>
|
||||||
|
<translation type="obsolete">X helyzet</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Y position</source>
|
||||||
|
<translation type="obsolete">Y Helyzet</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>GeneralSettingsWidget</name>
|
||||||
|
<message>
|
||||||
|
<source>Language</source>
|
||||||
|
<translation type="obsolete">Nyelv</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Save config file when quitting the game</source>
|
||||||
|
<translation type="obsolete">Mentsük a beállításokat kilépéskor</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Advanced</source>
|
||||||
|
<translation type="obsolete">Haladó</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Slow down the game ( process low priority )</source>
|
||||||
|
<translation type="obsolete">Játék lassítása ( alacsony prioritású folyamat )</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>English</source>
|
||||||
|
<translation type="obsolete">Angol</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>French</source>
|
||||||
|
<translation type="obsolete">Francia</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>German</source>
|
||||||
|
<translation type="obsolete">Német</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Hungarian</source>
|
||||||
|
<translation type="obsolete">Magyar</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>QObject</name>
|
||||||
|
<message>
|
||||||
|
<source>Low</source>
|
||||||
|
<translation type="obsolete">Alacsony</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Medium</source>
|
||||||
|
<translation type="obsolete">Közepes</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Normal</source>
|
||||||
|
<translation type="obsolete">Normális</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>High</source>
|
||||||
|
<translation type="obsolete">Magas</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>SoundSettingsWidget</name>
|
||||||
|
<message>
|
||||||
|
<source>Sound</source>
|
||||||
|
<translation type="obsolete">Hang</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Software sound buffer ( may increase FPS )</source>
|
||||||
|
<translation type="obsolete">Software-es hang tárolás ( növelheti az FPS-t )</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>8 tracks</source>
|
||||||
|
<translation type="obsolete">8 sáv</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Enable sound</source>
|
||||||
|
<translation type="obsolete">Hang bekapcsolása</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Enable EAX</source>
|
||||||
|
<translation type="obsolete">EAX bekapcsolása</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Enable FMod</source>
|
||||||
|
<translation type="obsolete">FMod bekapcsolása</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Software sound</source>
|
||||||
|
<translation type="obsolete">Software-es hang</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Sound tracks</source>
|
||||||
|
<translation type="obsolete">Hangsávok</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>%1 tracks</source>
|
||||||
|
<translation type="obsolete">%1 sáv</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>SysInfoD3DWidget</name>
|
||||||
|
<message>
|
||||||
|
<source>Direct3D information</source>
|
||||||
|
<translation type="obsolete">Direct3D információk</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Description</source>
|
||||||
|
<translation type="obsolete">Leírás</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Driver</source>
|
||||||
|
<translation type="obsolete">Meghajtó</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Driver version</source>
|
||||||
|
<translation type="obsolete">Meghajtó verziószám</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>SysInfoOpenGLWidget</name>
|
||||||
|
<message>
|
||||||
|
<source>OpenGL information</source>
|
||||||
|
<translation type="obsolete">OpenGL információk</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Extensions</source>
|
||||||
|
<translation type="obsolete">Kiegészítések</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Vendor</source>
|
||||||
|
<translation type="obsolete">Szállító</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Mesa3D OpenGL library</source>
|
||||||
|
<translation type="obsolete">Mesa3D OpenGL könyvtár</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Renderer</source>
|
||||||
|
<translation type="obsolete">Megjelenítő</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Mesa3D OpenGL Software Renderer</source>
|
||||||
|
<translation type="obsolete">Mesa3D OpenGL software megjelenítő</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Version</source>
|
||||||
|
<translation type="obsolete">Verziószám</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>SysInfoWidget</name>
|
||||||
|
<message>
|
||||||
|
<source>System information</source>
|
||||||
|
<translation type="obsolete">Rendszer információk</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Operating system</source>
|
||||||
|
<translation type="obsolete">Alaprendszer</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Physical memory</source>
|
||||||
|
<translation type="obsolete">Fizikai memória</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Video device</source>
|
||||||
|
<translation type="obsolete">Megjelenítő eszköz</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Video driver version</source>
|
||||||
|
<translation type="obsolete">Megjelenítő meghajtó verziószám</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>client_config_dialog</name>
|
||||||
|
<message>
|
||||||
|
<location filename="client_config_dialog.ui" line="20"/>
|
||||||
|
<source>Ryzom Configuration</source>
|
||||||
|
<translation type="unfinished">Ryzom beállító</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="client_config_dialog.ui" line="107"/>
|
||||||
|
<location filename="client_config_dialog.ui" line="135"/>
|
||||||
|
<source>General</source>
|
||||||
|
<translation type="unfinished">Általános</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="client_config_dialog.ui" line="130"/>
|
||||||
|
<source>Category</source>
|
||||||
|
<translation type="unfinished">Kategória</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="client_config_dialog.ui" line="146"/>
|
||||||
|
<source>Display</source>
|
||||||
|
<translation type="unfinished">Megjelenítés</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="client_config_dialog.ui" line="156"/>
|
||||||
|
<source>Display details</source>
|
||||||
|
<translation type="unfinished">Megjelenítés részletek</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="client_config_dialog.ui" line="161"/>
|
||||||
|
<source>Display advanced</source>
|
||||||
|
<translation type="unfinished">Megjelenítés haladóknak</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="client_config_dialog.ui" line="167"/>
|
||||||
|
<source>Sound</source>
|
||||||
|
<translation type="unfinished">Hang</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="client_config_dialog.ui" line="178"/>
|
||||||
|
<source>System information</source>
|
||||||
|
<translation type="unfinished">Rendszer információk</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="client_config_dialog.ui" line="188"/>
|
||||||
|
<source>OpenGL information</source>
|
||||||
|
<translation type="unfinished">OpenGL információk</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="client_config_dialog.ui" line="193"/>
|
||||||
|
<source>Direct3D information</source>
|
||||||
|
<translation type="unfinished">Direct3D információk</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="client_config_dialog.ui" line="245"/>
|
||||||
|
<source>Apply</source>
|
||||||
|
<translation type="unfinished">Alkalmaz</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="client_config_dialog.ui" line="252"/>
|
||||||
|
<source>Default</source>
|
||||||
|
<translation type="unfinished">Alapbeállítások</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="client_config_dialog.ui" line="259"/>
|
||||||
|
<source>Play Ryzom</source>
|
||||||
|
<translation type="unfinished">Ryom indítása</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>display_settings_advanced_widget</name>
|
||||||
|
<message>
|
||||||
|
<location filename="display_settings_advanced_widget.ui" line="14"/>
|
||||||
|
<source>Display advanced</source>
|
||||||
|
<translation type="unfinished">Megjelenítés haladóknak</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="display_settings_advanced_widget.ui" line="22"/>
|
||||||
|
<source>Modify these settings only if you have trouble launching the game</source>
|
||||||
|
<translation type="unfinished">Csak akkor változtasson ezeken a beállításokon ha nem tudja elindítani a játékot</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="display_settings_advanced_widget.ui" line="31"/>
|
||||||
|
<source>Disable texture compression</source>
|
||||||
|
<translation type="unfinished">Textúratömörítés kikapcsolása</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="display_settings_advanced_widget.ui" line="38"/>
|
||||||
|
<source>Disable vertex shaders</source>
|
||||||
|
<translation type="unfinished">Csúcsárnyalók kikapcsolása</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="display_settings_advanced_widget.ui" line="45"/>
|
||||||
|
<source>Disable AGP for vertices</source>
|
||||||
|
<translation type="unfinished">AGP kikapcsolása a csúcsok számára</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="display_settings_advanced_widget.ui" line="52"/>
|
||||||
|
<source>Disable pixel shaders</source>
|
||||||
|
<translation type="unfinished">Képpont árnyalók kikapcsolása</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>display_settings_details_widget</name>
|
||||||
|
<message>
|
||||||
|
<location filename="display_settings_details_widget.ui" line="14"/>
|
||||||
|
<source>Display details</source>
|
||||||
|
<translation type="unfinished">Megjelenítés részletek</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="display_settings_details_widget.ui" line="20"/>
|
||||||
|
<source>Landscape</source>
|
||||||
|
<translation type="unfinished">Terep</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="display_settings_details_widget.ui" line="30"/>
|
||||||
|
<location filename="display_settings_details_widget.ui" line="116"/>
|
||||||
|
<location filename="display_settings_details_widget.ui" line="196"/>
|
||||||
|
<location filename="display_settings_details_widget.ui" line="276"/>
|
||||||
|
<source>Level of detail</source>
|
||||||
|
<translation type="unfinished">Részletesség</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="display_settings_details_widget.ui" line="94"/>
|
||||||
|
<location filename="display_settings_details_widget.ui" line="174"/>
|
||||||
|
<location filename="display_settings_details_widget.ui" line="254"/>
|
||||||
|
<location filename="display_settings_details_widget.ui" line="334"/>
|
||||||
|
<source>Low</source>
|
||||||
|
<translation type="unfinished">Alacsony</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="display_settings_details_widget.ui" line="106"/>
|
||||||
|
<source>Characters</source>
|
||||||
|
<translation type="unfinished">Karakterek</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="display_settings_details_widget.ui" line="186"/>
|
||||||
|
<source>FX</source>
|
||||||
|
<translation type="unfinished">FX</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="display_settings_details_widget.ui" line="266"/>
|
||||||
|
<source>Textures</source>
|
||||||
|
<translation type="unfinished">Textúrák</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>display_settings_widget</name>
|
||||||
|
<message>
|
||||||
|
<location filename="display_settings_widget.ui" line="14"/>
|
||||||
|
<source>Display</source>
|
||||||
|
<translation type="unfinished">Megjelenítés</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="display_settings_widget.ui" line="20"/>
|
||||||
|
<source>Driver</source>
|
||||||
|
<translation type="unfinished">Meghajtó</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="display_settings_widget.ui" line="28"/>
|
||||||
|
<source>Specify if Ryzom is to be run in OpenGL or Direct3D.</source>
|
||||||
|
<translation type="unfinished">Határozza meg, hogy a Ryzom OpenGL-t vagy Direct3D-t használjon.</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="display_settings_widget.ui" line="35"/>
|
||||||
|
<source>Auto</source>
|
||||||
|
<translation type="unfinished">Automatikus</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="display_settings_widget.ui" line="42"/>
|
||||||
|
<source>OpenGL</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="display_settings_widget.ui" line="49"/>
|
||||||
|
<source>Direct3D</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="display_settings_widget.ui" line="61"/>
|
||||||
|
<source>Parameters</source>
|
||||||
|
<translation type="unfinished">Paraméterek</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="display_settings_widget.ui" line="67"/>
|
||||||
|
<source>Specify if Ryzom is to be run in full screen or window mode:</source>
|
||||||
|
<translation type="unfinished">Határozza meg, hogy a Ryzom teljes képernyős vagy ablakos üzemmódban fusson:</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="display_settings_widget.ui" line="74"/>
|
||||||
|
<source>Full screen</source>
|
||||||
|
<translation type="unfinished">Teljes képernyő</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="display_settings_widget.ui" line="81"/>
|
||||||
|
<source>Specify a video mode</source>
|
||||||
|
<translation type="unfinished">Határozza meg a megjelenítési módot</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="display_settings_widget.ui" line="104"/>
|
||||||
|
<source>Windowed</source>
|
||||||
|
<translation type="unfinished">Ablakos</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="display_settings_widget.ui" line="115"/>
|
||||||
|
<source>Width</source>
|
||||||
|
<translation type="unfinished">Szélesség</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="display_settings_widget.ui" line="122"/>
|
||||||
|
<source>Height</source>
|
||||||
|
<translation type="unfinished">Magasság</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="display_settings_widget.ui" line="129"/>
|
||||||
|
<source>X position</source>
|
||||||
|
<translation type="unfinished">X helyzet</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="display_settings_widget.ui" line="136"/>
|
||||||
|
<source>Y position</source>
|
||||||
|
<translation type="unfinished">Y Helyzet</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>general_settings_widget</name>
|
||||||
|
<message>
|
||||||
|
<location filename="general_settings_widget.ui" line="14"/>
|
||||||
|
<source>Form</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="general_settings_widget.ui" line="25"/>
|
||||||
|
<source>Language</source>
|
||||||
|
<translation type="unfinished">Nyelv</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="general_settings_widget.ui" line="33"/>
|
||||||
|
<source>English</source>
|
||||||
|
<translation type="unfinished">Angol</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="general_settings_widget.ui" line="38"/>
|
||||||
|
<source>French</source>
|
||||||
|
<translation type="unfinished">Francia</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="general_settings_widget.ui" line="43"/>
|
||||||
|
<source>German</source>
|
||||||
|
<translation type="unfinished">Német</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="general_settings_widget.ui" line="48"/>
|
||||||
|
<source>Hungarian</source>
|
||||||
|
<translation type="unfinished">Magyar</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="general_settings_widget.ui" line="72"/>
|
||||||
|
<source>Save config file when quitting the game</source>
|
||||||
|
<translation type="unfinished">Mentsük a beállításokat kilépéskor</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="general_settings_widget.ui" line="92"/>
|
||||||
|
<source>Advanced</source>
|
||||||
|
<translation type="unfinished">Haladó</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="general_settings_widget.ui" line="100"/>
|
||||||
|
<source>Slow down the game ( process low priority )</source>
|
||||||
|
<translation type="unfinished">Játék lassítása ( alacsony prioritású folyamat )</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>sound_settings_widget</name>
|
||||||
|
<message>
|
||||||
|
<location filename="sound_settings_widget.ui" line="14"/>
|
||||||
|
<source>Sound</source>
|
||||||
|
<translation type="unfinished">Hang</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="sound_settings_widget.ui" line="24"/>
|
||||||
|
<source>Enable sound</source>
|
||||||
|
<translation type="unfinished">Hang bekapcsolása</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="sound_settings_widget.ui" line="31"/>
|
||||||
|
<source>Enable EAX</source>
|
||||||
|
<translation type="unfinished">EAX bekapcsolása</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="sound_settings_widget.ui" line="38"/>
|
||||||
|
<source>Enable FMod</source>
|
||||||
|
<translation type="unfinished">FMod bekapcsolása</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="sound_settings_widget.ui" line="45"/>
|
||||||
|
<source>Software sound buffer ( may increase FPS )</source>
|
||||||
|
<translation type="unfinished">Software-es hang tárolás ( növelheti az FPS-t )</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="sound_settings_widget.ui" line="68"/>
|
||||||
|
<source>Sound tracks</source>
|
||||||
|
<translation type="unfinished">Hangsávok</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="sound_settings_widget.ui" line="117"/>
|
||||||
|
<source>8 tracks</source>
|
||||||
|
<translation type="unfinished">8 sáv</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>sys_info_d3d_widget</name>
|
||||||
|
<message>
|
||||||
|
<location filename="sys_info_d3d_widget.ui" line="14"/>
|
||||||
|
<source>Direct3D information</source>
|
||||||
|
<translation type="unfinished">Direct3D információk</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="sys_info_d3d_widget.ui" line="20"/>
|
||||||
|
<source>Direct3D</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="sys_info_d3d_widget.ui" line="30"/>
|
||||||
|
<source>Description</source>
|
||||||
|
<translation type="unfinished">Leírás</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="sys_info_d3d_widget.ui" line="65"/>
|
||||||
|
<source>Driver</source>
|
||||||
|
<translation type="unfinished">Meghajtó</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="sys_info_d3d_widget.ui" line="100"/>
|
||||||
|
<source>Driver version</source>
|
||||||
|
<translation type="unfinished">Meghajtó verziószám</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>sys_info_opengl_widget</name>
|
||||||
|
<message>
|
||||||
|
<location filename="sys_info_opengl_widget.ui" line="14"/>
|
||||||
|
<source>OpenGL information</source>
|
||||||
|
<translation type="unfinished">OpenGL információk</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="sys_info_opengl_widget.ui" line="20"/>
|
||||||
|
<source>OpenGL</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="sys_info_opengl_widget.ui" line="28"/>
|
||||||
|
<source>Vendor</source>
|
||||||
|
<translation type="unfinished">Szállító</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="sys_info_opengl_widget.ui" line="63"/>
|
||||||
|
<source>Renderer</source>
|
||||||
|
<translation type="unfinished">Megjelenítő</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="sys_info_opengl_widget.ui" line="98"/>
|
||||||
|
<source>Version</source>
|
||||||
|
<translation type="unfinished">Verziószám</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="sys_info_opengl_widget.ui" line="148"/>
|
||||||
|
<source>Extensions</source>
|
||||||
|
<translation type="unfinished">Kiegészítések</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>sys_info_widget</name>
|
||||||
|
<message>
|
||||||
|
<location filename="sys_info_widget.ui" line="14"/>
|
||||||
|
<location filename="sys_info_widget.ui" line="20"/>
|
||||||
|
<source>System information</source>
|
||||||
|
<translation type="unfinished">Rendszer információk</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="sys_info_widget.ui" line="30"/>
|
||||||
|
<source>Operating system</source>
|
||||||
|
<translation type="unfinished">Alaprendszer</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="sys_info_widget.ui" line="68"/>
|
||||||
|
<source>CPU</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="sys_info_widget.ui" line="106"/>
|
||||||
|
<source>Physical memory</source>
|
||||||
|
<translation type="unfinished">Fizikai memória</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="sys_info_widget.ui" line="135"/>
|
||||||
|
<source>Video device</source>
|
||||||
|
<translation type="unfinished">Megjelenítő eszköz</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="sys_info_widget.ui" line="173"/>
|
||||||
|
<source>Video driver version</source>
|
||||||
|
<translation type="unfinished">Megjelenítő meghajtó verziószám</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
</TS>
|
|
@ -0,0 +1,6 @@
|
||||||
|
<RCC>
|
||||||
|
<qresource prefix="/translations">
|
||||||
|
<file>ryzom_configuration_en.qm</file>
|
||||||
|
<file>ryzom_configuration_hu.qm</file>
|
||||||
|
</qresource>
|
||||||
|
</RCC>
|
61
code/ryzom/tools/client/client_config_qt/widget_base.h
Normal file
|
@ -0,0 +1,61 @@
|
||||||
|
// Ryzom - MMORPG Framework <http://dev.ryzom.com/projects/ryzom/>
|
||||||
|
// Copyright (C) 2010 Winch Gate Property Limited
|
||||||
|
//
|
||||||
|
// 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 WIDGETBASE_H
|
||||||
|
#define WIDGETBASE_H
|
||||||
|
|
||||||
|
#include <QWidget>
|
||||||
|
|
||||||
|
/**
|
||||||
|
@brief Base class for the config tool's settings page widgets.
|
||||||
|
*/
|
||||||
|
class CWidgetBase : public QWidget
|
||||||
|
{
|
||||||
|
Q_OBJECT
|
||||||
|
|
||||||
|
public:
|
||||||
|
CWidgetBase( QWidget *parent = NULL ) : QWidget( parent ) {}
|
||||||
|
~CWidgetBase() {}
|
||||||
|
|
||||||
|
/**
|
||||||
|
@brief Tells the widget to load it's values from the config.
|
||||||
|
*/
|
||||||
|
virtual void load() = 0;
|
||||||
|
|
||||||
|
/**
|
||||||
|
@brief Tells the widget to save it's values into the config.
|
||||||
|
*/
|
||||||
|
virtual void save() = 0;
|
||||||
|
|
||||||
|
signals:
|
||||||
|
/**
|
||||||
|
@brief Emitted when the user changes a setting.
|
||||||
|
*/
|
||||||
|
void changed();
|
||||||
|
|
||||||
|
|
||||||
|
private slots:
|
||||||
|
/**
|
||||||
|
@brief Triggered when something changes in the widget, emits the Changed() signal.
|
||||||
|
*/
|
||||||
|
void onSomethingChanged()
|
||||||
|
{
|
||||||
|
emit changed();
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
#endif
|