Merging in from bleeding edge kdebase branch

- i18n ported
- KAccel removed
- Some fixes for OS X

svn path=/trunk/KDE/kdebase/workspace/; revision=528190
This commit is contained in:
Hamish Rodda 2006-04-10 11:57:13 +00:00
parent f2a598e7d0
commit 77bc9cd63d
25 changed files with 308 additions and 310 deletions

View file

@ -689,7 +689,7 @@ void Client::demandAttention( bool set )
void Client::demandAttentionKNotify()
{
Notify::Event e = isOnCurrentDesktop() ? Notify::DemandAttentionCurrent : Notify::DemandAttentionOther;
Notify::raise( e, i18n( "Window '%1' demands attention." ).arg( KStringHandler::csqueeze(caption())), this );
Notify::raise( e, i18n( "Window '%1' demands attention.", KStringHandler::csqueeze(caption())), this );
demandAttentionKNotifyTimer->stop();
demandAttentionKNotifyTimer->deleteLater();
demandAttentionKNotifyTimer = NULL;

View file

@ -289,11 +289,11 @@ void KDEDefaultHandler::createPixmaps()
} else
titlePix = NULL;
QColor activeTitleColor1(options()->color(ColorTitleBar, true));
QColor activeTitleColor2(options()->color(ColorTitleBlend, true));
QColor activeTitleColor1(options()->color(ColorTitleBar, true));
QColor activeTitleColor2(options()->color(ColorTitleBlend, true));
QColor inactiveTitleColor1(options()->color(ColorTitleBar, false));
QColor inactiveTitleColor2(options()->color(ColorTitleBlend, false));
QColor inactiveTitleColor1(options()->color(ColorTitleBar, false));
QColor inactiveTitleColor2(options()->color(ColorTitleBlend, false));
// Create titlebar gradient images if required
aUpperGradient = NULL;
@ -947,10 +947,10 @@ void KDEDefaultClient::paintEvent( QPaintEvent* )
QPolygon a;
QBrush brush( options()->color(ColorFrame, isActive()), Qt::SolidPattern );
p.setBrush( brush ); // use solid, yellow brush
a.setPoints( 4, x+2, leftFrameStart+borderWidth-4,
a.setPoints( 4, x+2, leftFrameStart+borderWidth-4,
x+borderWidth-2, leftFrameStart,
x+borderWidth-2, y2-2,
x+2, y2-2);
x+2, y2-2);
p.drawPolygon( a );
p.fillRect(x2-borderWidth+2, y+titleHeight+3,
borderWidth-3, y2-y-titleHeight-4,

View file

@ -55,9 +55,9 @@ KeramikConfig::KeramikConfig( KConfig* conf, QWidget* parent )
c = new KConfig( "kwinkeramikrc" );
ui = new KeramikConfigUI( parent );
connect( ui->showAppIcons, SIGNAL(clicked()), SIGNAL(changed()) );
connect( ui->smallCaptions, SIGNAL(clicked()), SIGNAL(changed()) );
connect( ui->largeGrabBars, SIGNAL(clicked()), SIGNAL(changed()) );
connect( ui->showAppIcons, SIGNAL(clicked()), SIGNAL(changed()) );
connect( ui->smallCaptions, SIGNAL(clicked()), SIGNAL(changed()) );
connect( ui->largeGrabBars, SIGNAL(clicked()), SIGNAL(changed()) );
connect( ui->useShadowedText, SIGNAL(clicked()), SIGNAL(changed()) );
load( conf );

View file

@ -174,20 +174,20 @@ KeramikHandler::KeramikHandler()
settings_cache = NULL;
// Create the button deco bitmaps
buttonDecos[ Menu ] = new QBitmap( 17, 17, menu_bits, true );
buttonDecos[ OnAllDesktops ] = new QBitmap( 17, 17, on_all_desktops_bits, true );
buttonDecos[ Menu ] = new QBitmap( 17, 17, menu_bits, true );
buttonDecos[ OnAllDesktops ] = new QBitmap( 17, 17, on_all_desktops_bits, true );
buttonDecos[ NotOnAllDesktops ] = new QBitmap( 17, 17, not_on_all_desktops_bits, true );
buttonDecos[ Help ] = new QBitmap( 17, 17, help_bits, true );
buttonDecos[ Minimize ] = new QBitmap( 17, 17, minimize_bits, true );
buttonDecos[ Maximize ] = new QBitmap( 17, 17, maximize_bits, true );
buttonDecos[ Restore ] = new QBitmap( 17, 17, restore_bits, true );
buttonDecos[ Close ] = new QBitmap( 17, 17, close_bits, true );
buttonDecos[ AboveOn ] = new QBitmap( 17, 17, above_on_bits, true );
buttonDecos[ AboveOff ] = new QBitmap( 17, 17, above_off_bits, true );
buttonDecos[ BelowOn ] = new QBitmap( 17, 17, below_on_bits, true );
buttonDecos[ BelowOff ] = new QBitmap( 17, 17, below_off_bits, true );
buttonDecos[ ShadeOn ] = new QBitmap( 17, 17, shade_on_bits, true );
buttonDecos[ ShadeOff ] = new QBitmap( 17, 17, shade_off_bits, true );
buttonDecos[ Help ] = new QBitmap( 17, 17, help_bits, true );
buttonDecos[ Minimize ] = new QBitmap( 17, 17, minimize_bits, true );
buttonDecos[ Maximize ] = new QBitmap( 17, 17, maximize_bits, true );
buttonDecos[ Restore ] = new QBitmap( 17, 17, restore_bits, true );
buttonDecos[ Close ] = new QBitmap( 17, 17, close_bits, true );
buttonDecos[ AboveOn ] = new QBitmap( 17, 17, above_on_bits, true );
buttonDecos[ AboveOff ] = new QBitmap( 17, 17, above_off_bits, true );
buttonDecos[ BelowOn ] = new QBitmap( 17, 17, below_on_bits, true );
buttonDecos[ BelowOff ] = new QBitmap( 17, 17, below_off_bits, true );
buttonDecos[ ShadeOn ] = new QBitmap( 17, 17, shade_on_bits, true );
buttonDecos[ ShadeOff ] = new QBitmap( 17, 17, shade_off_bits, true );
// Selfmask the bitmaps
for ( int i = 0; i < NumButtonDecos; i++ )
@ -267,11 +267,11 @@ void KeramikHandler::createPixmaps()
// Active tiles
// -------------------------------------------------------------------------
captionColor = KDecoration::options()->color( ColorTitleBar, true );
captionColor = KDecoration::options()->color( ColorTitleBar, true );
titleColor = KDecoration::options()->color( ColorTitleBlend, true );
// Load the titlebar corners.
activeTiles[ TitleLeft ] = loadPixmap( "titlebar-left", titleColor );
activeTiles[ TitleLeft ] = loadPixmap( "titlebar-left", titleColor );
activeTiles[ TitleRight ] = loadPixmap( "titlebar-right", titleColor );
// Load the titlebar center tile image (this will be used as
@ -279,13 +279,13 @@ void KeramikHandler::createPixmaps()
titleCenter = loadImage( "titlebar-center", titleColor );
// Load the small version of the caption bubble corner & center images.
captionLeft = loadImage( "caption-small-left", captionColor );
captionRight = loadImage( "caption-small-right", captionColor );
captionLeft = loadImage( "caption-small-left", captionColor );
captionRight = loadImage( "caption-small-right", captionColor );
captionCenter = loadImage( "caption-small-center", captionColor );
// Create the caption bubble tiles (by blending the images onto the titlebar)
activeTiles[ CaptionSmallLeft ] = composite( captionLeft, titleCenter );
activeTiles[ CaptionSmallRight ] = composite( captionRight, titleCenter );
activeTiles[ CaptionSmallLeft ] = composite( captionLeft, titleCenter );
activeTiles[ CaptionSmallRight ] = composite( captionRight, titleCenter );
activeTiles[ CaptionSmallCenter ] = composite( captionCenter, titleCenter );
delete captionLeft;
@ -293,12 +293,12 @@ void KeramikHandler::createPixmaps()
delete captionCenter;
// Now do the same with the large version
captionLeft = loadImage( "caption-large-left", captionColor );
captionRight = loadImage( "caption-large-right", captionColor );
captionLeft = loadImage( "caption-large-left", captionColor );
captionRight = loadImage( "caption-large-right", captionColor );
captionCenter = loadImage( "caption-large-center", captionColor );
activeTiles[ CaptionLargeLeft ] = composite( captionLeft, titleCenter );
activeTiles[ CaptionLargeRight ] = composite( captionRight, titleCenter );
activeTiles[ CaptionLargeLeft ] = composite( captionLeft, titleCenter );
activeTiles[ CaptionLargeRight ] = composite( captionRight, titleCenter );
activeTiles[ CaptionLargeCenter ] = composite( captionCenter, titleCenter );
delete captionLeft;
@ -311,36 +311,36 @@ void KeramikHandler::createPixmaps()
delete titleCenter;
// Load the left & right border pixmaps
activeTiles[ BorderLeft ] = loadPixmap( "border-left", titleColor );
activeTiles[ BorderLeft ] = loadPixmap( "border-left", titleColor );
activeTiles[ BorderRight ] = loadPixmap( "border-right", titleColor );
// Load the bottom grabbar pixmaps
if ( largeGrabBars ) {
activeTiles[ GrabBarLeft ] = loadPixmap( "grabbar-left", titleColor );
activeTiles[ GrabBarRight ] = loadPixmap( "grabbar-right", titleColor );
activeTiles[ GrabBarLeft ] = loadPixmap( "grabbar-left", titleColor );
activeTiles[ GrabBarRight ] = loadPixmap( "grabbar-right", titleColor );
activeTiles[ GrabBarCenter ] = loadPixmap( "grabbar-center", titleColor );
} else {
activeTiles[ GrabBarLeft ] = loadPixmap( "bottom-left", titleColor );
activeTiles[ GrabBarRight ] = loadPixmap( "bottom-right", titleColor );
activeTiles[ GrabBarLeft ] = loadPixmap( "bottom-left", titleColor );
activeTiles[ GrabBarRight ] = loadPixmap( "bottom-right", titleColor );
activeTiles[ GrabBarCenter ] = loadPixmap( "bottom-center", titleColor );
}
// Inactive tiles
// -------------------------------------------------------------------------
captionColor = KDecoration::options()->color( ColorTitleBar, false );
captionColor = KDecoration::options()->color( ColorTitleBar, false );
titleColor = KDecoration::options()->color( ColorTitleBlend, false );
inactiveTiles[ TitleLeft ] = loadPixmap( "titlebar-left", titleColor );
inactiveTiles[ TitleLeft ] = loadPixmap( "titlebar-left", titleColor );
inactiveTiles[ TitleRight ] = loadPixmap( "titlebar-right", titleColor );
titleCenter = loadImage( "titlebar-center", titleColor );
captionLeft = loadImage( "caption-small-left", captionColor );
captionRight = loadImage( "caption-small-right", captionColor );
captionLeft = loadImage( "caption-small-left", captionColor );
captionRight = loadImage( "caption-small-right", captionColor );
captionCenter = loadImage( "caption-small-center", captionColor );
inactiveTiles[ CaptionSmallLeft ] = composite( captionLeft, titleCenter );
inactiveTiles[ CaptionSmallRight ] = composite( captionRight, titleCenter );
inactiveTiles[ CaptionSmallLeft ] = composite( captionLeft, titleCenter );
inactiveTiles[ CaptionSmallRight ] = composite( captionRight, titleCenter );
inactiveTiles[ CaptionSmallCenter ] = composite( captionCenter, titleCenter );
delete captionLeft;
@ -351,16 +351,16 @@ void KeramikHandler::createPixmaps()
delete titleCenter;
inactiveTiles[ BorderLeft ] = loadPixmap( "border-left", titleColor );
inactiveTiles[ BorderLeft ] = loadPixmap( "border-left", titleColor );
inactiveTiles[ BorderRight ] = loadPixmap( "border-right", titleColor );
if ( largeGrabBars ) {
inactiveTiles[ GrabBarLeft ] = loadPixmap( "grabbar-left", titleColor );
inactiveTiles[ GrabBarRight ] = loadPixmap( "grabbar-right", titleColor );
inactiveTiles[ GrabBarLeft ] = loadPixmap( "grabbar-left", titleColor );
inactiveTiles[ GrabBarRight ] = loadPixmap( "grabbar-right", titleColor );
inactiveTiles[ GrabBarCenter ] = loadPixmap( "grabbar-center", titleColor );
} else {
inactiveTiles[ GrabBarLeft ] = loadPixmap( "bottom-left", titleColor );
inactiveTiles[ GrabBarRight ] = loadPixmap( "bottom-right", titleColor );
inactiveTiles[ GrabBarLeft ] = loadPixmap( "bottom-left", titleColor );
inactiveTiles[ GrabBarRight ] = loadPixmap( "bottom-right", titleColor );
inactiveTiles[ GrabBarCenter ] = loadPixmap( "bottom-center", titleColor );
}
@ -368,7 +368,7 @@ void KeramikHandler::createPixmaps()
// -------------------------------------------------------------------------
buttonColor = QColor(); //KDecoration::options()->color( ButtonBg, true );
titleButtonRound = loadPixmap( "titlebutton-round"+size, buttonColor );
titleButtonRound = loadPixmap( "titlebutton-round"+size, buttonColor );
titleButtonSquare = loadPixmap( "titlebutton-square"+size, buttonColor );
@ -827,7 +827,7 @@ void KeramikButton::drawButton( QPainter *p )
if ( isDown() ) {
// Pressed
p->drawPixmap( QPoint(), *pix, QStyle::visualRect( QApplication::isRightToLeft() ? Qt::RightToLeft : Qt::LeftToRight, QRect(2*size, 0, size, size), pix->rect() ) );
p->translate( QApplication::isRightToLeft() ? -1 : 1, 1 );
p->translate( QApplication::isRightToLeft() ? -1 : 1, 1 );
} else if ( hover )
// Mouse over
p->drawPixmap( QPoint(), *pix, QStyle::visualRect( QApplication::isRightToLeft() ? Qt::RightToLeft : Qt::LeftToRight, QRect(size, 0, size, size), pix->rect() ) );
@ -1141,8 +1141,8 @@ void KeramikClient::updateMask()
register int x = captionRect.left();
w = captionRect.width();
r += QRegion( x + 11, y++, w - 19, 1 );
r += QRegion( x + 9, y++, w - 15, 1 );
r += QRegion( x + 7, y++, w - 12, 1 );
r += QRegion( x + 9, y++, w - 15, 1 );
r += QRegion( x + 7, y++, w - 12, 1 );
} else {
nrects = 8;
@ -1158,11 +1158,11 @@ void KeramikClient::updateMask()
// The rounded titlebar corners
r += QRegion( 9, y++, w - 17, 1 );
r += QRegion( 7, y++, w - 13, 1 );
r += QRegion( 5, y++, w - 9, 1 );
r += QRegion( 4, y++, w - 7, 1 );
r += QRegion( 3, y++, w - 5, 1 );
r += QRegion( 2, y++, w - 4, 1 );
r += QRegion( 1, y++, w - 2, 2 );
r += QRegion( 5, y++, w - 9, 1 );
r += QRegion( 4, y++, w - 7, 1 );
r += QRegion( 3, y++, w - 5, 1 );
r += QRegion( 2, y++, w - 4, 1 );
r += QRegion( 1, y++, w - 2, 2 );
} else {
// If the caption bubble is visible and extends above the titlebar
@ -1188,11 +1188,11 @@ void KeramikClient::updateMask()
// The rounded titlebar corners
r += QRegion( 8, y++, w - 17, 1 );
r += QRegion( 6, y++, w - 13, 1 );
r += QRegion( 4, y++, w - 9, 1 );
r += QRegion( 3, y++, w - 7, 1 );
r += QRegion( 2, y++, w - 5, 1 );
r += QRegion( 2, y++, w - 4, 1 );
r += QRegion( 1, y++, w - 2, 2 );
r += QRegion( 4, y++, w - 9, 1 );
r += QRegion( 3, y++, w - 7, 1 );
r += QRegion( 2, y++, w - 5, 1 );
r += QRegion( 2, y++, w - 4, 1 );
r += QRegion( 1, y++, w - 2, 2 );
}
y++;

