1
//---------------------------------------------------------------------------
3
// Project: OpenWalnut ( http://www.openwalnut.org )
5
// Copyright 2009 OpenWalnut Community, BSV@Uni-Leipzig and CNCF@MPI-CBS
6
// For more information see http://www.openwalnut.org/copying
8
// This file is part of OpenWalnut.
10
// OpenWalnut is free software: you can redistribute it and/or modify
11
// it under the terms of the GNU Lesser General Public License as published by
12
// the Free Software Foundation, either version 3 of the License, or
13
// (at your option) any later version.
15
// OpenWalnut is distributed in the hope that it will be useful,
16
// but WITHOUT ANY WARRANTY; without even the implied warranty of
17
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18
// GNU Lesser General Public License for more details.
20
// You should have received a copy of the GNU Lesser General Public License
21
// along with OpenWalnut. If not, see <http://www.gnu.org/licenses/>.
23
//---------------------------------------------------------------------------
27
#include "WMainWindow.h"
28
#include "WSettingAction.h"
29
#include "WSettingAction.moc"
31
WSettingAction::WSettingAction( QObject* parent, std::string settingName, std::string actionName, std::string tooltip, bool defaultValue,
32
bool showRestartInfo, const QKeySequence& shortcut ):
33
QAction( QString::fromStdString( actionName ), parent ),
34
m_settingName( QString::fromStdString( settingName ) ),
35
m_showRestartInfo( showRestartInfo )
37
// set the user-specified shortcut
38
QList<QKeySequence> shortcuts;
39
shortcuts.push_back( shortcut );
40
setShortcuts( shortcuts );
45
setToolTip( QString::fromStdString( tooltip ) );
47
// set with current value
48
setChecked( WQt4Gui::getSettings().value( QString::fromStdString( settingName ), defaultValue ).toBool() );
51
connect( this, SIGNAL( toggled( bool ) ), this, SLOT( stateChange( bool ) ) );
54
WSettingAction::~WSettingAction()
58
bool WSettingAction::get() const
63
void WSettingAction::stateChange( bool state )
66
WQt4Gui::getSettings().setValue( m_settingName, state );
68
// does this setting require restart?
69
if( m_showRestartInfo )
71
QMessageBox::information( WQt4Gui::getMainWindow(), QString( "Restart required" ), QString( "This setting is applied after restart." ) );