changed size-grip options to have a 'always/when needed/never' behavior, rather than 'yes/no'. The default is 'when needed', meaning that the size grip is shown only when 'No-Border' option is selected. This is similar to the 'tab bar display' setting in konsole

svn path=/trunk/KDE/kdebase/workspace/; revision=1018649
This commit is contained in:
Hugo Pereira Da Costa 2009-09-02 02:15:53 +00:00
parent ea09386c42
commit ccafe11f81
4 changed files with 75 additions and 23 deletions

View file

@ -227,7 +227,7 @@ namespace Nitrogen
if( iter->mask() & NitrogenException::DrawSeparator ) configuration.setDrawSeparator( iter->drawSeparator() );
if( iter->mask() & NitrogenException::ShowStripes ) configuration.setShowStripes( iter->showStripes() );
if( iter->mask() & NitrogenException::OverwriteColors ) configuration.setOverwriteColors( iter->overwriteColors() );
if( iter->mask() & NitrogenException::DrawSizeGrip ) configuration.setDrawSizeGrip( iter->drawSizeGrip() );
if( iter->mask() & NitrogenException::SizeGripMode ) configuration.setSizeGripMode( iter->sizeGripMode() );
return configuration;

View file

@ -41,10 +41,10 @@ namespace Nitrogen
buttonType_( ButtonKde43 ),
frameBorder_( BorderDefault ),
blendColor_( RadialBlending ),
sizeGripMode_( SizeGripWhenNeeded ),
showStripes_( true ),
drawSeparator_( true ),
overwriteColors_( true ),
drawSizeGrip_( false ),
useOxygenShadows_( true )
{}
@ -80,6 +80,11 @@ namespace Nitrogen
group.readEntry( NitrogenConfig::BLEND_COLOR,
defaultConfiguration.blendColorName( false ) ), false ) );
// size grip
setSizeGripMode( sizeGripMode(
group.readEntry( NitrogenConfig::SIZE_GRIP_MODE,
defaultConfiguration.sizeGripModeName( false ) ), false ) );
// show stripes
setShowStripes( group.readEntry(
NitrogenConfig::SHOW_STRIPES,
@ -95,11 +100,6 @@ namespace Nitrogen
NitrogenConfig::OVERWRITE_COLORS,
defaultConfiguration.overwriteColors() ) );
// size grip
setDrawSizeGrip( group.readEntry(
NitrogenConfig::DRAW_SIZE_GRIP,
defaultConfiguration.drawSizeGrip() ) );
// oxygen shadows
setUseOxygenShadows( group.readEntry(
NitrogenConfig::USE_OXYGEN_SHADOWS,
@ -115,11 +115,11 @@ namespace Nitrogen
group.writeEntry( NitrogenConfig::BUTTON_TYPE, buttonTypeName( false ) );
group.writeEntry( NitrogenConfig::BLEND_COLOR, blendColorName( false ) );
group.writeEntry( NitrogenConfig::FRAME_BORDER, frameBorderName( false ) );
group.writeEntry( NitrogenConfig::SIZE_GRIP_MODE, sizeGripModeName( false ) );
group.writeEntry( NitrogenConfig::SHOW_STRIPES, showStripes() );
group.writeEntry( NitrogenConfig::DRAW_SEPARATOR, drawSeparator() );
group.writeEntry( NitrogenConfig::OVERWRITE_COLORS, overwriteColors() );
group.writeEntry( NitrogenConfig::DRAW_SIZE_GRIP, drawSizeGrip() );
group.writeEntry( NitrogenConfig::USE_OXYGEN_SHADOWS, useOxygenShadows() );
}
@ -271,6 +271,30 @@ namespace Nitrogen
else return NitrogenConfiguration().blendColor();
}
//__________________________________________________
QString NitrogenConfiguration::sizeGripModeName( SizeGripMode value, bool translated )
{
const char* out;
switch( value )
{
case SizeGripAlways: out = "Always Show Extra Size Grip"; break;
case SizeGripNever: out = "Always Hide Extra Size Grip"; break;
case SizeGripWhenNeeded: out = "Show Extra Size Grip When Needed"; break;
default: return NitrogenConfiguration().sizeGripModeName( translated );
}
return translated ? i18n(out):out;
}
//__________________________________________________
NitrogenConfiguration::SizeGripMode NitrogenConfiguration::sizeGripMode( QString value, bool translated )
{
if( value == sizeGripModeName( SizeGripAlways, translated ) ) return SizeGripAlways;
else if( value == sizeGripModeName( SizeGripNever, translated ) ) return SizeGripNever;
else if( value == sizeGripModeName( SizeGripWhenNeeded, translated ) ) return SizeGripWhenNeeded;
else return NitrogenConfiguration().sizeGripMode();
}
//________________________________________________________
bool NitrogenConfiguration::operator == (const NitrogenConfiguration& other ) const
@ -282,10 +306,10 @@ namespace Nitrogen
buttonType() == other.buttonType() &&
frameBorder() == other.frameBorder() &&
blendColor() == other.blendColor() &&
sizeGripMode() == other.sizeGripMode() &&
showStripes() == other.showStripes() &&
drawSeparator() == other.drawSeparator() &&
overwriteColors() == other.overwriteColors() &&
drawSizeGrip() == other.drawSizeGrip() &&
useOxygenShadows() == other.useOxygenShadows();
}