View file

@ -51,7 +51,7 @@ QuartzConfig::QuartzConfig( KConfig* conf, QWidget* parent )
// Ensure we track user changes properly
connect( cbColorBorder, SIGNAL(clicked()), this, SLOT(slotSelectionChanged()) );
connect( cbExtraSmall, SIGNAL(clicked()), this, SLOT(slotSelectionChanged()) );
connect( cbExtraSmall, SIGNAL(clicked()), this, SLOT(slotSelectionChanged()) );
// Make the widgets visible in kwindecoration
gb->show();

View file

@ -264,25 +264,25 @@ void QuartzHandler::drawBlocks( KPixmap *pi, KPixmap &p, const QColor &c1, const
int x = pi->width() - 5*factor - square;
int y = (pi->height() - 4*factor)/2;
px.fillRect( x, y, square, square, c1.light(120) );
px.fillRect( x, y+factor, square, square, c1 );
px.fillRect( x, y, square, square, c1.light(120) );
px.fillRect( x, y+factor, square, square, c1 );
px.fillRect( x, y+2*factor, square, square, c1.light(110) );
px.fillRect( x, y+3*factor, square, square, c1 );
px.fillRect( x+factor, y, square, square, c1.light(110) );
px.fillRect( x+factor, y+factor, square, square, c2.light(110) );
px.fillRect( x+factor, y, square, square, c1.light(110) );
px.fillRect( x+factor, y+factor, square, square, c2.light(110) );
px.fillRect( x+factor, y+2*factor, square, square, c1.light(120) );
px.fillRect( x+factor, y+3*factor, square, square, c2.light(130) );
px.fillRect( x+2*factor, y+factor, square, square, c1.light(110) );
px.fillRect( x+2*factor, y+factor, square, square, c1.light(110) );
px.fillRect( x+2*factor, y+2*factor, square, square, c2.light(120) );
px.fillRect( x+2*factor, y+3*factor, square, square, c2.light(150) );
px.fillRect( x+3*factor, y, square, square, c1.dark(110) );
px.fillRect( x+3*factor, y, square, square, c1.dark(110) );
px.fillRect( x+3*factor, y+2*factor, square, square, c2.light(120) );
px.fillRect( x+3*factor, y+3*factor, square, square, c1.dark(120) );
px.fillRect( x+4*factor, y+factor, square, square, c1.light(110) );
px.fillRect( x+4*factor, y+factor, square, square, c1.light(110) );
px.fillRect( x+4*factor, y+3*factor, square, square, c1.dark(110) );
px.fillRect( x+5*factor, y+2*factor, square, square, c2.light(120));

View file

@ -23,9 +23,10 @@ License. See the file "COPYING" for the exact licensing terms.
#include "rules.h"
#include <qwhatsthis.h>
#include <kkeynative.h>
#include <qapplication.h>
#include <kkeyserver.h>
#include <X11/extensions/shape.h>
#include <X11/Xatom.h>
#include <QX11Info>
@ -221,9 +222,9 @@ bool Workspace::workspaceEvent( XEvent * e )
case KeyPress:
{
was_user_interaction = true;
KKeyNative keyX( (XEvent*)e );
uint keyQt = keyX.keyCodeQt();
kDebug(125) << "Workspace::keyPress( " << keyX.key().toString() << " )" << endl;
int keyQt;
KKeyServer::xEventToQt(e, keyQt);
kDebug(125) << "Workspace::keyPress( " << keyQt << " )" << endl;
if (movingClient)
{
movingClient->keyPressEvent(keyQt);
@ -231,7 +232,7 @@ bool Workspace::workspaceEvent( XEvent * e )
}
if( tab_grab || control_grab )
{
tabBoxKeyPress( keyX );
tabBoxKeyPress( keyQt );
return true;
}
break;
@ -962,9 +963,9 @@ void Client::leaveNotifyEvent( XCrossingEvent* e )
}
}
#define XCapL KKeyNative::modXLock()
#define XNumL KKeyNative::modXNumLock()
#define XScrL KKeyNative::modXScrollLock()
#define XCapL KKeyServer::modXLock()
#define XNumL KKeyServer::modXNumLock()
#define XScrL KKeyServer::modXScrollLock()
void Client::grabButton( int modifier )
{
unsigned int mods[ 8 ] =
@ -978,7 +979,7 @@ void Client::grabButton( int modifier )
++i )
XGrabButton( QX11Info::display(), AnyButton,
modifier | mods[ i ],
wrapperId(), false, ButtonPressMask,
wrapperId(), false, ButtonPressMask,
GrabModeSync, GrabModeAsync, None, None );
}
@ -1064,9 +1065,9 @@ int qtToX11State( Qt::ButtonState state )
if( state & Qt::ControlModifier )
ret |= ControlMask;
if( state & Qt::AltModifier )
ret |= KKeyNative::modXAlt();
ret |= KKeyServer::modXAlt();
if( state & Qt::MetaModifier )
ret |= KKeyNative::modXWin();
ret |= KKeyServer::modXMeta();
return ret;
}
@ -1132,9 +1133,9 @@ bool Client::buttonPressEvent( Window w, int button, int state, int x, int y, in
updateUserTime();
workspace()->setWasUserInteraction();
uint keyModX = (options->keyCmdAllModKey() == Qt::Key_Meta) ?
KKeyNative::modXWin() :
KKeyNative::modXAlt();
bool bModKeyHeld = keyModX != 0 && ( state & KKeyNative::accelModMaskX()) == keyModX;
KKeyServer::modXMeta() :
KKeyServer::modXAlt();
bool bModKeyHeld = keyModX != 0 && ( state & KKeyServer::accelModMaskX()) == keyModX;
if( isSplash()
&& button == Button1 && !bModKeyHeld )

View file

@ -596,7 +596,7 @@ Window Client::verifyTransientFor( Window new_transient_for, bool defined )
Window root_return, parent_return;
Window* wins = NULL;
unsigned int nwins;
int r = XQueryTree(QX11Info::display(), new_transient_for, &root_return, &parent_return, &wins, &nwins);
int r = XQueryTree(QX11Info::display(), new_transient_for, &root_return, &parent_return, &wins, &nwins);
if ( wins )
XFree((void *) wins);
if ( r == 0)

View file

@ -1,7 +1,7 @@
/*
This is the new kwindecoration kcontrol module
Copyright (c) 2004, Sandro Giessl <sandro@giessl.com>
Copyright (c) 2004, Sandro Giessl <sandro@giessl.com>
Copyright (c) 2001
Karol Szwed <gallium@kde.org>
http://gallium.n3.net/
@ -671,7 +671,7 @@ void ButtonSourceItem::setButton(const Button& btn)
if (btn.supported) {
setText(0, btn.name);
} else {
setText(0, i18n("%1 (unavailable)").arg(btn.name) );
setText(0, i18n("%1 (unavailable)", btn.name) );
}
}
@ -805,7 +805,7 @@ Button ButtonPositionWidget::getButton(QChar type, bool& success) {
} else if (type == 'X') {
QBitmap bmp(close_width, close_height, close_bits, true);
bmp.setMask(bmp);
return Button(i18n("Close"), bmp, 'X', false, m_supportedButtons.contains('X') );
return Button(i18n("Close"), bmp, 'X', false, m_supportedButtons.contains('X') );
} else if (type == 'A') {
QBitmap bmp(maximize_width, maximize_height, maximize_bits, true);
bmp.setMask(bmp);

View file

@ -588,11 +588,11 @@ KAdvancedConfig::KAdvancedConfig (bool _standAlone, KConfig *_config, KInstance
QHBoxLayout* focusStealingLayout = new QHBoxLayout( lay,KDialog::spacingHint());
QLabel* focusStealingLabel = new QLabel( i18n( "Focus stealing prevention level:" ), this );
focusStealing = new QComboBox( this );
focusStealing->insertItem( i18n( "Focus Stealing Prevention Level", "None" ));
focusStealing->insertItem( i18n( "Focus Stealing Prevention Level", "Low" ));
focusStealing->insertItem( i18n( "Focus Stealing Prevention Level", "Normal" ));
focusStealing->insertItem( i18n( "Focus Stealing Prevention Level", "High" ));
focusStealing->insertItem( i18n( "Focus Stealing Prevention Level", "Extreme" ));
focusStealing->insertItem( i18nc( "Focus Stealing Prevention Level", "None" ));
focusStealing->insertItem( i18nc( "Focus Stealing Prevention Level", "Low" ));
focusStealing->insertItem( i18nc( "Focus Stealing Prevention Level", "Normal" ));
focusStealing->insertItem( i18nc( "Focus Stealing Prevention Level", "High" ));
focusStealing->insertItem( i18nc( "Focus Stealing Prevention Level", "Extreme" ));
focusStealingLabel->setBuddy( focusStealing );
focusStealingLayout->addWidget( focusStealingLabel );
focusStealingLayout->addWidget( focusStealing, Qt::AlignLeft );
@ -1015,11 +1015,11 @@ void KMovingConfig::setMoveResizeMaximized(bool a) {
}
void KMovingConfig::slotBrdrSnapChanged(int value) {
BrdrSnap->setSuffix(i18n(" pixel", " pixels", value));
BrdrSnap->setSuffix(i18np(" pixel", " pixels", value));
}
void KMovingConfig::slotWndwSnapChanged(int value) {
WndwSnap->setSuffix(i18n(" pixel", " pixels", value));
WndwSnap->setSuffix(i18np(" pixel", " pixels", value));
}
void KMovingConfig::load( void )

View file

@ -152,7 +152,7 @@ static Rules* findRule( const QList< Rules* >& rules, Window wid, bool whole_app
Rules* ret = new Rules;
if( whole_app )
{
ret->description = i18n( "Application settings for %1" ).arg( QString::fromLatin1( wmclass_class ));
ret->description = i18n( "Application settings for %1", QString::fromLatin1( wmclass_class ));
// TODO maybe exclude some types? If yes, then also exclude them above
// when searching.
ret->types = NET::AllTypesMask;
@ -176,7 +176,7 @@ static Rules* findRule( const QList< Rules* >& rules, Window wid, bool whole_app
}
return ret;
}
ret->description = i18n( "Window settings for %1" ).arg( QString::fromLatin1( wmclass_class ));
ret->description = i18n( "Window settings for %1", QString::fromLatin1( wmclass_class ));
if( type == NET::Unknown )
ret->types = NET::NormalMask;
else

View file

@ -649,7 +649,7 @@ bool RulesWidget::finalCheck()
if( description->text().isEmpty())
{
if( !wmclass->text().isEmpty())
description->setText( i18n( "Settings for %1" ).arg( wmclass->text()));
description->setText( i18n( "Settings for %1", wmclass->text()));
else
description->setText( i18n( "Unnamed entry" ));
}
@ -763,7 +763,7 @@ QString EditShortcutDialog::shortcut() const
}
ShortcutDialog::ShortcutDialog( const KShortcut& cut, QWidget* parent )
: KShortcutDialog( cut, false /*TODO???*/, parent )
: KShortcutDialog( cut, parent )
{
}
@ -773,24 +773,24 @@ void ShortcutDialog::accept()
;
++i )
{
KKeySequence seq = shortcut().seq( i );
if( seq.isNull())
QKeySequence seq = shortcut().seq( i );
if( seq.isEmpty())
break;
if( seq.key( 0 ) == Qt::Key_Escape )
if( seq[0] == Qt::Key_Escape )
{
reject();
return;
}
if( seq.key( 0 ) == Qt::Key_Space )
if( seq[0] == Qt::Key_Space )
{ // clear
setShortcut( KShortcut());
KShortcutDialog::accept();
return;
}
if( seq.key( 0 ).modFlags() == 0 )
if( (seq[0] & Qt::KeyboardModifierMask) == 0 )
{ // no shortcuts without modifiers
KShortcut cut = shortcut();
cut.setSeq( i, KKeySequence());
cut.setSeq( i, QKeySequence());
setShortcut( cut );
return;
}

View file

@ -71,8 +71,8 @@ int main( int argc, char* argv[] )
QString question = i18n(
"<qt>Window with title \"<b>%2</b>\" is not responding. "
"This window belongs to application <b>%1</b> (PID=%3, hostname=%4).<p>"
"Do you wish to terminate this application? (All unsaved data in this application will be lost.)</qt>" )
.arg( appname ).arg( caption ).arg( pid ).arg( QString( hostname ) );
"Do you wish to terminate this application? (All unsaved data in this application will be lost.)</qt>" ,
appname, caption, pid, QString( hostname ) );
app.updateUserTimestamp( timestamp );
if( KMessageBox::warningYesNoWId( id, question, QString(), i18n("Terminate"), i18n("Keep Running") ) == KMessageBox::Yes )
{

View file

@ -1,47 +1,48 @@
#ifndef NOSLOTS
# define DEF2( name, descr, key, fnSlot ) \
keys->insert( name, i18n(descr), QString(), key, this, SLOT(fnSlot) )
a = new KAction( i18n(descr), actionCollection, name ); \
a->setShortcut(KShortcut(key)); \
connect(a, SIGNAL(triggered(bool)), SLOT(fnSlot))
# define DEF( name, key, fnSlot ) \
keys->insert( name, i18n(name), QString(), key, this, SLOT(fnSlot) )
a = new KAction( i18n(name), actionCollection, name ); \
a->setShortcut(KShortcut(key)); \
connect(a, SIGNAL(triggered(bool)), SLOT(fnSlot))
#else
# define DEF2( name, descr, key, fnSlot ) \
keys->insert( name, i18n(descr), QString(), key )
a = new KAction( i18n(descr), actionCollection, name ); \
a->setShortcut(KShortcut(key));
# define DEF( name, key, fnSlot ) \
keys->insert( name, i18n(name), QString(), key )
a = new KAction( i18n(name), actionCollection, name ); \
a->setShortcut(KShortcut(key));
#endif
#define WIN Qt::META
#define ALT Qt::ALT
#define SHIFT Qt::SHIFT
#define CTRL Qt::CTRL
// some shortcuts have Tarzan-speech like names, they need extra normal human descriptions with DEF2()
// the others can use DEF()
keys->insert( "Program:kwin", i18n("System") );
new KAction( i18n("System"), actionCollection, "Program:kwin" );
keys->insert( "Group:Navigation", i18n("Navigation") );
DEF( I18N_NOOP("Walk Through Windows"), ALT+Qt::Key_Tab, slotWalkThroughWindows() );
DEF( I18N_NOOP("Walk Through Windows (Reverse)"), ALT+SHIFT+Qt::Key_Tab, slotWalkBackThroughWindows() );
DEF( I18N_NOOP("Walk Through Desktops"), WIN+Qt::Key_Tab, slotWalkThroughDesktops() );
DEF( I18N_NOOP("Walk Through Desktops (Reverse)"), WIN+SHIFT+Qt::Key_Tab, slotWalkBackThroughDesktops() );
DEF( I18N_NOOP("Walk Through Desktop List"), 0, slotWalkThroughDesktopList() );
new KAction( i18n("Navigation"), actionCollection, "Group:Navigation" );
DEF( I18N_NOOP("Walk Through Windows"), Qt::ALT+Qt::Key_Tab, slotWalkThroughWindows() );
DEF( I18N_NOOP("Walk Through Windows (Reverse)"), Qt::ALT+Qt::SHIFT+Qt::Key_Tab, slotWalkBackThroughWindows() );
DEF( I18N_NOOP("Walk Through Desktops"), Qt::META+Qt::Key_Tab, slotWalkThroughDesktops() );
DEF( I18N_NOOP("Walk Through Desktops (Reverse)"), Qt::META+Qt::SHIFT+Qt::Key_Tab, slotWalkBackThroughDesktops() );
DEF( I18N_NOOP("Walk Through Desktop List"), 0, slotWalkThroughDesktopList() );
DEF( I18N_NOOP("Walk Through Desktop List (Reverse)"), 0, slotWalkBackThroughDesktopList() );
keys->insert( "Group:Windows", i18n("Windows") );
DEF( I18N_NOOP("Window Operations Menu"), ALT+Qt::Key_Menu, slotWindowOperations() );
new KAction( i18n("Windows"), actionCollection, "Group:Windows" );
DEF( I18N_NOOP("Window Operations Menu"), Qt::ALT+Qt::Key_Menu, slotWindowOperations() );
DEF2( "Window Close", I18N_NOOP("Close Window"),
"Alt+Escape;Alt+F4", slotWindowClose() );
DEF2( "Window Maximize", I18N_NOOP("Maximize Window"),
WIN+Qt::Key_Plus, slotWindowMaximize() );
Qt::META+Qt::Key_Plus, slotWindowMaximize() );
DEF2( "Window Maximize Vertical", I18N_NOOP("Maximize Window Vertically"),
WIN+Qt::Key_Bar, slotWindowMaximizeVertical() );
Qt::META+Qt::Key_Bar, slotWindowMaximizeVertical() );
DEF2( "Window Maximize Horizontal", I18N_NOOP("Maximize Window Horizontally"),
WIN+Qt::Key_Equal, slotWindowMaximizeHorizontal() );
Qt::META+Qt::Key_Equal, slotWindowMaximizeHorizontal() );
DEF2( "Window Minimize", I18N_NOOP("Minimize Window"),
WIN+Qt::Key_Minus, slotWindowMinimize() );
Qt::META+Qt::Key_Minus, slotWindowMinimize() );
DEF2( "Window Shade", I18N_NOOP("Shade Window"),
WIN+Qt::Key_Underscore, slotWindowShade() );
Qt::META+Qt::Key_Underscore, slotWindowShade() );
DEF2( "Window Move", I18N_NOOP("Move Window"),
0, slotWindowMove() );
DEF2( "Window Resize", I18N_NOOP("Resize Window"),
@ -50,7 +51,7 @@
0, slotWindowRaise() );
DEF2( "Window Lower", I18N_NOOP("Lower Window"),
0, slotWindowLower() );
DEF( I18N_NOOP("Toggle Window Raise/Lower"), 0, slotWindowRaiseOrLower() );
DEF( I18N_NOOP("Toggle Window Raise/Lower"), 0, slotWindowRaiseOrLower() );
DEF2( "Window Fullscreen", I18N_NOOP("Make Window Fullscreen"),
0, slotWindowFullScreen() );
DEF2( "Window No Border", I18N_NOOP("Hide Window Border"),
@ -60,7 +61,7 @@
DEF2( "Window Below Other Windows", I18N_NOOP("Keep Window Below Others"),
0, slotWindowBelow() );
DEF( I18N_NOOP("Activate Window Demanding Attention"),
CTRL+ALT+Qt::Key_A, slotActivateAttentionWindow());
Qt::CTRL+Qt::ALT+Qt::Key_A, slotActivateAttentionWindow());
DEF( I18N_NOOP("Setup Window Shortcut"),
0, slotSetupWindowShortcut());
DEF2( "Window Pack Right", I18N_NOOP("Pack Window to the Right"),
@ -80,107 +81,96 @@
DEF2( "Window Shrink Vertical", I18N_NOOP("Pack Shrink Window Vertically"),
0, slotWindowShrinkVertical() );
keys->insert( "Group:Window Desktop", i18n("Window & Desktop") );
new KAction( i18n("Window & Desktop"), actionCollection, "Group:Window Desktop" );
DEF2( "Window On All Desktops", I18N_NOOP("Keep Window on All Desktops"),
0, slotWindowOnAllDesktops() );
DEF( I18N_NOOP("Window to Desktop 1"), WIN+ALT+Qt::Key_F1, slotWindowToDesktop(int) );
DEF( I18N_NOOP("Window to Desktop 2"), WIN+ALT+Qt::Key_F2, slotWindowToDesktop(int) );
DEF( I18N_NOOP("Window to Desktop 3"), WIN+ALT+Qt::Key_F3, slotWindowToDesktop(int) );
DEF( I18N_NOOP("Window to Desktop 4"), WIN+ALT+Qt::Key_F4, slotWindowToDesktop(int) );
DEF( I18N_NOOP("Window to Desktop 5"), WIN+ALT+Qt::Key_F5, slotWindowToDesktop(int) );
DEF( I18N_NOOP("Window to Desktop 6"), WIN+ALT+Qt::Key_F6, slotWindowToDesktop(int) );
DEF( I18N_NOOP("Window to Desktop 7"), WIN+ALT+Qt::Key_F7, slotWindowToDesktop(int) );
DEF( I18N_NOOP("Window to Desktop 8"), WIN+ALT+Qt::Key_F8, slotWindowToDesktop(int) );
DEF( I18N_NOOP("Window to Desktop 9"), WIN+ALT+Qt::Key_F9, slotWindowToDesktop(int) );
DEF( I18N_NOOP("Window to Desktop 10"), WIN+ALT+Qt::Key_F10, slotWindowToDesktop(int) );
DEF( I18N_NOOP("Window to Desktop 11"), 0, slotWindowToDesktop(int) );
DEF( I18N_NOOP("Window to Desktop 12"), 0, slotWindowToDesktop(int) );
DEF( I18N_NOOP("Window to Desktop 13"), 0, slotWindowToDesktop(int) );
DEF( I18N_NOOP("Window to Desktop 14"), 0, slotWindowToDesktop(int) );
DEF( I18N_NOOP("Window to Desktop 15"), 0, slotWindowToDesktop(int) );
DEF( I18N_NOOP("Window to Desktop 16"), 0, slotWindowToDesktop(int) );
DEF( I18N_NOOP("Window to Desktop 17"), 0, slotWindowToDesktop(int) );
DEF( I18N_NOOP("Window to Desktop 18"), 0, slotWindowToDesktop(int) );
DEF( I18N_NOOP("Window to Desktop 19"), 0, slotWindowToDesktop(int) );
DEF( I18N_NOOP("Window to Desktop 20"), 0, slotWindowToDesktop(int) );
DEF( I18N_NOOP("Window to Next Desktop"), 0, slotWindowToNextDesktop() );
DEF( I18N_NOOP("Window to Previous Desktop"), 0, slotWindowToPreviousDesktop() );
DEF( I18N_NOOP("Window One Desktop to the Right"), 0, slotWindowToDesktopRight() );
DEF( I18N_NOOP("Window One Desktop to the Left"), 0, slotWindowToDesktopLeft() );
DEF( I18N_NOOP("Window One Desktop Up"), 0, slotWindowToDesktopUp() );
DEF( I18N_NOOP("Window One Desktop Down"), 0, slotWindowToDesktopDown() );
DEF( I18N_NOOP("Window to Desktop 1"), Qt::META+Qt::ALT+Qt::Key_F1, slotWindowToDesktop(int) );
DEF( I18N_NOOP("Window to Desktop 2"), Qt::META+Qt::ALT+Qt::Key_F2, slotWindowToDesktop(int) );
DEF( I18N_NOOP("Window to Desktop 3"), Qt::META+Qt::ALT+Qt::Key_F3, slotWindowToDesktop(int) );
DEF( I18N_NOOP("Window to Desktop 4"), Qt::META+Qt::ALT+Qt::Key_F4, slotWindowToDesktop(int) );
DEF( I18N_NOOP("Window to Desktop 5"), Qt::META+Qt::ALT+Qt::Key_F5, slotWindowToDesktop(int) );
DEF( I18N_NOOP("Window to Desktop 6"), Qt::META+Qt::ALT+Qt::Key_F6, slotWindowToDesktop(int) );
DEF( I18N_NOOP("Window to Desktop 7"), Qt::META+Qt::ALT+Qt::Key_F7, slotWindowToDesktop(int) );
DEF( I18N_NOOP("Window to Desktop 8"), Qt::META+Qt::ALT+Qt::Key_F8, slotWindowToDesktop(int) );
DEF( I18N_NOOP("Window to Desktop 9"), Qt::META+Qt::ALT+Qt::Key_F9, slotWindowToDesktop(int) );
DEF( I18N_NOOP("Window to Desktop 10"), Qt::META+Qt::ALT+Qt::Key_F10, slotWindowToDesktop(int) );
DEF( I18N_NOOP("Window to Desktop 11"), 0, slotWindowToDesktop(int) );
DEF( I18N_NOOP("Window to Desktop 12"), 0, slotWindowToDesktop(int) );
DEF( I18N_NOOP("Window to Desktop 13"), 0, slotWindowToDesktop(int) );
DEF( I18N_NOOP("Window to Desktop 14"), 0, slotWindowToDesktop(int) );
DEF( I18N_NOOP("Window to Desktop 15"), 0, slotWindowToDesktop(int) );
DEF( I18N_NOOP("Window to Desktop 16"), 0, slotWindowToDesktop(int) );
DEF( I18N_NOOP("Window to Desktop 17"), 0, slotWindowToDesktop(int) );
DEF( I18N_NOOP("Window to Desktop 18"), 0, slotWindowToDesktop(int) );
DEF( I18N_NOOP("Window to Desktop 19"), 0, slotWindowToDesktop(int) );
DEF( I18N_NOOP("Window to Desktop 20"), 0, slotWindowToDesktop(int) );
DEF( I18N_NOOP("Window to Next Desktop"), 0, slotWindowToNextDesktop() );
DEF( I18N_NOOP("Window to Previous Desktop"), 0, slotWindowToPreviousDesktop() );
DEF( I18N_NOOP("Window One Desktop to the Right"), 0, slotWindowToDesktopRight() );
DEF( I18N_NOOP("Window One Desktop to the Left"), 0, slotWindowToDesktopLeft() );
DEF( I18N_NOOP("Window One Desktop Up"), 0, slotWindowToDesktopUp() );
DEF( I18N_NOOP("Window One Desktop Down"), 0, slotWindowToDesktopDown() );
keys->insert( "Group:Desktop Switching", i18n("Desktop Switching") );
DEF( I18N_NOOP("Switch to Desktop 1"), WIN+Qt::Key_F1, slotSwitchToDesktop(int) );
DEF( I18N_NOOP("Switch to Desktop 2"), WIN+Qt::Key_F2, slotSwitchToDesktop(int) );
DEF( I18N_NOOP("Switch to Desktop 3"), WIN+Qt::Key_F3, slotSwitchToDesktop(int) );
DEF( I18N_NOOP("Switch to Desktop 4"), WIN+Qt::Key_F4, slotSwitchToDesktop(int) );
DEF( I18N_NOOP("Switch to Desktop 5"), WIN+Qt::Key_F5, slotSwitchToDesktop(int) );
DEF( I18N_NOOP("Switch to Desktop 6"), WIN+Qt::Key_F6, slotSwitchToDesktop(int) );
DEF( I18N_NOOP("Switch to Desktop 7"), WIN+Qt::Key_F7, slotSwitchToDesktop(int) );
DEF( I18N_NOOP("Switch to Desktop 8"), WIN+Qt::Key_F8, slotSwitchToDesktop(int) );
DEF( I18N_NOOP("Switch to Desktop 9"), WIN+Qt::Key_F9, slotSwitchToDesktop(int) );
DEF( I18N_NOOP("Switch to Desktop 10"), WIN+Qt::Key_F10, slotSwitchToDesktop(int) );
DEF( I18N_NOOP("Switch to Desktop 11"), CTRL+Qt::Key_F11, slotSwitchToDesktop(int) );
DEF( I18N_NOOP("Switch to Desktop 12"), CTRL+Qt::Key_F12, slotSwitchToDesktop(int) );
DEF( I18N_NOOP("Switch to Desktop 13"), CTRL+SHIFT+Qt::Key_F1, slotSwitchToDesktop(int) );
DEF( I18N_NOOP("Switch to Desktop 14"), CTRL+SHIFT+Qt::Key_F2, slotSwitchToDesktop(int) );
DEF( I18N_NOOP("Switch to Desktop 15"), CTRL+SHIFT+Qt::Key_F3, slotSwitchToDesktop(int) );
DEF( I18N_NOOP("Switch to Desktop 16"), CTRL+SHIFT+Qt::Key_F4, slotSwitchToDesktop(int) );
DEF( I18N_NOOP("Switch to Desktop 17"), CTRL+SHIFT+Qt::Key_F5, slotSwitchToDesktop(int) );
DEF( I18N_NOOP("Switch to Desktop 18"), CTRL+SHIFT+Qt::Key_F6, slotSwitchToDesktop(int) );
DEF( I18N_NOOP("Switch to Desktop 19"), CTRL+SHIFT+Qt::Key_F7, slotSwitchToDesktop(int) );
DEF( I18N_NOOP("Switch to Desktop 20"), CTRL+SHIFT+Qt::Key_F8, slotSwitchToDesktop(int) );
DEF( I18N_NOOP("Switch to Next Desktop"), 0, slotSwitchDesktopNext() );
DEF( I18N_NOOP("Switch to Previous Desktop"), 0, slotSwitchDesktopPrevious() );
DEF( I18N_NOOP("Switch One Desktop to the Right"), 0, slotSwitchDesktopRight() );
DEF( I18N_NOOP("Switch One Desktop to the Left"), 0, slotSwitchDesktopLeft() );
DEF( I18N_NOOP("Switch One Desktop Up"), 0, slotSwitchDesktopUp() );
DEF( I18N_NOOP("Switch One Desktop Down"), 0, slotSwitchDesktopDown() );
new KAction( i18n("Desktop Switching"), actionCollection, "Group:Desktop Switching" );
DEF( I18N_NOOP("Switch to Desktop 1"), Qt::META+Qt::Key_F1, slotSwitchToDesktop(int) );
DEF( I18N_NOOP("Switch to Desktop 2"), Qt::META+Qt::Key_F2, slotSwitchToDesktop(int) );
DEF( I18N_NOOP("Switch to Desktop 3"), Qt::META+Qt::Key_F3, slotSwitchToDesktop(int) );
DEF( I18N_NOOP("Switch to Desktop 4"), Qt::META+Qt::Key_F4, slotSwitchToDesktop(int) );
DEF( I18N_NOOP("Switch to Desktop 5"), Qt::META+Qt::Key_F5, slotSwitchToDesktop(int) );
DEF( I18N_NOOP("Switch to Desktop 6"), Qt::META+Qt::Key_F6, slotSwitchToDesktop(int) );
DEF( I18N_NOOP("Switch to Desktop 7"), Qt::META+Qt::Key_F7, slotSwitchToDesktop(int) );
DEF( I18N_NOOP("Switch to Desktop 8"), Qt::META+Qt::Key_F8, slotSwitchToDesktop(int) );
DEF( I18N_NOOP("Switch to Desktop 9"), Qt::META+Qt::Key_F9, slotSwitchToDesktop(int) );
DEF( I18N_NOOP("Switch to Desktop 10"), Qt::META+Qt::Key_F10, slotSwitchToDesktop(int) );
DEF( I18N_NOOP("Switch to Desktop 11"), Qt::CTRL+Qt::Key_F11, slotSwitchToDesktop(int) );
DEF( I18N_NOOP("Switch to Desktop 12"), Qt::CTRL+Qt::Key_F12, slotSwitchToDesktop(int) );
DEF( I18N_NOOP("Switch to Desktop 13"), Qt::CTRL+Qt::SHIFT+Qt::Key_F1, slotSwitchToDesktop(int) );
DEF( I18N_NOOP("Switch to Desktop 14"), Qt::CTRL+Qt::SHIFT+Qt::Key_F2, slotSwitchToDesktop(int) );
DEF( I18N_NOOP("Switch to Desktop 15"), Qt::CTRL+Qt::SHIFT+Qt::Key_F3, slotSwitchToDesktop(int) );
DEF( I18N_NOOP("Switch to Desktop 16"), Qt::CTRL+Qt::SHIFT+Qt::Key_F4, slotSwitchToDesktop(int) );
DEF( I18N_NOOP("Switch to Desktop 17"), Qt::CTRL+Qt::SHIFT+Qt::Key_F5, slotSwitchToDesktop(int) );
DEF( I18N_NOOP("Switch to Desktop 18"), Qt::CTRL+Qt::SHIFT+Qt::Key_F6, slotSwitchToDesktop(int) );
DEF( I18N_NOOP("Switch to Desktop 19"), Qt::CTRL+Qt::SHIFT+Qt::Key_F7, slotSwitchToDesktop(int) );
DEF( I18N_NOOP("Switch to Desktop 20"), Qt::CTRL+Qt::SHIFT+Qt::Key_F8, slotSwitchToDesktop(int) );
DEF( I18N_NOOP("Switch to Next Desktop"), 0, slotSwitchDesktopNext() );
DEF( I18N_NOOP("Switch to Previous Desktop"), 0, slotSwitchDesktopPrevious() );
DEF( I18N_NOOP("Switch One Desktop to the Right"), 0, slotSwitchDesktopRight() );
DEF( I18N_NOOP("Switch One Desktop to the Left"), 0, slotSwitchDesktopLeft() );
DEF( I18N_NOOP("Switch One Desktop Up"), 0, slotSwitchDesktopUp() );
DEF( I18N_NOOP("Switch One Desktop Down"), 0, slotSwitchDesktopDown() );
keys->insert( "Group:Miscellaneous", i18n("Miscellaneous") );
DEF( I18N_NOOP("Mouse Emulation"), ALT+Qt::Key_F12, slotMouseEmulation() );
DEF( I18N_NOOP("Kill Window"), WIN+CTRL+Qt::Key_Delete, slotKillWindow() );
DEF( I18N_NOOP("Window Screenshot"), ALT+Qt::Key_Print, slotGrabWindow() );
DEF( I18N_NOOP("Desktop Screenshot"), WIN+Qt::Key_Print, slotGrabDesktop() );
#ifdef IN_KWIN
{
KGlobalAccel* keys = disable_shortcuts_keys;
#endif
DEF( I18N_NOOP("Block Global Shortcuts"), 0, slotDisableGlobalShortcuts());
#ifdef IN_KWIN
}
#endif
new KAction( i18n("Miscellaneous"), actionCollection, "Group:Miscellaneous" );
DEF( I18N_NOOP("Mouse Emulation"), Qt::ALT+Qt::Key_F12, slotMouseEmulation() );
DEF( I18N_NOOP("Kill Window"), Qt::META+Qt::CTRL+Qt::Key_Delete, slotKillWindow() );
DEF( I18N_NOOP("Window Screenshot"), Qt::ALT+Qt::Key_Print, slotGrabWindow() );
DEF( I18N_NOOP("Desktop Screenshot"), Qt::META+Qt::Key_Print, slotGrabDesktop() );
DEF( I18N_NOOP("Block Global Shortcuts"), 0, slotDisableGlobalShortcuts());
/*This belongs in taskbar rather than here, so it'll have to wait until after 2.2 is done.
-- ellis
DEF( I18N_NOOP("Switch to Window 1", WIN+Qt::Key_1"));
DEF( I18N_NOOP("Switch to Window 2", WIN+Qt::Key_2"));
DEF( I18N_NOOP("Switch to Window 3", WIN+Qt::Key_3"));
DEF( I18N_NOOP("Switch to Window 4", WIN+Qt::Key_4"));
DEF( I18N_NOOP("Switch to Window 5", WIN+Qt::Key_5"));
DEF( I18N_NOOP("Switch to Window 6", WIN+Qt::Key_6"));
DEF( I18N_NOOP("Switch to Window 7", WIN+Qt::Key_7"));
DEF( I18N_NOOP("Switch to Window 8", WIN+Qt::Key_8"));
DEF( I18N_NOOP("Switch to Window 9", WIN+Qt::Key_9"));
DEF( I18N_NOOP("Switch to Window 1", Qt::META+Qt::Key_1"));
DEF( I18N_NOOP("Switch to Window 2", Qt::META+Qt::Key_2"));
DEF( I18N_NOOP("Switch to Window 3", Qt::META+Qt::Key_3"));
DEF( I18N_NOOP("Switch to Window 4", Qt::META+Qt::Key_4"));
DEF( I18N_NOOP("Switch to Window 5", Qt::META+Qt::Key_5"));
DEF( I18N_NOOP("Switch to Window 6", Qt::META+Qt::Key_6"));
DEF( I18N_NOOP("Switch to Window 7", Qt::META+Qt::Key_7"));
DEF( I18N_NOOP("Switch to Window 8", Qt::META+Qt::Key_8"));
DEF( I18N_NOOP("Switch to Window 9", Qt::META+Qt::Key_9"));
#ifdef WITH_LABELS
DEF( I18N_NOOP("Window & Taskbar"Group:Window Desktop", 0);
#endif
DEF( I18N_NOOP("Window to Taskbar Position 1", WIN+Qt::Key_Alt+1"));
DEF( I18N_NOOP("Window to Taskbar Position 2", WIN+Qt::Key_Alt+2"));
DEF( I18N_NOOP("Window to Taskbar Position 3", WIN+Qt::Key_Alt+3"));
DEF( I18N_NOOP("Window to Taskbar Position 4", WIN+Qt::Key_Alt+4"));
DEF( I18N_NOOP("Window to Taskbar Position 5", WIN+Qt::Key_Alt+5"));
DEF( I18N_NOOP("Window to Taskbar Position 6", WIN+Qt::Key_Alt+6"));
DEF( I18N_NOOP("Window to Taskbar Position 7", WIN+Qt::Key_Alt+7"));
DEF( I18N_NOOP("Window to Taskbar Position 8", WIN+Qt::Key_Alt+8"));
DEF( I18N_NOOP("Window to Taskbar Position 9", WIN+Qt::Key_Alt+9"));
DEF( I18N_NOOP("Window to Taskbar Position 1", Qt::META+Qt::Key_Alt+1"));
DEF( I18N_NOOP("Window to Taskbar Position 2", Qt::META+Qt::Key_Alt+2"));
DEF( I18N_NOOP("Window to Taskbar Position 3", Qt::META+Qt::Key_Alt+3"));
DEF( I18N_NOOP("Window to Taskbar Position 4", Qt::META+Qt::Key_Alt+4"));
DEF( I18N_NOOP("Window to Taskbar Position 5", Qt::META+Qt::Key_Alt+5"));
DEF( I18N_NOOP("Window to Taskbar Position 6", Qt::META+Qt::Key_Alt+6"));
DEF( I18N_NOOP("Window to Taskbar Position 7", Qt::META+Qt::Key_Alt+7"));
DEF( I18N_NOOP("Window to Taskbar Position 8", Qt::META+Qt::Key_Alt+8"));
DEF( I18N_NOOP("Window to Taskbar Position 9", Qt::META+Qt::Key_Alt+9"));
*/
#undef DEF
#undef DEF2
#undef WIN
#undef ALT
#undef SHIFT
#undef CTRL

View file

@ -263,7 +263,7 @@ void KCommonDecoration::resetLayout()
// shown instead of the window contents in decoration previews
if(isPreview() ) {
m_previewWidget = new QLabel(i18n("<center><b>%1 preview</b></center>").arg(visibleName() ), widget());
m_previewWidget = new QLabel(i18n("<center><b>%1 preview</b></center>", visibleName() ), widget());
m_previewWidget->show();
}

View file

@ -157,7 +157,7 @@ bool KDecorationPlugins::loadPlugin( QString nameStr )
}
if(!create_ptr)
{
error( i18n( "The library %1 is not a KWin plugin." ).arg( path ));
error( i18n( "The library %1 is not a KWin plugin.", path ));
library->unload();
return false;
}

