60
60
//__________________________________________________________________
61
61
StyleConfig::StyleConfig(QWidget* parent):
64
_animationConfigWidget(0)
69
connect( _expertModeButton, SIGNAL(pressed()), SLOT(toggleExpertModeInternal()) );
71
_expertModeButton->setIcon( QIcon::fromTheme( QStringLiteral( "configure" ) ) );
74
toggleExpertModeInternal( false );
76
66
// load setup from configData
80
70
connect( _toolBarDrawItemSeparator, SIGNAL(toggled(bool)), SLOT(updateChanged()) );
81
71
connect( _splitterProxyEnabled, SIGNAL(toggled(bool)), SLOT(updateChanged()) );
82
72
connect( _mnemonicsMode, SIGNAL(currentIndexChanged(int)), SLOT(updateChanged()) );
83
connect( _animationsEnabled, SIGNAL(toggled(bool)), SLOT(updateChanged()) );
84
73
connect( _viewDrawFocusIndicator, SIGNAL(toggled(bool)), SLOT(updateChanged()) );
85
74
connect( _viewTriangularExpanderSize, SIGNAL(currentIndexChanged(int)), SLOT(updateChanged()) );
86
75
connect( _viewDrawTreeBranchLines, SIGNAL(toggled(bool)), SLOT(updateChanged()) );
165
146
//__________________________________________________________________
166
void StyleConfig::toggleExpertMode( bool value )
168
_expertModeContainer->hide();
169
toggleExpertModeInternal( value );
172
//__________________________________________________________________
173
void StyleConfig::toggleExpertModeInternal( bool value )
179
// update button text
180
_expertModeButton->setText( _expertMode ? i18n( "Hide Advanced Configuration Options" ):i18n( "Show Advanced Configuration Options" ) );
182
// update widget visibility based on expert mode
186
// create animationConfigWidget if needed
187
if( !_animationConfigWidget )
189
_animationConfigWidget = new AnimationConfigWidget();
190
_animationConfigWidget->installEventFilter( this );
191
connect( _animationConfigWidget, SIGNAL(changed(bool)), SLOT(updateChanged()) );
192
connect( _animationConfigWidget, SIGNAL(layoutChanged()), SLOT(updateLayout()) );
193
_animationConfigWidget->load();
196
// add animationConfigWidget to tabbar if needed
197
if( tabWidget->indexOf( _animationConfigWidget ) < 0 )
198
{ tabWidget->insertTab( 1, _animationConfigWidget, i18n( "Animations" ) ); }
200
} else if( _animationConfigWidget ) {
202
if( int index = tabWidget->indexOf( _animationConfigWidget ) >= 0 )
203
{ tabWidget->removeTab( index ); }
207
_mnemonicsLabel->setVisible( _expertMode );
208
_mnemonicsMode->setVisible( _expertMode );
209
_animationsEnabled->setVisible( !_expertMode );
210
_viewsExpertWidget->setVisible( _expertMode );
216
//__________________________________________________________________
217
bool StyleConfig::eventFilter( QObject* object, QEvent* event )
220
switch( event->type() )
223
case QEvent::ShowToParent:
224
object->event( event );
233
//__________________________________________________________________
234
bool StyleConfig::event( QEvent* event )
236
const bool result( QWidget::event( event ) );
237
switch( event->type() )
240
case QEvent::ShowToParent:
251
//__________________________________________________________________
252
void StyleConfig::updateMinimumSize( void )
253
{ setMinimumSize( minimumSizeHint() ); }
255
//__________________________________________________________________
256
void StyleConfig::updateLayout( void )
258
if( _animationConfigWidget )
260
const int delta = _animationConfigWidget->minimumSizeHint().height() - _animationConfigWidget->size().height();
261
window()->setMinimumSize( QSize( window()->minimumSizeHint().width(), window()->size().height() + delta ) );
265
//__________________________________________________________________
266
147
void StyleConfig::updateChanged()
278
159
else if( _scrollBarSubLineButtons->currentIndex() != StyleConfigData::scrollBarSubLineButtons() ) modified = true;
279
160
else if( _splitterProxyEnabled->isChecked() != StyleConfigData::splitterProxyEnabled() ) modified = true;
280
161
else if( menuMode() != StyleConfigData::menuHighlightMode() ) modified = true;
281
else if( _animationsEnabled->isChecked() != StyleConfigData::animationsEnabled() ) modified = true;
282
162
else if( _viewDrawFocusIndicator->isChecked() != StyleConfigData::viewDrawFocusIndicator() ) modified = true;
283
163
else if( triangularExpanderSize() != StyleConfigData::viewTriangularExpanderSize() ) modified = true;
284
164
else if( _animationConfigWidget && _animationConfigWidget->isChanged() ) modified = true;