View file

@ -39,7 +39,7 @@ namespace NitrogenConfig
static const QString OVERWRITE_COLORS = "OverwriteColors";
static const QString FRAME_BORDER = "FrameBorder";
static const QString BLEND_COLOR = "BlendColor";
static const QString DRAW_SIZE_GRIP = "DrawSizeGrip";
static const QString SIZE_GRIP_MODE = "SizeGripMode";
static const QString USE_OXYGEN_SHADOWS = "UseOxygenShadows";
}
@ -87,6 +87,14 @@ namespace Nitrogen
RadialBlending
};
//! size grip mode
enum SizeGripMode
{
SizeGripAlways,
SizeGripNever,
SizeGripWhenNeeded
};
//! default constructor
NitrogenConfiguration( void );
@ -201,6 +209,34 @@ namespace Nitrogen
//@}
//!@name size grip
//@{
static QString sizeGripModeName( SizeGripMode, bool translated );
static SizeGripMode sizeGripMode( QString, bool translated );
virtual SizeGripMode sizeGripMode( void ) const
{ return sizeGripMode_; }
virtual QString sizeGripModeName( bool translated ) const
{ return sizeGripModeName( sizeGripMode(), translated ); }
virtual void setSizeGripMode( SizeGripMode value )
{ sizeGripMode_ = value; }
virtual void setSizeGripMode( QString value, bool translated )
{ sizeGripMode_ = sizeGripMode( value, translated ); }
//! draw size grip
virtual bool drawSizeGrip( void ) const
{
return
sizeGripMode() == SizeGripAlways ||
(sizeGripMode() == SizeGripWhenNeeded && frameBorder() == BorderNone );
}
//@}
//! stripes
virtual bool showStripes( void ) const
{ return showStripes_; }
@ -225,14 +261,6 @@ namespace Nitrogen
virtual void setOverwriteColors( bool value )
{ overwriteColors_ = value; }
//! draw size grip
virtual bool drawSizeGrip( void ) const
{ return drawSizeGrip_; }
//! draw size grip
virtual void setDrawSizeGrip( bool value )
{ drawSizeGrip_ = value; }
//! oxygen shadows
virtual bool useOxygenShadows( void ) const
{ return useOxygenShadows_; }
@ -258,6 +286,9 @@ namespace Nitrogen
//! frame border
BlendColorType blendColor_;
//! size grip mode
SizeGripMode sizeGripMode_;
//! stripes
bool showStripes_;
@ -267,9 +298,6 @@ namespace Nitrogen
//! overwrite colors
bool overwriteColors_;
//! size grip
bool drawSizeGrip_;
//! oxygen shadows
bool useOxygenShadows_;

View file

@ -67,8 +67,8 @@ namespace Nitrogen
OverwriteColors = 1<<3,
FrameBorder = 1<<4,
BlendColor = 1<<5,
DrawSizeGrip = 1<<6,
All = TitleAlignment|ShowStripes|DrawSeparator|OverwriteColors|FrameBorder|BlendColor|DrawSizeGrip
SizeGripMode = 1<<6,
All = TitleAlignment|ShowStripes|DrawSeparator|OverwriteColors|FrameBorder|BlendColor|SizeGripMode
};
//! constructor