View file

@ -146,7 +146,7 @@ void Placement::placeSmart(Client* c, const QRect& area, Policy /*next*/ )
int desktop = c->desktop() == 0 || c->isOnAllDesktops() ? m_WorkspacePtr->currentDesktop() : c->desktop();
int cxl, cxr, cyt, cyb; //temp coords
int xl, xr, yt, yb; //temp coords
int xl, xr, yt, yb; //temp coords
int basket; //temp holder
// get the maximum allowed windows space
@ -402,7 +402,7 @@ void Placement::placeCascaded (Client* c, QRect& area, Policy nextPlacement)
c->move(QPoint(xp, yp));
// new position
cci[dn].pos = QPoint(xp + delta_x, yp + delta_y);
cci[dn].pos = QPoint(xp + delta_x, yp + delta_y);
}
/*!

View file

@ -68,7 +68,7 @@ void PopupInfo::reset()
setGeometry(
(r.width()-w)/2 + r.x(), r.height()/2-fontMetrics().height()-10 + r.y(),
w, fontMetrics().height() + 20 );
w, fontMetrics().height() + 20 );
}

2
sm.cpp
View file

@ -94,7 +94,7 @@ void Workspace::storeSession( KConfig* config, SMSavePhase phase )
config->writeEntry( QString("wmClientMachine")+n, c->wmClientMachine( true ).constData() );
config->writeEntry( QString("resourceName")+n, c->resourceName().constData() );
config->writeEntry( QString("resourceClass")+n, c->resourceClass().constData() );
config->writeEntry( QString("geometry")+n, QRect( c->calculateGravitation(true), c->clientSize() ) ); // FRAME
config->writeEntry( QString("geometry")+n, QRect( c->calculateGravitation(true), c->clientSize() ) ); // FRAME
config->writeEntry( QString("restore")+n, c->geometryRestore() );
config->writeEntry( QString("fsrestore")+n, c->geometryFSRestore() );
config->writeEntry( QString("maximize")+n, (int) c->maximizeMode() );

View file

@ -27,13 +27,13 @@ License. See the file "COPYING" for the exact licensing terms.
#include <kstringhandler.h>
#include <stdarg.h>
#include <kdebug.h>
#include <kglobalaccel.h>
#include <kkeynative.h>
#include <kglobalsettings.h>
#include <kiconeffect.h>
#include <X11/keysym.h>
#include <X11/keysymdef.h>
#include <QX11Info>
#include <kactioncollection.h>
#include <kkeyserver.h>
// specify externals before namespace
@ -668,32 +668,32 @@ static const int MAX_KEYSYMS = 4;
static uint alt_keysyms[ MAX_KEYSYMS ];
static uint win_keysyms[ MAX_KEYSYMS ];
static bool areModKeysDepressed( const KKeySequence& seq )
static bool areModKeysDepressed( const QKeySequence& seq )
{
uint rgKeySyms[10];
int nKeySyms = 0;
if( seq.isNull())
if( seq.isEmpty())
return false;
int mod = seq.key(seq.count()-1).modFlags();
int mod = seq[seq.count()-1] & Qt::KeyboardModifierMask;
if ( mod & KKey::SHIFT )
if ( mod & Qt::SHIFT )
{
rgKeySyms[nKeySyms++] = XK_Shift_L;
rgKeySyms[nKeySyms++] = XK_Shift_R;
}
if ( mod & KKey::CTRL )
if ( mod & Qt::CTRL )
{
rgKeySyms[nKeySyms++] = XK_Control_L;
rgKeySyms[nKeySyms++] = XK_Control_R;
}
if( mod & KKey::ALT )
if( mod & Qt::ALT )
{
for( int i = 0;
i < MAX_KEYSYMS && alt_keysyms[ i ] != NoSymbol;
++i )
rgKeySyms[nKeySyms++] = alt_keysyms[ i ];
}
if( mod & KKey::WIN )
if( mod & Qt::META )
{
for( int i = 0;
i < MAX_KEYSYMS && win_keysyms[ i ] != NoSymbol;
@ -706,7 +706,7 @@ static bool areModKeysDepressed( const KKeySequence& seq )
static bool areModKeysDepressed( const KShortcut& cut )
{
for( unsigned int i = 0;
for( int i = 0;
i < cut.count();
++i )
{
@ -724,7 +724,7 @@ void TabBox::updateKeyMapping()
int altpos = 0;
int winpos = 0;
int winmodpos = -1;
int winmod = KKeyNative::modXWin();
int winmod = KKeyServer::modXMeta();
while( winmod > 0 ) // get position of the set bit in winmod
{
winmod >>= 1;
@ -1004,15 +1004,15 @@ void Workspace::oneStepThroughDesktopList( bool forward )
/*!
Handles holding alt-tab / control-tab
*/
void Workspace::tabBoxKeyPress( const KKeyNative& keyX )
void Workspace::tabBoxKeyPress( int keyQt )
{
bool forward = false;
bool backward = false;
if (tab_grab)
{
forward = cutWalkThroughWindows.contains( keyX );
backward = cutWalkThroughWindowsReverse.contains( keyX );
forward = cutWalkThroughWindows.contains( keyQt );
backward = cutWalkThroughWindowsReverse.contains( keyQt );
if (forward || backward)
{
kDebug(125) << "== " << cutWalkThroughWindows.toStringInternal()
@ -1022,18 +1022,17 @@ void Workspace::tabBoxKeyPress( const KKeyNative& keyX )
}
else if (control_grab)
{
forward = cutWalkThroughDesktops.contains( keyX ) ||
cutWalkThroughDesktopList.contains( keyX );
backward = cutWalkThroughDesktopsReverse.contains( keyX ) ||
cutWalkThroughDesktopListReverse.contains( keyX );
forward = cutWalkThroughDesktops.contains( keyQt ) ||
cutWalkThroughDesktopList.contains( keyQt );
backward = cutWalkThroughDesktopsReverse.contains( keyQt ) ||
cutWalkThroughDesktopListReverse.contains( keyQt );
if (forward || backward)
walkThroughDesktops(forward);
}
if (control_grab || tab_grab)
{
uint keyQt = keyX.keyCodeQt();
if ( ((keyQt & 0xffff) == Qt::Key_Escape)
if ( ((keyQt & ~Qt::KeyboardModifierMask) == Qt::Key_Escape)
&& !(forward || backward) )
{ // if Escape is part of the shortcut, don't cancel
closeTabBox();
@ -1058,10 +1057,10 @@ void Workspace::closeTabBox()
void Workspace::tabBoxKeyRelease( const XKeyEvent& ev )
{
unsigned int mk = ev.state &
(KKeyNative::modXShift() |
KKeyNative::modXCtrl() |
KKeyNative::modXAlt() |
KKeyNative::modXWin() );
(KKeyServer::modXShift() |
KKeyServer::modXCtrl() |
KKeyServer::modXAlt() |
KKeyServer::modXMeta() );
// ev.state is state before the key release, so just checking mk being 0 isn't enough
// using XQueryPointer() also doesn't seem to work well, so the check that all
// modifiers are released: only one modifier is active and the currently released

View file

@ -10,9 +10,9 @@ using namespace std;
const int gravities[ 10 ] =
{
NorthWestGravity,
NorthGravity,
NorthGravity,
NorthEastGravity,
WestGravity,
WestGravity,
CenterGravity,
EastGravity,
SouthWestGravity,

View file

@ -34,6 +34,8 @@ License. See the file "COPYING" for the exact licensing terms.
#include <QMenu>
#include <QVBoxLayout>
#include <kauthorized.h>
#include <kactioncollection.h>
#include <kaction.h>
#include "killwindow.h"
#include "tabbox.h"
@ -58,14 +60,14 @@ QMenu* Workspace::clientPopup()
advanced_popup->setFont(KGlobalSettings::menuFont());
connect( advanced_popup, SIGNAL( activated(int) ), this, SLOT( clientPopupActivated(int) ) );
advanced_popup->insertItem( SmallIconSet( "up" ),
i18n("Keep &Above Others")+'\t'+keys->shortcut("Window Above Other Windows").seq(0).toString(), Options::KeepAboveOp );
i18n("Keep &Above Others")+'\t'+keys->action("Window Above Other Windows")->shortcut().seq(0).toString(), Options::KeepAboveOp );
advanced_popup->insertItem( SmallIconSet( "down" ),
i18n("Keep &Below Others")+'\t'+keys->shortcut("Window Below Other Windows").seq(0).toString(), Options::KeepBelowOp );
i18n("Keep &Below Others")+'\t'+keys->action("Window Below Other Windows")->shortcut().seq(0).toString(), Options::KeepBelowOp );
advanced_popup->insertItem( SmallIconSet( "window_fullscreen" ),
i18n("&Fullscreen")+'\t'+keys->shortcut("Window Fullscreen").seq(0).toString(), Options::FullScreenOp );
advanced_popup->insertItem( i18n("&No Border")+'\t'+keys->shortcut("Window No Border").seq(0).toString(), Options::NoBorderOp );
i18n("&Fullscreen")+'\t'+keys->action("Window Fullscreen")->shortcut().seq(0).toString(), Options::FullScreenOp );
advanced_popup->insertItem( i18n("&No Border")+'\t'+keys->action("Window No Border")->shortcut().seq(0).toString(), Options::NoBorderOp );
advanced_popup->insertItem( SmallIconSet("key_bindings"),
i18n("Window &Shortcut...")+'\t'+keys->shortcut("Setup Window Shortcut").seq(0).toString(), Options::SetupWindowShortcutOp );
i18n("Window &Shortcut...")+'\t'+keys->action("Setup Window Shortcut")->shortcut().seq(0).toString(), Options::SetupWindowShortcutOp );
advanced_popup->insertItem( SmallIconSet( "wizard" ), i18n("&Special Window Settings..."), Options::WindowRulesOp );
advanced_popup->insertItem( SmallIconSet( "wizard" ), i18n("&Special Application Settings..."), Options::ApplicationRulesOp );
@ -88,11 +90,11 @@ QMenu* Workspace::clientPopup()
popup->insertItem(i18n("&Opacity"), trans_popup );
}
popup->insertItem( SmallIconSet( "move" ), i18n("&Move")+'\t'+keys->shortcut("Window Move").seq(0).toString(), Options::MoveOp );
popup->insertItem( i18n("Re&size")+'\t'+keys->shortcut("Window Resize").seq(0).toString(), Options::ResizeOp );
popup->insertItem( i18n("Mi&nimize")+'\t'+keys->shortcut("Window Minimize").seq(0).toString(), Options::MinimizeOp );
popup->insertItem( i18n("Ma&ximize")+'\t'+keys->shortcut("Window Maximize").seq(0).toString(), Options::MaximizeOp );
popup->insertItem( i18n("Sh&ade")+'\t'+keys->shortcut("Window Shade").seq(0).toString(), Options::ShadeOp );
popup->insertItem( SmallIconSet( "move" ), i18n("&Move")+'\t'+keys->action("Window Move")->shortcut().seq(0).toString(), Options::MoveOp );
popup->insertItem( i18n("Re&size")+'\t'+keys->action("Window Resize")->shortcut().seq(0).toString(), Options::ResizeOp );
popup->insertItem( i18n("Mi&nimize")+'\t'+keys->action("Window Minimize")->shortcut().seq(0).toString(), Options::MinimizeOp );
popup->insertItem( i18n("Ma&ximize")+'\t'+keys->action("Window Maximize")->shortcut().seq(0).toString(), Options::MaximizeOp );
popup->insertItem( i18n("Sh&ade")+'\t'+keys->action("Window Shade")->shortcut().seq(0).toString(), Options::ShadeOp );
popup->insertSeparator();
@ -103,7 +105,7 @@ QMenu* Workspace::clientPopup()
popup->insertSeparator();
}
popup->insertItem( SmallIconSet( "fileclose" ), i18n("&Close")+'\t'+keys->shortcut("Window Close").seq(0).toString(), Options::CloseOp );
popup->insertItem( SmallIconSet( "fileclose" ), i18n("&Close")+'\t'+keys->action("Window Close")->shortcut().seq(0).toString(), Options::CloseOp );
}
return popup;
}
@ -245,11 +247,15 @@ void Workspace::closeActivePopup()
*/
void Workspace::initShortcuts()
{
keys = new KGlobalAccel( this );
// a separate KGlobalAccel is needed for the shortcut for disabling global shortcuts,
keys = new KActionCollection( this );
KActionCollection* actionCollection = keys;
KAction* a = 0L;
// a separate KActionCollection is needed for the shortcut for disabling global shortcuts,
// otherwise it would also disable itself
disable_shortcuts_keys = new KGlobalAccel( this );
disable_shortcuts_keys->disableBlocking( true );
disable_shortcuts_keys = new KActionCollection( this );
// FIXME KAccel port... needed?
//disable_shortcuts_keys->disableBlocking( true );
#define IN_KWIN
#include "kwinbindings.cpp"
readShortcuts();
@ -257,19 +263,15 @@ void Workspace::initShortcuts()
void Workspace::readShortcuts()
{
keys->readSettings();
disable_shortcuts_keys->readSettings();
KGlobalAccel::self()->readSettings();
cutWalkThroughDesktops = keys->shortcut("Walk Through Desktops");
cutWalkThroughDesktopsReverse = keys->shortcut("Walk Through Desktops (Reverse)");
cutWalkThroughDesktopList = keys->shortcut("Walk Through Desktop List");
cutWalkThroughDesktopListReverse = keys->shortcut("Walk Through Desktop List (Reverse)");
cutWalkThroughWindows = keys->shortcut("Walk Through Windows");
cutWalkThroughWindowsReverse = keys->shortcut("Walk Through Windows (Reverse)");
cutWalkThroughDesktops = keys->action("Walk Through Desktops")->shortcut();
cutWalkThroughDesktopsReverse = keys->action("Walk Through Desktops (Reverse)")->shortcut();
cutWalkThroughDesktopList = keys->action("Walk Through Desktop List")->shortcut();
cutWalkThroughDesktopListReverse = keys->action("Walk Through Desktop List (Reverse)")->shortcut();
cutWalkThroughWindows = keys->action("Walk Through Windows")->shortcut();
cutWalkThroughWindowsReverse = keys->action("Walk Through Windows (Reverse)")->shortcut();
keys->updateConnections();
disable_shortcuts_keys->updateConnections();
delete popup;
popup = NULL; // so that it's recreated next time
desk_popup = NULL;
@ -316,15 +318,17 @@ void Workspace::setupWindowShortcutDone( bool ok )
void Workspace::clientShortcutUpdated( Client* c )
{
QString key = QString::number( c->window());
client_keys->remove( key );
KAction* action = client_keys->action( key.toLatin1().constData() );
if( !c->shortcut().isNull())
{
client_keys->insert( key, key );
client_keys->setShortcut( key, c->shortcut());
client_keys->setSlot( key, c, SLOT( shortcutActivated()));
client_keys->setActionEnabled( key, true );
action->setShortcut(c->shortcut());
connect(action, SIGNAL(triggered(bool)), c, SLOT(shortcutActivated()));
action->setEnabled( true );
}
else
{
delete action;
}
client_keys->updateConnections();
}
void Workspace::clientPopupActivated( int id )

View file

@ -336,24 +336,24 @@ void ShortcutDialog::accept()
;
++i )
{
KKeySequence seq = shortcut().seq( i );
if( seq.isNull())
QKeySequence seq = shortcut().seq( i );
if( seq.isEmpty())
break;
if( seq.key( 0 ) == Qt::Key_Escape )
if( seq[0] == Qt::Key_Escape )
{
reject();
return;
}
if( seq.key( 0 ) == Qt::Key_Space )
if( seq[0] == Qt::Key_Space )
{ // clear
setShortcut( KShortcut());
KShortcutDialog::accept();
return;
}
if( seq.key( 0 ).modFlags() == 0 )
if( (seq[0] & Qt::KeyboardModifierMask) == 0 )
{ // no shortcuts without modifiers
KShortcut cut = shortcut();
cut.setSeq( i, KKeySequence());
cut.setSeq( i, QKeySequence());
setShortcut( cut );
return;
}

View file

@ -30,6 +30,8 @@ License. See the file "COPYING" for the exact licensing terms.
#include <QDesktopWidget>
#include <QToolButton>
#include <kipc.h>
#include <kactioncollection.h>
#include <kaction.h>
#include "plugins.h"
#include "client.h"
@ -188,7 +190,7 @@ Workspace::Workspace( bool restore )
1
);
client_keys = new KGlobalAccel( this );
client_keys = new KActionCollection( this );
initShortcuts();
tab_box = new TabBox( this );
popupinfo = new PopupInfo( );
@ -966,7 +968,7 @@ void Workspace::loadDesktopSettings()
for(int i = 1; i <= n; i++)
{
QString s = group.readEntry(QString("Name_%1").arg(i),
i18n("Desktop %1").arg(i));
i18n("Desktop %1", i));
rootInfo->setDesktopName( i, s.toUtf8().data() );
desktop_focus_chain[i-1] = i;
}
@ -986,7 +988,7 @@ void Workspace::saveDesktopSettings()
for(int i = 1; i <= number_of_desktops; i++)
{
QString s = desktopName( i );
QString defaultvalue = i18n("Desktop %1").arg(i);
QString defaultvalue = i18n("Desktop %1", i);
if ( s.isEmpty() )
{
s = defaultvalue;
@ -1910,7 +1912,7 @@ bool Workspace::keyPressMouseEmulation( XKeyEvent& ev )
QCursor::setPos( pos );
if ( mouse_emulation_state )
mouse_emulation_state = sendFakedMouseEvent( pos, mouse_emulation_window, EmuMove, 0, mouse_emulation_state );
mouse_emulation_state = sendFakedMouseEvent( pos, mouse_emulation_window, EmuMove, 0, mouse_emulation_state );
return true;
}
@ -2029,7 +2031,7 @@ void Workspace::createBorderWindows()
CopyFromParent, InputOnly,
CopyFromParent,
valuemask, &attributes);
XMapWindow(QX11Info::display(), electric_right_border);
XMapWindow(QX11Info::display(), electric_right_border);
// Set XdndAware on the windows, so that DND enter events are received (#86998)
Atom version = 4; // XDND version
XChangeProperty( QX11Info::display(), electric_top_border, atoms->xdnd_aware, XA_ATOM,
@ -2342,27 +2344,29 @@ void Workspace::helperDialog( const QString& message, const Client* c )
QString type;
if( message == "noborderaltf3" )
{
QString shortcut = QString( "%1 (%2)" ).arg( keys->label( "Window Operations Menu" ))
.arg( keys->shortcut( "Window Operations Menu" ).seq( 0 ).toString());
KAction* action = keys->action( "Window Operations Menu" );
QString shortcut = QString( "%1 (%2)" ).arg( action->text() )
.arg( action->shortcut().seq( 0 ).toString());
args << "--msgbox" <<
i18n( "You have selected to show a window without its border.\n"
"Without the border, you will not be able to enable the border "
"again using the mouse: use the window operations menu instead, "
"activated using the %1 keyboard shortcut." )
.arg( shortcut );
"activated using the %1 keyboard shortcut." ,
shortcut );
type = "altf3warning";
}
else if( message == "fullscreenaltf3" )
{
QString shortcut = QString( "%1 (%2)" ).arg( keys->label( "Window Operations Menu" ))
.arg( keys->shortcut( "Window Operations Menu" ).seq( 0 ).toString());
KAction* action = keys->action( "Window Operations Menu" );
QString shortcut = QString( "%1 (%2)" ).arg( action->text() )
.arg( action->shortcut().seq( 0 ).toString());
args << "--msgbox" <<
i18n( "You have selected to show a window in fullscreen mode.\n"
"If the application itself does not have an option to turn the fullscreen "
"mode off you will not be able to disable it "
"again using the mouse: use the window operations menu instead, "
"activated using the %1 keyboard shortcut." )
.arg( shortcut );
"activated using the %1 keyboard shortcut." ,
shortcut );
type = "altf3warning";
}
else

