Commit 62d1a193 authored by Dirk Wilden's avatar Dirk Wilden

store ViewerProperties in INI

git-svn-id: http://www.openflipper.org/svnrepo/OpenFlipper/branches/Free@4791 383ad7c9-94d9-4d36-a494-682f7c89f535
parent 3bbe1953
......@@ -435,6 +435,9 @@ private:
/// Get all ini files and set basic paths and options
void setupOptions();
/// Read Options that needs the GUI to be set up completely
void readGUIOptions(INIFile& _ini);
/// Get and set Application options from ini file
void readApplicationOptions(INIFile& _ini);
......
......@@ -147,41 +147,6 @@ void Core::readApplicationOptions(INIFile& _ini) {
if ( _ini.get_entry( random_base_color, "Options" , "RandomBaseColor") )
OpenFlipper::Options::randomBaseColor( random_base_color );
//============================================================================
// Load the backface culling setting
//============================================================================
bool backface_culling = false;
if ( _ini.get_entry( backface_culling, "Options" , "BackfaceCulling") )
OpenFlipper::Options::backfaceCulling(backface_culling);
//============================================================================
// Load the WheelZoomFactor setting
//============================================================================
double wheelZoomFactor = 1.0;
if ( _ini.get_entry( wheelZoomFactor, "Options" , "WheelZoomFactor") )
OpenFlipper::Options::wheelZoomFactor(wheelZoomFactor);
//============================================================================
// Load the WheelZoomFactorShift setting
//============================================================================
double wheelZoomFactorShift = 0.2;
if ( _ini.get_entry( wheelZoomFactorShift, "Options" , "WheelZoomFactorShift") )
OpenFlipper::Options::wheelZoomFactorShift(wheelZoomFactorShift);
//============================================================================
// Load the animation setting
//============================================================================
bool animation = false;
if ( _ini.get_entry( animation, "Options" , "Animation") )
OpenFlipper::Options::animation(animation);
//============================================================================
// Load the twoSidedLighting setting
//============================================================================
bool twoSidedLighting = false;
if ( _ini.get_entry( twoSidedLighting, "Options" , "TwoSidedLighting") )
OpenFlipper::Options::twoSidedLighting(twoSidedLighting);
//============================================================================
// Load the synchronization setting
//============================================================================
......@@ -259,6 +224,20 @@ void Core::readApplicationOptions(INIFile& _ini) {
if( _ini.get_entry(logFile, "Options", "LogFileLocation") )
OpenFlipper::Options::logFile(logFile);
//============================================================================
// Load the WheelZoomFactor setting
//============================================================================
double wheelZoomFactor = 1.0;
if ( _ini.get_entry( wheelZoomFactor, "Options" , "WheelZoomFactor") )
OpenFlipper::Options::wheelZoomFactor(wheelZoomFactor);
//============================================================================
// Load the WheelZoomFactorShift setting
//============================================================================
double wheelZoomFactorShift = 0.2;
if ( _ini.get_entry( wheelZoomFactorShift, "Options" , "WheelZoomFactorShift" ) )
OpenFlipper::Options::wheelZoomFactorShift(wheelZoomFactorShift);
//============================================================================
// Load restrictFrameRate
//============================================================================
......@@ -305,8 +284,57 @@ void Core::readApplicationOptions(INIFile& _ini) {
QString updatePassword = "";
if( _ini.get_entry(updatePassword, "Options", "UpdatePassword") )
OpenFlipper::Options::updatePassword(updatePassword);
}
}
/// Read Options that needs the GUI to be set up completely
void Core::readGUIOptions(INIFile& _ini) {
if ( !OpenFlipper::Options::gui() )
return;
uint viewerCount = 0;
if ( _ini.section_exists("Options") ) {
//============================================================================
// ViewerProperties
//============================================================================
bool multiView = false;
if( _ini.get_entry(multiView, "Options", "MultiView") )
OpenFlipper::Options::multiView(multiView);
if( _ini.get_entry(viewerCount, "Options", "ViewerCount") ){
}
}
if ( _ini.section_exists("ViewerProperties") ){
for ( unsigned int i = 0 ; i < viewerCount; ++i ) {
if (OpenFlipper::Options::examinerWidgets() < i)
break;
// Load the animation setting
bool animation = false;
if ( _ini.get_entry( animation, "ViewerProperties" , "Animation" + QString::number(i) ) )
PluginFunctions::viewerProperties(i).animation(animation);
// Load the twoSidedLighting setting
bool twoSidedLighting = false;
if ( _ini.get_entry( twoSidedLighting, "ViewerProperties" , "TwoSidedLighting" + QString::number(i)) )
PluginFunctions::viewerProperties(i).twoSidedLighting(twoSidedLighting);
// Load the backface culling setting
bool backface_culling = false;
if ( _ini.get_entry( backface_culling, "ViewerProperties" , "BackfaceCulling" + QString::number(i)) )
PluginFunctions::viewerProperties(i).backFaceCulling(backface_culling);
// Load the setting for the background color option
uint viewerBackground = 0;
if ( _ini.get_entry( viewerBackground, "ViewerProperties" , "BackgroundColor" + QString::number(i)) )
PluginFunctions::viewerProperties(i).backgroundColor( QRgb(viewerBackground) );
}
}
}
......@@ -378,6 +406,8 @@ void Core::writeApplicationOptions(INIFile& _ini) {
//============================================================================
// other
//============================================================================
_ini.add_entry("Options","WheelZoomFactor", OpenFlipper::Options::wheelZoomFactor() );
_ini.add_entry("Options","WheelZoomFactorShift", OpenFlipper::Options::wheelZoomFactorShift() );
// restrict Framerate
_ini.add_entry("Options","RestrictFrameRate",OpenFlipper::Options::restrictFrameRate() );
// max Framerate
......@@ -430,17 +460,20 @@ void Core::writeApplicationOptions(INIFile& _ini) {
if ( OpenFlipper::Options::gui() ) {
if ( OpenFlipper::Options::multiView() ) {
std::cerr << "Todo : Save application options for multiple views" << std::endl;
}
_ini.add_entry("Options","MultiView", OpenFlipper::Options::multiView() );
_ini.add_entry("Options","ViewerCount", OpenFlipper::Options::examinerWidgets() );
_ini.add_entry("Options","BackfaceCulling",PluginFunctions::viewerProperties().backFaceCulling());
_ini.add_entry("Options","Animation",PluginFunctions::viewerProperties().animation());
_ini.add_entry("Options","twoSidedLighting",PluginFunctions::viewerProperties().twoSidedLighting());
if ( !_ini.section_exists("ViewerProperties") )
_ini.add_section("ViewerProperties");
_ini.add_entry("Options","WheelZoomFactor",PluginFunctions::viewerProperties().wheelZoomFactor());
_ini.add_entry("Options","WheelZoomFactorShift",PluginFunctions::viewerProperties().wheelZoomFactorShift());
for ( unsigned int i = 0 ; i < OpenFlipper::Options::examinerWidgets(); ++i ) {
_ini.add_entry("ViewerProperties","Animation" + QString::number(i), PluginFunctions::viewerProperties(i).animation());
_ini.add_entry("ViewerProperties","BackfaceCulling" + QString::number(i), PluginFunctions::viewerProperties(i).backFaceCulling());
_ini.add_entry("ViewerProperties","TwoSidedLighting" + QString::number(i),PluginFunctions::viewerProperties(i).twoSidedLighting());
_ini.add_entry("ViewerProperties","BackgroundColor" + QString::number(i),
(uint)PluginFunctions::viewerProperties(i).backgroundColorRgb() );
}
//============================================================================
// Save the current draw modes
//============================================================================
......@@ -483,6 +516,8 @@ void Core::openIniFile( QString _filename,
if ( _coreSettings )
readApplicationOptions(ini);
readGUIOptions(ini);
// if requested load per Plugin settings from the settings file
if ( _perPluginSettings )
emit iniLoadOptions( ini );
......
......@@ -89,22 +89,12 @@ void Core::applyOptions(){
QColor c = OpenFlipper::Options::defaultBackgroundColor() ;
for ( unsigned int i = 0 ; i < OpenFlipper::Options::examinerWidgets() ; ++i ) {
//animation
PluginFunctions::viewerProperties(i).animation(OpenFlipper::Options::animation());
//Backface Culling
PluginFunctions::viewerProperties(i).backFaceCulling(OpenFlipper::Options::backfaceCulling());
//wheel zoom factor
PluginFunctions::viewerProperties().wheelZoomFactor(OpenFlipper::Options::wheelZoomFactor());
PluginFunctions::viewerProperties().wheelZoomFactorShift(OpenFlipper::Options::wheelZoomFactorShift());
PluginFunctions::viewerProperties(i).wheelZoomFactor(OpenFlipper::Options::wheelZoomFactor());
PluginFunctions::viewerProperties(i).wheelZoomFactorShift(OpenFlipper::Options::wheelZoomFactorShift());
// Picking Debugger
PluginFunctions::viewerProperties(i).renderPicking(OpenFlipper::Options::renderPicking(), target );
// Background color
PluginFunctions::viewerProperties(i).backgroundColor( ACG::Vec4f(c.redF(),c.greenF(),c.blueF(),1.0f) );
}
//hideToolbox
......
......@@ -91,15 +91,6 @@ static bool stereo_ = false;
/// Store the synchronization mode
static bool synchronization_ = false;
/// Store the animation mode
static bool animation_ = false;
/// Store the backfaceCulling mode
static bool backfaceCulling_ = false;
/// Store the backfaceCulling mode
static bool twoSidedLighting_ = false;
/// Store the wheelZoomFactor mode
static double wheelZoomFactor_ = 1.0;
......@@ -412,36 +403,6 @@ bool synchronization( ) {
return synchronization_;
}
/// Store animation mode setting
void animation( bool _animation ) {
animation_ = _animation;
}
/// get current animation setting
bool animation( ) {
return animation_;
}
/// Store backfaceCulling setting
void backfaceCulling( bool _backfaceCulling ) {
backfaceCulling_ = _backfaceCulling;
}
/// get backfaceCulling setting
bool backfaceCulling( ) {
return backfaceCulling_;
}
/// Store twoSidedLighting setting
void twoSidedLighting( bool _twoSidedLighting ) {
twoSidedLighting_ = _twoSidedLighting;
}
/// get twoSidedLighting setting
bool twoSidedLighting( ) {
return twoSidedLighting_;
}
/// Store wheelZoomFactor setting
void wheelZoomFactor( double _factor ) {
wheelZoomFactor_ = _factor;
......
......@@ -320,30 +320,6 @@ void fontsDir(QDir _dir);
DLLEXPORT
bool synchronization( );
/// Store animation mode setting
DLLEXPORT
void animation( bool _animation );
/// get current animation setting
DLLEXPORT
bool animation( );
/// Store backfaceCulling setting
DLLEXPORT
void backfaceCulling( bool _backfaceCulling );
/// get backface Culling setting
DLLEXPORT
bool backfaceCulling( );
/// Store twoSidedLighting setting
DLLEXPORT
void twoSidedLighting( bool _twoSidedLighting );
/// get twoSidedLighting setting
DLLEXPORT
bool twoSidedLighting( );
/// Store wheelZoomFactor setting
DLLEXPORT
void wheelZoomFactor( double _factor );
......
......@@ -52,7 +52,7 @@ namespace Viewer {
wZoomFactor_(1.0),
wZoomFactorShift_(0.2),
CCWFront_(true),
backgroundColor_(0.0f,0.0f,0.0f,0.0f),
backgroundColor_(0.0f,0.0f,0.0f,1.0f),
renderPicking_(false),
pickRendererMode_(ACG::SceneGraph::PICK_ANYTHING),
locked_(0),
......
......@@ -49,12 +49,12 @@
#include <QObject>
#include <QColor>
#include <OpenFlipper/common/GlobalDefines.hh>
#include <ACG/Math/VectorT.hh>
#include <ACG/Scenegraph/SceneGraph.hh>
#include <ACG/GL/GLState.hh>
namespace Viewer {
/// How to react on mouse events?
......@@ -206,10 +206,27 @@ namespace Viewer {
/// Get current background color
ACG::Vec4f backgroundColor() { return backgroundColor_; }
/// Get current background color
QRgb backgroundColorRgb(){ QColor c;
c.setRedF( backgroundColor_[0]);
c.setGreenF(backgroundColor_[1]);
c.setBlueF( backgroundColor_[2]);
c.setAlphaF(backgroundColor_[3]);
return c.rgba(); };
/** Set background color.
*/
void backgroundColor( ACG::Vec4f _color ) { backgroundColor_ = _color; emit updated(); };
/** Set background color.
*/
void backgroundColor( QRgb _color ) { QColor c(_color);
backgroundColor_[0] = c.redF();
backgroundColor_[1] = c.greenF();
backgroundColor_[2] = c.blueF();
backgroundColor_[3] = c.alphaF();
emit updated(); };
private:
ACG::Vec4f backgroundColor_;
......
......@@ -207,86 +207,77 @@ void CoreWidget::updatePopupMenu(const QPoint& _point, unsigned int _examinerId)
// Add a functions menu
QAction* action;
if ( functionMenu_ == 0 ) {
if ( functionMenu_ == 0 ){
functionMenu_ = new QMenu("&Functions",contextMenu_);
//====================================================================================================
action = functionMenu_->addAction("Set Background Color");
action->setToolTip("Set the background color for the viewer");
connect(action, SIGNAL(triggered()), this, SLOT(changeBackgroundColor()) );
//====================================================================================================
functionMenu_->addSeparator();
//====================================================================================================
action = functionMenu_->addAction("Snapshot");
action->setToolTip("Make a snapshot");
connect(action, SIGNAL(triggered()), this, SLOT( slotSnapshot() ) );
//====================================================================================================
action = functionMenu_->addAction("Set Snapshot Name");
action->setToolTip("Set a name for snapshots");
connect(action, SIGNAL(triggered()), this, SLOT(slotSnapshotName()) );
//====================================================================================================
functionMenu_->addSeparator();
//====================================================================================================
action = functionMenu_->addAction("Copy View");
action->setToolTip("Copy current view to clipboard");
connect(action, SIGNAL(triggered()), this, SLOT(slotCopyView()) );
//====================================================================================================
action = functionMenu_->addAction("Paste View");
action->setToolTip("Paste current view from clipboard");
connect(action, SIGNAL(triggered()), this , SLOT( slotPasteView( ) ) );
//====================================================================================================
functionMenu_->addSeparator();
//====================================================================================================
action = functionMenu_->addAction("Animation");
action->setToolTip("Animate rotation of objects");
action->setCheckable( true );
action->setChecked( OpenFlipper::Options::animation() );
for ( uint i = 0 ; i < OpenFlipper::Options::examinerWidgets() ; ++i )
connect(action, SIGNAL(triggered(bool)), &(PluginFunctions::viewerProperties(i)), SLOT(animation(bool)) );
connect(action, SIGNAL(triggered(bool)), this, SLOT(updateGlobalOptions()) );
action->setChecked( PluginFunctions::viewerProperties().animation() );
connect(action, SIGNAL(triggered(bool)), this , SLOT( slotChangeAnimation(bool) ) );
//====================================================================================================
action = functionMenu_->addAction("Backface Culling");
action->setToolTip("Enable backface culling");
action->setCheckable( true );
action->setChecked( OpenFlipper::Options::backfaceCulling() );
for ( uint i = 0 ; i < OpenFlipper::Options::examinerWidgets() ; ++i )
connect(action, SIGNAL(triggered(bool)), &(PluginFunctions::viewerProperties(i)), SLOT(backFaceCulling(bool)) );
connect(action, SIGNAL(triggered(bool)), this, SLOT(updateGlobalOptions()) );
action->setChecked( PluginFunctions::viewerProperties().backFaceCulling() );
connect(action, SIGNAL(triggered(bool)), this , SLOT( slotChangeBackFaceCulling(bool) ) );
//====================================================================================================
action = functionMenu_->addAction("Two-sided Lighting");
action->setToolTip("Enable two-sided lighting");
action->setCheckable( true );
action->setChecked( OpenFlipper::Options::twoSidedLighting() );
for ( uint i = 0 ; i < OpenFlipper::Options::examinerWidgets() ; ++i )
connect(action, SIGNAL(triggered(bool)), &(PluginFunctions::viewerProperties(i)) , SLOT(twoSidedLighting(bool)) );
connect(action, SIGNAL(triggered(bool)), this, SLOT(updateGlobalOptions()) );
action->setChecked( PluginFunctions::viewerProperties().twoSidedLighting() );
connect(action, SIGNAL(triggered(bool)), this , SLOT( slotChangeTwoSidedLighting(bool) ) );
functionMenu_->setTearOffEnabled(true);
for ( uint i = 0 ; i < OpenFlipper::Options::examinerWidgets(); ++i )
connect( &(PluginFunctions::viewerProperties(i)) , SIGNAL(updated()) , this, SLOT(updateGlobalOptions()));
}
contextMenu_->addMenu(functionMenu_ );
......@@ -326,27 +317,54 @@ void CoreWidget::changeBackgroundColor(){
ACG::Vec4f bc = PluginFunctions::viewerProperties().backgroundColor() * 255.0;
// for ( unsigned int i = 0 ; i < OpenFlipper::Options::examinerWidgets() ; ++i )
// std::cerr << "Color before : " << i << " : " << examiner_widgets_[i]->backgroundColor() << std::endl;
QColor backCol((int)bc[0], (int)bc[1], (int)bc[2], (int)bc[3]);
QColor c = QColorDialog::getColor(backCol,this);
if (c != backCol && c.isValid()){
std::cerr << "Examiner widgets : " << OpenFlipper::Options::examinerWidgets() << std::endl;
for ( uint i = 0 ; i < OpenFlipper::Options::examinerWidgets(); ++i ) {
PluginFunctions::viewerProperties(i).backgroundColor(ACG::Vec4f(((double) c.redF()) ,
((double) c.greenF()) ,
((double) c.blueF()) ,
1.0));
std::cerr << "i is " << i << std::endl;
if ( shiftPressed_ ){
//apply to all viewers
for ( uint i = 0 ; i < OpenFlipper::Options::examinerWidgets(); ++i ) {
PluginFunctions::viewerProperties(i).backgroundColor(ACG::Vec4f(((double) c.redF()) ,
((double) c.greenF()) ,
((double) c.blueF()) ,
1.0));
}
} else{
//apply only to active viewer
PluginFunctions::viewerProperties().backgroundColor(ACG::Vec4f(((double) c.redF()) ,
((double) c.greenF()) ,
((double) c.blueF()) ,
1.0));
}
OpenFlipper::Options::defaultBackgroundColor( c );
}
}
void CoreWidget::slotChangeAnimation(bool _animation){
if ( shiftPressed_ ){
for ( uint i = 0 ; i < OpenFlipper::Options::examinerWidgets() ; ++i )
PluginFunctions::viewerProperties(i).animation(_animation);
}else
PluginFunctions::viewerProperties().animation(_animation);
}
for ( unsigned int i = 0 ; i < OpenFlipper::Options::examinerWidgets() ; ++i )
std::cerr << "Color after : " << i << " : " << PluginFunctions::viewerProperties(i).backgroundColor() << std::endl;
void CoreWidget::slotChangeBackFaceCulling(bool _backFaceCulling){
if ( shiftPressed_ ){
for ( uint i = 0 ; i < OpenFlipper::Options::examinerWidgets() ; ++i )
PluginFunctions::viewerProperties(i).backFaceCulling(_backFaceCulling);
}else
PluginFunctions::viewerProperties().backFaceCulling(_backFaceCulling);
}
void CoreWidget::slotChangeTwoSidedLighting(bool _lighting){
if ( shiftPressed_ ){
for ( uint i = 0 ; i < OpenFlipper::Options::examinerWidgets() ; ++i )
PluginFunctions::viewerProperties(i).twoSidedLighting(_lighting);
}else
PluginFunctions::viewerProperties().twoSidedLighting(_lighting);
}
void CoreWidget::slotSnapshot() {
......@@ -361,12 +379,6 @@ void CoreWidget::slotCopyView( ) {
examiner_widgets_[PluginFunctions::activeExaminer()]->actionCopyView();
}
void CoreWidget::updateGlobalOptions(){
OpenFlipper::Options::animation( PluginFunctions::viewerProperties().animation() );
OpenFlipper::Options::backfaceCulling( PluginFunctions::viewerProperties().backFaceCulling() );
OpenFlipper::Options::twoSidedLighting( PluginFunctions::viewerProperties().twoSidedLighting() );
}
void CoreWidget::slotAddContextMenu(QMenu* _menu) {
MenuInfo info;
info.menu = _menu;
......
......@@ -66,6 +66,7 @@ CoreWidget( QVector<ViewMode*>& _viewModes,
QList< SlotInfo >& _coreSlots ) :
QMainWindow(),
coreSlots_(_coreSlots),
shiftPressed_(false),
viewModes_(_viewModes),
dockViewMode_(0),
viewModeButton_(0),
......
......@@ -250,6 +250,10 @@ public:
///Store current key assignments to a given INI file
void saveKeyBindings(INIFile& _ini);
private:
/// Store the state of the shift key
bool shiftPressed_;
/** @} */
//===========================================================================
......@@ -486,12 +490,18 @@ public:
/// called by plugins to add a real context menu depending on DataType
void slotAddContextMenu( QMenu* _menu , DataType _dataType ,ContextMenuType type_);
/// update globalOptions for actions in the contexMenu
void updateGlobalOptions();
/// change the background color
void changeBackgroundColor();
/// change the animation setting
void slotChangeAnimation(bool _animation);
/// change the backFaceCulling setting
void slotChangeBackFaceCulling(bool _backFaceCulling);
/// change the twoSidedLighting setting
void slotChangeTwoSidedLighting(bool _lighting);
/// Paste the view to the last active examiner
void slotPasteView( );
......
......@@ -463,6 +463,8 @@ void CoreWidget::registerCoreKeys() {
emit registerKey(Qt::Key_Escape , Qt::NoModifier, "Switch to last action mode ( Move,Picking,Light or Info Mode)");
emit registerKey(Qt::Key_Space , Qt::NoModifier, "Toggle between multiview and single view");
emit registerKey(Qt::Key_Shift , Qt::ShiftModifier, "Apply context menu action to all Viewers", true);
emit registerKey(Qt::Key_Shift , Qt::NoModifier, "Apply context menu action to all Viewers", true);
}
/// if a keyPressEvent belongs to the core this functions is called
......@@ -554,30 +556,41 @@ void CoreWidget::coreKeyPressEvent (QKeyEvent* _e){
case Qt::Key_Space:
if ( OpenFlipper::Options::multiView() ) {
emit log( "Switch MultiView mode");
switch (baseLayout_->mode())
{
case QtMultiViewLayout::SingleView:
baseLayout_->setMode (QtMultiViewLayout::Grid);
break;
case QtMultiViewLayout::Grid:
baseLayout_->setMode (QtMultiViewLayout::HSplit);
break;
case QtMultiViewLayout::HSplit:
baseLayout_->setMode (QtMultiViewLayout::SingleView);
PluginFunctions::setActiveExaminer (0);
break;
}
switch (baseLayout_->mode())
{
case QtMultiViewLayout::SingleView:
baseLayout_->setMode (QtMultiViewLayout::Grid);
break;
case QtMultiViewLayout::Grid:
baseLayout_->setMode (QtMultiViewLayout::HSplit);
break;
case QtMultiViewLayout::HSplit:
baseLayout_->setMode (QtMultiViewLayout::SingleView);
PluginFunctions::setActiveExaminer (0);
break;
}
}
break;
case Qt::Key_Shift :
shiftPressed_ = true;
break;
// This should never be reached!
default:
shiftPressed_ = false;
return;
}
}
/// if a keyReleaseEvent belongs to the core this functions is called
void CoreWidget::coreKeyReleaseEvent(QKeyEvent* /*_e*/){
void CoreWidget::coreKeyReleaseEvent(QKeyEvent* _e){
switch (_e->key()) {
case Qt::Key_Shift :
shiftPressed_ = false;
break;
default:
return;
}
}
......@@ -134,8 +134,6 @@ void OptionsWidget::showEvent ( QShowEvent * /*event*/ ) {
logFile->setText( OpenFlipper::Options::logFile() );
//viewer
animation->setChecked( OpenFlipper::Options::animation() );
backfaceCulling->setChecked( OpenFlipper::Options::backfaceCulling() );
wZoomFactor->setText( QString::number(OpenFlipper::Options::wheelZoomFactor(), 'f') );
wZoomFactorShift->setText( QString::number(OpenFlipper::Options::wheelZoomFactorShift(), 'f') );
......@@ -368,8 +366,6 @@ void OptionsWidget::slotApply() {
OpenFlipper::Options::logFile( logFile->text() );
//viewer
OpenFlipper::Options::animation( animation->isChecked() );
OpenFlipper::Options::backfaceCulling( backfaceCulling->isChecked() );
OpenFlipper::Options::wheelZoomFactor( wZoomFactor->text().toDouble() );
OpenFlipper::Options::wheelZoomFactorShift( wZoomFactorShift->text().toDouble() );
......
......@@ -22,7 +22,7 @@
<string/>
</property>
<property name="currentIndex" >
<number>4</number>
<number>2</number>
</property>
<property name="usesScrollButtons" >
<bool>true</bool>
......@@ -169,7 +169,7 @@
<item row="0" column="0" >
<widget class="QLabel" name="label_2" >