Add a undo() method that does what its name suggest for the global shortcuts
and call it where appropriate. Leaving the dialog with cancel now leaves the user settings unchanged. As expected. svn path=/trunk/KDE/kdebase/workspace/; revision=1021767
This commit is contained in:
parent
fff3477452
commit
f37efe22c9
2 changed files with 16 additions and 0 deletions
|
@ -220,6 +220,7 @@ void KWinDesktopConfig::init()
|
||||||
|
|
||||||
KWinDesktopConfig::~KWinDesktopConfig()
|
KWinDesktopConfig::~KWinDesktopConfig()
|
||||||
{
|
{
|
||||||
|
undo();
|
||||||
}
|
}
|
||||||
|
|
||||||
void KWinDesktopConfig::defaults()
|
void KWinDesktopConfig::defaults()
|
||||||
|
@ -248,6 +249,9 @@ void KWinDesktopConfig::defaults()
|
||||||
|
|
||||||
void KWinDesktopConfig::load()
|
void KWinDesktopConfig::load()
|
||||||
{
|
{
|
||||||
|
// This method is called on reset(). So undo all changes.
|
||||||
|
undo();
|
||||||
|
|
||||||
#ifdef Q_WS_X11
|
#ifdef Q_WS_X11
|
||||||
// get number of desktops
|
// get number of desktops
|
||||||
NETRootInfo info( QX11Info::display(), NET::NumberOfDesktops | NET::DesktopNames );
|
NETRootInfo info( QX11Info::display(), NET::NumberOfDesktops | NET::DesktopNames );
|
||||||
|
@ -350,6 +354,14 @@ void KWinDesktopConfig::save()
|
||||||
emit changed(false);
|
emit changed(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void KWinDesktopConfig::undo()
|
||||||
|
{
|
||||||
|
// The global shortcuts editor makes changes active immediately. In case
|
||||||
|
// of undo we have to undo them manually
|
||||||
|
m_editor->undoChanges();
|
||||||
|
}
|
||||||
|
|
||||||
QString KWinDesktopConfig::cachedDesktopName( int desktop )
|
QString KWinDesktopConfig::cachedDesktopName( int desktop )
|
||||||
{
|
{
|
||||||
if( desktop > m_desktopNames.size() )
|
if( desktop > m_desktopNames.size() )
|
||||||
|
|
|
@ -52,11 +52,15 @@ class KWinDesktopConfig : public KCModule
|
||||||
~KWinDesktopConfig();
|
~KWinDesktopConfig();
|
||||||
QString cachedDesktopName( int desktop );
|
QString cachedDesktopName( int desktop );
|
||||||
|
|
||||||
|
// undo all changes
|
||||||
|
void undo();
|
||||||
|
|
||||||
public slots:
|
public slots:
|
||||||
virtual void save();
|
virtual void save();
|
||||||
virtual void load();
|
virtual void load();
|
||||||
virtual void defaults();
|
virtual void defaults();
|
||||||
|
|
||||||
|
|
||||||
private slots:
|
private slots:
|
||||||
void slotChangeShortcuts( int number );
|
void slotChangeShortcuts( int number );
|
||||||
void slotShowAllShortcuts();
|
void slotShowAllShortcuts();
|
||||||
|
|
Loading…
Reference in a new issue