View file

@ -28,7 +28,7 @@ License. See the file "COPYING" for the exact licensing terms.
class QMenu;
class KConfig;
class KGlobalAccel;
class KActionCollection;
class KShortcutDialog;
class KStartupInfo;
class KStartupInfoId;
@ -450,7 +450,7 @@ class Workspace : public QObject, public KWinInterface, public KDecorationDefine
enum MouseEmulation { EmuPress, EmuRelease, EmuMove };
unsigned int sendFakedMouseEvent( QPoint pos, WId win, MouseEmulation type, int button, unsigned int state ); // returns the new state
void tabBoxKeyPress( const KKeyNative& keyX );
void tabBoxKeyPress( int key );
void tabBoxKeyRelease( const XKeyEvent& ev );
// electric borders
@ -545,11 +545,11 @@ class Workspace : public QObject, public KWinInterface, public KDecorationDefine
QMenu *desk_popup;
int desk_popup_index;
KGlobalAccel *keys;
KGlobalAccel *client_keys;
KActionCollection *keys;
KActionCollection *client_keys;
ShortcutDialog* client_keys_dialog;
Client* client_keys_client;
KGlobalAccel *disable_shortcuts_keys;
KActionCollection *disable_shortcuts_keys;
bool global_shortcuts_disabled;
bool global_shortcuts_disabled_for_client;