Add a checkbox to enable/disable the geometry tip, making it _OFF_ by default,
as was planned. Also, it should never crash now. Hopefully this will make pmax a bit happier ;-) svn path=/trunk/kdebase/kwin/; revision=198711
This commit is contained in:
parent
b35e581f69
commit
4577f0f474
5 changed files with 67 additions and 24 deletions
48
client.cpp
48
client.cpp
|
@ -1668,14 +1668,16 @@ void Client::mousePressEvent( QMouseEvent * e)
|
||||||
*/
|
*/
|
||||||
void Client::mouseReleaseEvent( QMouseEvent * e)
|
void Client::mouseReleaseEvent( QMouseEvent * e)
|
||||||
{
|
{
|
||||||
|
// Do this here just in case.
|
||||||
|
if (geometryTip) {
|
||||||
|
geometryTip->hide();
|
||||||
|
delete geometryTip;
|
||||||
|
geometryTip = NULL;
|
||||||
|
}
|
||||||
|
|
||||||
if ( (e->stateAfter() & MouseButtonMask) == 0 ) {
|
if ( (e->stateAfter() & MouseButtonMask) == 0 ) {
|
||||||
buttonDown = FALSE;
|
buttonDown = FALSE;
|
||||||
if ( moveResizeMode ) {
|
if ( moveResizeMode ) {
|
||||||
if (geometryTip) {
|
|
||||||
geometryTip->hide();
|
|
||||||
delete geometryTip;
|
|
||||||
geometryTip = NULL;
|
|
||||||
}
|
|
||||||
clearbound();
|
clearbound();
|
||||||
stopMoveResize();
|
stopMoveResize();
|
||||||
setGeometry( geom );
|
setGeometry( geom );
|
||||||
|
@ -1797,17 +1799,18 @@ void Client::mouseMoveEvent( QMouseEvent * e)
|
||||||
drawbound( geom );
|
drawbound( geom );
|
||||||
}
|
}
|
||||||
|
|
||||||
#if 0
|
|
||||||
// Position and Size display
|
// Position and Size display
|
||||||
if (!geometryTip)
|
if (options->showGeometryTip())
|
||||||
geometryTip = new GeometryTip( this, &xSizeHint );
|
{
|
||||||
|
if (!geometryTip)
|
||||||
|
geometryTip = new GeometryTip( this, &xSizeHint );
|
||||||
|
|
||||||
geometryTip->setGeometry( geom );
|
geometryTip->setGeometry( geom );
|
||||||
if (!geometryTip->isVisible()) {
|
if (!geometryTip->isVisible()) {
|
||||||
geometryTip->show();
|
geometryTip->show();
|
||||||
geometryTip->raise();
|
geometryTip->raise();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
else if ( isMove() && geom.topLeft() != geometry().topLeft() ) {
|
else if ( isMove() && geom.topLeft() != geometry().topLeft() ) {
|
||||||
geom.moveTopLeft( workspace()->adjustClientPosition( this, geom.topLeft() ) );
|
geom.moveTopLeft( workspace()->adjustClientPosition( this, geom.topLeft() ) );
|
||||||
|
@ -1829,17 +1832,18 @@ void Client::mouseMoveEvent( QMouseEvent * e)
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
#if 0
|
if (options->showGeometryTip())
|
||||||
// Position and Size display
|
{
|
||||||
if (!geometryTip)
|
// Position and Size display
|
||||||
geometryTip = new GeometryTip( this, &xSizeHint );
|
if (!geometryTip)
|
||||||
|
geometryTip = new GeometryTip( this, &xSizeHint );
|
||||||
|
|
||||||
geometryTip->setGeometry( geom );
|
geometryTip->setGeometry( geom );
|
||||||
if (!geometryTip->isVisible()) {
|
if (!geometryTip->isVisible()) {
|
||||||
geometryTip->show();
|
geometryTip->show();
|
||||||
geometryTip->raise();
|
geometryTip->raise();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( isMove() )
|
if ( isMove() )
|
||||||
|
|
|
@ -54,6 +54,7 @@
|
||||||
#define KWIN_MINIMIZE_ANIM "AnimateMinimize"
|
#define KWIN_MINIMIZE_ANIM "AnimateMinimize"
|
||||||
#define KWIN_MINIMIZE_ANIM_SPEED "AnimateMinimizeSpeed"
|
#define KWIN_MINIMIZE_ANIM_SPEED "AnimateMinimizeSpeed"
|
||||||
#define KWIN_RESIZE_OPAQUE "ResizeMode"
|
#define KWIN_RESIZE_OPAQUE "ResizeMode"
|
||||||
|
#define KWIN_GEOMETRY "GeometryTip"
|
||||||
#define KWIN_AUTORAISE_INTERVAL "AutoRaiseInterval"
|
#define KWIN_AUTORAISE_INTERVAL "AutoRaiseInterval"
|
||||||
#define KWIN_AUTORAISE "AutoRaise"
|
#define KWIN_AUTORAISE "AutoRaise"
|
||||||
#define KWIN_CLICKRAISE "ClickRaise"
|
#define KWIN_CLICKRAISE "ClickRaise"
|
||||||
|
@ -699,6 +700,13 @@ KMovingConfig::KMovingConfig (bool _standAlone, KConfig *_config, QWidget *paren
|
||||||
" while resizing it, instead of just showing a window 'skeleton'. The result may not be satisfying"
|
" while resizing it, instead of just showing a window 'skeleton'. The result may not be satisfying"
|
||||||
" on slow machines.") );
|
" on slow machines.") );
|
||||||
|
|
||||||
|
geometryTipOn = new QCheckBox(i18n("Display window geometry when moving or resizing"), windowsBox);
|
||||||
|
bLay->addWidget(geometryTipOn);
|
||||||
|
QWhatsThis::add(geometryTipOn, i18n("Enable this option if you want a window's geometry to be displayed"
|
||||||
|
" while it is being moved or resized. The window position relative"
|
||||||
|
" to the top-left corner of the screen is displayed together with"
|
||||||
|
" its size."));
|
||||||
|
|
||||||
QGridLayout *rLay = new QGridLayout(2,3);
|
QGridLayout *rLay = new QGridLayout(2,3);
|
||||||
bLay->addLayout(rLay);
|
bLay->addLayout(rLay);
|
||||||
rLay->setColStretch(0,0);
|
rLay->setColStretch(0,0);
|
||||||
|
@ -824,6 +832,7 @@ KMovingConfig::KMovingConfig (bool _standAlone, KConfig *_config, QWidget *paren
|
||||||
// Any changes goes to slotChanged()
|
// Any changes goes to slotChanged()
|
||||||
connect( opaque, SIGNAL(clicked()), SLOT(changed()));
|
connect( opaque, SIGNAL(clicked()), SLOT(changed()));
|
||||||
connect( resizeOpaqueOn, SIGNAL(clicked()), SLOT(changed()));
|
connect( resizeOpaqueOn, SIGNAL(clicked()), SLOT(changed()));
|
||||||
|
connect( geometryTipOn, SIGNAL(clicked()), SLOT(changed()));
|
||||||
connect( minimizeAnimOn, SIGNAL(clicked() ), SLOT(changed()));
|
connect( minimizeAnimOn, SIGNAL(clicked() ), SLOT(changed()));
|
||||||
connect( minimizeAnimSlider, SIGNAL(valueChanged(int)), SLOT(changed()));
|
connect( minimizeAnimSlider, SIGNAL(valueChanged(int)), SLOT(changed()));
|
||||||
connect( moveResizeMaximized, SIGNAL(toggled(bool)), SLOT(changed()));
|
connect( moveResizeMaximized, SIGNAL(toggled(bool)), SLOT(changed()));
|
||||||
|
@ -843,6 +852,16 @@ void KMovingConfig::setMove(int trans)
|
||||||
opaque->setChecked(trans == OPAQUE);
|
opaque->setChecked(trans == OPAQUE);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void KMovingConfig::setGeometryTip(bool showGeometryTip)
|
||||||
|
{
|
||||||
|
geometryTipOn->setChecked(showGeometryTip);
|
||||||
|
}
|
||||||
|
|
||||||
|
bool KMovingConfig::getGeometryTip()
|
||||||
|
{
|
||||||
|
return geometryTipOn->isChecked();
|
||||||
|
}
|
||||||
|
|
||||||
// placement policy --- CT 31jan98 ---
|
// placement policy --- CT 31jan98 ---
|
||||||
int KMovingConfig::getPlacement()
|
int KMovingConfig::getPlacement()
|
||||||
{
|
{
|
||||||
|
@ -918,6 +937,10 @@ void KMovingConfig::load( void )
|
||||||
else if ( key == "Transparent")
|
else if ( key == "Transparent")
|
||||||
setResizeOpaque(RESIZE_TRANSPARENT);
|
setResizeOpaque(RESIZE_TRANSPARENT);
|
||||||
|
|
||||||
|
//KS 10Jan2003 - Geometry Tip during window move/resize
|
||||||
|
bool showGeomTip = config->readBoolEntry(KWIN_GEOMETRY, false);
|
||||||
|
setGeometryTip( showGeomTip );
|
||||||
|
|
||||||
// placement policy --- CT 19jan98 ---
|
// placement policy --- CT 19jan98 ---
|
||||||
key = config->readEntry(KWIN_PLACEMENT);
|
key = config->readEntry(KWIN_PLACEMENT);
|
||||||
//CT 13mar98 interactive placement
|
//CT 13mar98 interactive placement
|
||||||
|
@ -981,6 +1004,7 @@ void KMovingConfig::save( void )
|
||||||
else
|
else
|
||||||
config->writeEntry(KWIN_MOVE,"Opaque");
|
config->writeEntry(KWIN_MOVE,"Opaque");
|
||||||
|
|
||||||
|
config->writeEntry(KWIN_GEOMETRY, getGeometryTip());
|
||||||
|
|
||||||
// placement policy --- CT 31jan98 ---
|
// placement policy --- CT 31jan98 ---
|
||||||
v =getPlacement();
|
v =getPlacement();
|
||||||
|
@ -1031,6 +1055,7 @@ void KMovingConfig::defaults()
|
||||||
{
|
{
|
||||||
setMove(OPAQUE);
|
setMove(OPAQUE);
|
||||||
setResizeOpaque(RESIZE_TRANSPARENT);
|
setResizeOpaque(RESIZE_TRANSPARENT);
|
||||||
|
setGeometryTip(false);
|
||||||
setPlacement(SMART_PLACEMENT);
|
setPlacement(SMART_PLACEMENT);
|
||||||
setMoveResizeMaximized(true);
|
setMoveResizeMaximized(true);
|
||||||
|
|
||||||
|
|
|
@ -135,17 +135,19 @@ private:
|
||||||
bool getMinimizeAnim( void );
|
bool getMinimizeAnim( void );
|
||||||
int getMinimizeAnimSpeed( void );
|
int getMinimizeAnimSpeed( void );
|
||||||
int getResizeOpaque ( void );
|
int getResizeOpaque ( void );
|
||||||
|
bool getGeometryTip( void ); //KS
|
||||||
int getPlacement( void ); //CT
|
int getPlacement( void ); //CT
|
||||||
|
|
||||||
void setMove(int);
|
void setMove(int);
|
||||||
void setResizeOpaque(int);
|
void setResizeOpaque(int);
|
||||||
|
void setGeometryTip(bool); //KS
|
||||||
void setPlacement(int); //CT
|
void setPlacement(int); //CT
|
||||||
void setMoveResizeMaximized(bool);
|
void setMoveResizeMaximized(bool);
|
||||||
|
|
||||||
QButtonGroup *windowsBox;
|
QButtonGroup *windowsBox;
|
||||||
QCheckBox *opaque;
|
QCheckBox *opaque;
|
||||||
|
|
||||||
QCheckBox *resizeOpaqueOn;
|
QCheckBox *resizeOpaqueOn;
|
||||||
|
QCheckBox *geometryTipOn;
|
||||||
QCheckBox* minimizeAnimOn;
|
QCheckBox* minimizeAnimOn;
|
||||||
QSlider *minimizeAnimSlider;
|
QSlider *minimizeAnimSlider;
|
||||||
QLabel *minimizeAnimSlowLabel, *minimizeAnimFastLabel;
|
QLabel *minimizeAnimSlowLabel, *minimizeAnimFastLabel;
|
||||||
|
|
|
@ -31,6 +31,7 @@ public:
|
||||||
bool animate_tooltips;
|
bool animate_tooltips;
|
||||||
int electric_borders;
|
int electric_borders;
|
||||||
int electric_border_delay;
|
int electric_border_delay;
|
||||||
|
bool show_geometry_tip;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -170,7 +171,7 @@ void Options::reload()
|
||||||
moveMode = config->readEntry("MoveMode", "Opaque" ) == "Opaque"?Opaque:Transparent;
|
moveMode = config->readEntry("MoveMode", "Opaque" ) == "Opaque"?Opaque:Transparent;
|
||||||
resizeMode = config->readEntry("ResizeMode", "Opaque" ) == "Opaque"?Opaque:Transparent;
|
resizeMode = config->readEntry("ResizeMode", "Opaque" ) == "Opaque"?Opaque:Transparent;
|
||||||
moveResizeMaximizedWindows = config->readBoolEntry("MoveResizeMaximizedWindows", true );
|
moveResizeMaximizedWindows = config->readBoolEntry("MoveResizeMaximizedWindows", true );
|
||||||
|
d->show_geometry_tip = config->readBoolEntry("GeometryTip", false);
|
||||||
|
|
||||||
QString val;
|
QString val;
|
||||||
|
|
||||||
|
@ -325,6 +326,11 @@ Options::MouseCommand Options::mouseCommand(const QString &name)
|
||||||
return MouseNothing;
|
return MouseNothing;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool Options::showGeometryTip()
|
||||||
|
{
|
||||||
|
return d->show_geometry_tip;
|
||||||
|
}
|
||||||
|
|
||||||
QString Options::titleButtonsLeft()
|
QString Options::titleButtonsLeft()
|
||||||
{
|
{
|
||||||
return d->title_buttons_left;
|
return d->title_buttons_left;
|
||||||
|
|
|
@ -253,6 +253,12 @@ public:
|
||||||
static WindowOperation windowOperation(const QString &name );
|
static WindowOperation windowOperation(const QString &name );
|
||||||
static MouseCommand mouseCommand(const QString &name);
|
static MouseCommand mouseCommand(const QString &name);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @returns true if the Geometry Tip should be shown during a window move/resize.
|
||||||
|
* @since 3.2
|
||||||
|
*/
|
||||||
|
bool showGeometryTip();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @returns true if the style should use custom button positions
|
* @returns true if the style should use custom button positions
|
||||||
* @see #titleButtonsLeft
|
* @see #titleButtonsLeft
|
||||||
|
|
Loading…
Reference in a new issue