Unset noBorder when switching from Netbook to Desktop Shell.

Check on reloading of settings if the no borders for maximized windows option got disabled.
If it got disabled unset the no border option for all maximized windows to get the borders back.
BUG: 222045
FIXED-IN: 4.6.0

svn path=/trunk/KDE/kdebase/workspace/; revision=1189981
icc-effect-5.14.5
Martin Gräßlin 2010-10-26 14:43:29 +00:00
parent 3f9333c44c
commit 545801de62
3 changed files with 22 additions and 0 deletions

View File

@ -727,6 +727,11 @@ void Client::setNoBorder( bool set )
updateWindowRules();
}
void Client::checkNoBorder()
{
setNoBorder( app_noborder );
}
void Client::updateShape()
{
if( shape() )

View File

@ -197,6 +197,7 @@ class Client
bool noBorder() const;
void setNoBorder( bool set );
bool userCanSetNoBorder() const;
void checkNoBorder();
bool skipTaskbar( bool from_outside = false ) const;
void setSkipTaskbar( bool set, bool from_outside );

View File

@ -1094,6 +1094,8 @@ void Workspace::slotReconfigure()
if( options->electricBorders() == Options::ElectricAlways )
reserveElectricBorderSwitching( false );
bool borderlessMaximizedWindows = options->borderlessMaximizedWindows();
KGlobal::config()->reparseConfiguration();
unsigned long changed = options->updateSettings();
@ -1177,6 +1179,20 @@ void Workspace::slotReconfigure()
discardUsedWindowRules( *it, false );
}
if( borderlessMaximizedWindows != options->borderlessMaximizedWindows() &&
!options->borderlessMaximizedWindows() )
{
// in case borderless maximized windows option changed and new option
// is to have borders, we need to unset the borders for all maximized windows
for( ClientList::Iterator it = clients.begin();
it != clients.end();
++it )
{
if( (*it)->maximizeMode() == MaximizeFull )
(*it)->checkNoBorder();
}
}
setTilingEnabled( options->tilingOn );
foreach( TilingLayout *layout, tilingLayouts )
{