Merging back kcm modules from kwin_iii to HEAD.

svn path=/trunk/kdebase/kwin/; revision=251618
This commit is contained in:
Luboš Luňák 2003-09-16 19:34:03 +00:00
parent 0ef8354c30
commit d4cec4d60a
18 changed files with 677 additions and 90 deletions

View file

@ -1,14 +1,14 @@
INCLUDES = $(all_includes)
INCLUDES = -I$(srcdir)/../../lib $(all_includes)
kde_module_LTLIBRARIES = kcm_kwindecoration.la
kcm_kwindecoration_la_SOURCES = kwindecoration.cpp buttons.cpp kwindecorationIface.skel
noinst_HEADERS = kwindecoration.h kwindecorationIface.h buttons.h
kcm_kwindecoration_la_SOURCES = kwindecoration.cpp buttons.cpp kwindecorationIface.skel preview.cpp
noinst_HEADERS = kwindecoration.h kwindecorationIface.h buttons.h preview.h
kcm_kwindecoration_la_LDFLAGS = \
-module -avoid-version $(all_libraries) -no-undefined
kcm_kwindecoration_la_LIBADD = $(LIB_KDEUI)
kcm_kwindecoration_la_LIBADD = $(LIB_KDEUI) ../../lib/libkwin.la
METASOURCES = AUTO

View file

@ -10,7 +10,7 @@
Supports new kwin configuration plugins, and titlebar button position
modification via dnd interface.
Based on original "kwintheme" (Window Borders)
Based on original "kwintheme" (Window Borders)
Copyright (C) 2001 Rik Hemsley (rikkus) <rik@kde.org>
*/
@ -24,7 +24,7 @@
// General purpose button globals (I know I shouldn't use them :)
//===============================================================
enum Buttons{ BtnMenu=0, BtnSticky, BtnSpacer, BtnHelp,
enum Buttons{ BtnMenu=0, BtnOnAllDesktops, BtnSpacer, BtnHelp,
BtnMinimize, BtnMaximize, BtnClose, BtnCount };
QListBoxPixmap* buttons[ BtnCount ];
QPixmap* pixmaps[ BtnCount ];
@ -75,7 +75,7 @@ static int btnIndex( char btn )
return BtnMenu;
break;
case 'S':
return BtnSticky;
return BtnOnAllDesktops;
break;
case '_':
return BtnSpacer;
@ -118,7 +118,7 @@ ButtonSource::ButtonSource( QWidget* parent, const char* name )
{
// Create the listbox pixmaps
pixmaps[ BtnMenu ] = new QPixmap( button_menu_xpm );
pixmaps[ BtnSticky ] = new QPixmap( button_sticky_xpm );
pixmaps[ BtnOnAllDesktops ] = new QPixmap( button_on_all_desktops_xpm );
pixmaps[ BtnSpacer ] = new QPixmap( button_spacer_xpm );
pixmaps[ BtnHelp ] = new QPixmap( button_help_xpm );
pixmaps[ BtnMinimize ] = new QPixmap( button_minimize_xpm );
@ -128,7 +128,7 @@ ButtonSource::ButtonSource( QWidget* parent, const char* name )
// Add all possible button/spacer types to the list box.
buttons[ BtnMenu ] = new QListBoxPixmap( this, *pixmaps[BtnMenu], i18n("Menu") );
buttons[ BtnSticky] = new QListBoxPixmap( this, *pixmaps[BtnSticky], i18n("Sticky") );
buttons[ BtnOnAllDesktops] = new QListBoxPixmap( this, *pixmaps[BtnOnAllDesktops], i18n("On All Desktops") );
buttons[ BtnSpacer ] = new QListBoxPixmap( this, *pixmaps[BtnSpacer], i18n("Spacer") );
buttons[ BtnHelp ] = new QListBoxPixmap( this, *pixmaps[BtnHelp], i18n("Help") );
buttons[ BtnMinimize ] = new QListBoxPixmap( this, *pixmaps[BtnMinimize], i18n("Minimize") );
@ -156,8 +156,8 @@ void ButtonSource::hideAllButtons()
// Hide all listbox items which are visible
if (index( buttons[BtnMenu] ) != -1)
takeItem( buttons[BtnMenu] );
if (index( buttons[BtnSticky] )!= -1)
takeItem( buttons[BtnSticky] );
if (index( buttons[BtnOnAllDesktops] )!= -1)
takeItem( buttons[BtnOnAllDesktops] );
if (index( buttons[BtnHelp] ) != -1)
takeItem( buttons[BtnHelp] );
if (index( buttons[BtnMinimize] ) != -1)
@ -177,8 +177,8 @@ void ButtonSource::showAllButtons()
// Hide all listbox items which are visible
if (index( buttons[BtnMenu] ) == -1)
insertItem( buttons[BtnMenu] );
if (index( buttons[BtnSticky] )== -1)
insertItem( buttons[BtnSticky] );
if (index( buttons[BtnOnAllDesktops] )== -1)
insertItem( buttons[BtnOnAllDesktops] );
if (index( buttons[BtnHelp] ) == -1)
insertItem( buttons[BtnHelp] );
if (index( buttons[BtnMinimize] ) == -1)
@ -243,7 +243,7 @@ char ButtonSource::convertToChar( QString s )
// Convert the item to its character representation
if (s == i18n("Menu"))
return 'M';
else if (s == i18n("Sticky"))
else if (s == i18n("On All Desktops"))
return 'S';
else if (s == i18n("Spacer"))
return '_';
@ -373,7 +373,7 @@ void ButtonDropSite::dropEvent( QDropEvent* e )
buttonsRight.insert( strPos, btn );
repaint(false);
// Allow listbox to update itself
emit buttonAdded( btn );
emit changed();
@ -386,7 +386,7 @@ void ButtonDropSite::dropEvent( QDropEvent* e )
void ButtonDropSite::mousePressEvent( QMouseEvent* e )
{
mouseClickPoint = e->pos();
ButtonDrag* bd = new ButtonDrag( '*', this );
bd->dragCopy();
}
@ -457,7 +457,7 @@ void ButtonDropSite::buttonInsertedAtPoint( QPoint p, bool& isleft, int& strPos
{
strPos = i;
break;
}
}
ch = s[i];
offset += buttonWidth( ch.latin1() );
}
@ -514,7 +514,7 @@ char ButtonDropSite::removeButtonAtPoint( QPoint p )
return ch.latin1();
}
}
}
}
return '?';
}

View file

@ -38,7 +38,8 @@
#include <dcopclient.h>
#include "kwindecoration.h"
#include "preview.h"
#include <kdecoration_plugins_p.h>
// KCModule plugin interface
// =========================
@ -46,11 +47,13 @@ typedef KGenericFactory<KWinDecorationModule, QWidget> KWinDecoFactory;
K_EXPORT_COMPONENT_FACTORY( kcm_kwindecoration, KWinDecoFactory("kcmkwindecoration") )
KWinDecorationModule::KWinDecorationModule(QWidget* parent, const char* name, const QStringList &)
: DCOPObject("KWinClientDecoration"), KCModule(KWinDecoFactory::instance(), parent, name),
pluginObject(0)
: DCOPObject("KWinClientDecoration"),
KCModule(KWinDecoFactory::instance(), parent, name),
kwinConfig("kwinrc"),
pluginObject(0)
{
KConfig kwinConfig("kwinrc");
kwinConfig.setGroup("Style");
plugins = new KDecorationPlugins( &kwinConfig );
QVBoxLayout* layout = new QVBoxLayout(this);
tabWidget = new QTabWidget( this );
@ -63,34 +66,37 @@ KWinDecorationModule::KWinDecorationModule(QWidget* parent, const char* name, co
hbox->setSpacing(KDialog::spacingHint());
// QLabel *lbl = new QLabel( i18n("&Decoration:"), hbox );
decorationList = new KComboBox( hbox );
hbox->setStretchFactor(decorationList, 10);
// lbl->setBuddy(decorationList);
QString whatsThis = i18n("Select the window decoration. This is the look and feel of both "
"the window borders and the window handle.");
// QWhatsThis::add(lbl, whatsThis);
QWhatsThis::add(decorationList, whatsThis);
QLabel *lbl = new QLabel( i18n("Decoration Options"), pluginPage );
QFrame* line = new QFrame( pluginPage );
line->setFrameStyle( QFrame::HLine | QFrame::Plain );
pluginConfigWidget = new QVBox(pluginPage);
QVBoxLayout* pluginLayout = new QVBoxLayout(pluginPage, KDialog::marginHint(), KDialog::spacingHint());
pluginLayout->addWidget(hbox);
pluginLayout->addSpacing(KDialog::spacingHint());
pluginLayout->addWidget(lbl);
pluginLayout->addWidget(line);
pluginLayout->addWidget(pluginConfigWidget);
pluginLayout->addStretch(10);
noPluginSettings = new QLabel( pluginConfigWidget);
noPluginSettings->hide();
// Save this for later...
// cbUseMiniWindows = new QCheckBox( i18n( "Render mini &titlebars for all windows"), checkGroup );
// QWhatsThis::add( cbUseMiniWindows, i18n( "Note that this option is not available on all styles yet!" ) );
QFrame* preview_frame = new QFrame( pluginPage );
preview_frame->setFrameShape( QFrame::NoFrame );
QVBoxLayout* preview_layout = new QVBoxLayout( preview_frame, 0, KDialog::spacingHint());
preview = new KDecorationPreview( preview_frame );
preview_layout->addWidget( preview );
pluginLayout->addWidget( preview_frame );
pluginLayout->setStretchFactor( preview_frame, 10 );
pluginSettingsLbl = new QLabel( i18n("Decoration Options"), pluginPage );
pluginSettingsLine = new QFrame( pluginPage );
pluginSettingsLine ->setFrameStyle( QFrame::HLine | QFrame::Plain );
pluginConfigWidget = new QVBox(pluginPage);
pluginLayout->addWidget(pluginSettingsLbl );
pluginLayout->addWidget(pluginSettingsLine);
pluginLayout->addWidget(pluginConfigWidget);
// Page 2 (Button Selector)
buttonPage = new QVBox( tabWidget );
QVBox* buttonPage = new QVBox( tabWidget );
buttonPage->setSpacing( KDialog::spacingHint() );
buttonPage->setMargin( KDialog::marginHint() );
@ -147,6 +153,8 @@ KWinDecorationModule::KWinDecorationModule(QWidget* parent, const char* name, co
KWinDecorationModule::~KWinDecorationModule()
{
delete preview; // needs to be destroyed before plugins
delete plugins;
}
@ -169,7 +177,7 @@ void KWinDecorationModule::findDecorations()
KDesktopFile desktopFile(filename);
QString libName = desktopFile.readEntry("X-KDE-Library");
if (!libName.isEmpty())
if (!libName.isEmpty() && libName.startsWith( "kwin3_" ))
{
DecorationInfo di;
di.name = desktopFile.readName();
@ -213,7 +221,7 @@ void KWinDecorationModule::slotChangeDecoration( const QString & text)
// This is the selection handler setting
void KWinDecorationModule::slotSelectionChanged()
{
emit changed(true);
setChanged(true);
}
@ -259,10 +267,9 @@ QString KWinDecorationModule::decorationLibName( const QString& name )
void KWinDecorationModule::resetPlugin( KConfig* conf, const QString& currentDecoName )
{
// Config names are "kwin_icewm_config"
// for "kwin_icewm" kwin client
// for "kwin3_icewm" kwin client
QString oldName = oldLibraryName;
oldName += "_config";
QString oldName = styleToConfigLib( oldLibraryName );
QString currentName;
if (!currentDecoName.isEmpty())
@ -270,7 +277,14 @@ void KWinDecorationModule::resetPlugin( KConfig* conf, const QString& currentDec
else
currentName = currentLibraryName; // Use what was read from readConfig()
currentName += "_config";
if( plugins->loadPlugin( currentName )
&& preview->recreateDecoration( plugins ))
preview->enablePreview();
else
preview->disablePreview();
plugins->destroyPreviousPlugin();
currentName = styleToConfigLib( currentName );
// Delete old plugin widget if it exists
delete pluginObject;
@ -298,13 +312,16 @@ void KWinDecorationModule::resetPlugin( KConfig* conf, const QString& currentDec
connect( this, SIGNAL(pluginLoad(KConfig*)), pluginObject, SLOT(load(KConfig*)) );
connect( this, SIGNAL(pluginSave(KConfig*)), pluginObject, SLOT(save(KConfig*)) );
connect( this, SIGNAL(pluginDefaults()), pluginObject, SLOT(defaults()) );
noPluginSettings->hide();
pluginSettingsLbl->show();
pluginSettingsLine->show();
pluginConfigWidget->show();
return;
}
}
noPluginSettings->setText(i18n("There are no special options available for the <strong>%1</strong> window decoration.").arg(currentDecoName));
noPluginSettings->show();
pluginSettingsLbl->hide();
pluginSettingsLine->hide();
pluginConfigWidget->hide();
}
@ -345,7 +362,7 @@ void KWinDecorationModule::readConfig( KConfig* conf )
bool customPositions = conf->readBoolEntry("CustomButtonPositions", false);
cbUseCustomButtonPositions->setChecked( customPositions );
buttonBox->setEnabled( customPositions );
// Menu and sticky buttons are default on LHS
// Menu and onAllDesktops buttons are default on LHS
dropSite->buttonsLeft = conf->readEntry("ButtonsOnLeft", "MS");
// Help, Minimize, Maximize and Close are default on RHS
dropSite->buttonsRight = conf->readEntry("ButtonsOnRight", "HIAX");
@ -360,7 +377,7 @@ void KWinDecorationModule::readConfig( KConfig* conf )
for(i = 0; i < dropSite->buttonsRight.length(); i++)
buttonSource->hideButton( dropSite->buttonsRight[i].latin1() );
emit changed(false);
setChanged(false);
}
@ -387,7 +404,7 @@ void KWinDecorationModule::writeConfig( KConfig* conf )
currentLibraryName = libName;
// We saved, so tell kcmodule that there have been no new user changes made.
emit changed(false);
setChanged(false);
}
@ -457,12 +474,19 @@ void KWinDecorationModule::defaults()
emit pluginDefaults();
}
QString KWinDecorationModule::styleToConfigLib( QString& styleLib )
{
if( styleLib.startsWith( "kwin3_" ))
return "kwin_" + styleLib.mid( 6 ) + "_config";
else
return styleLib + "_config";
}
QString KWinDecorationModule::quickHelp() const
{
return i18n( "<h1>Window Decorations</h1>"
"<p>This module allows you to choose the window border decorations, "
"as well as titlebar button positions and custom decoration options.</p>"
return i18n( "<h1>Window Manager Decoration</h1>"
"<p>This module allows you to choose the window border decorations, "
"as well as titlebar button positions and custom decoration options.</p>"
"To choose a theme for your window decoration click on its name and apply your choice by clicking the \"Apply\" button below."
" If you don't want to apply your choice you can click the \"Reset\" button to discard your changes."
"<p>You can configure each theme in the \"Configure [...]\" tab. There are different options specific for each theme.</p>"

View file

@ -27,6 +27,7 @@ Name[fa]=تزیینات پنجره
Name[fi]=Ikkunoiden koristukset
Name[fr]=Décoration des fenêtres
Name[he]=קישוטי חלונות
Name[hr]=Dekoracija prozora
Name[hu]=Ablakstílus
Name[it]=Decorazioni finestra
Name[ja]=
@ -76,6 +77,7 @@ Comment[fa]=تنظیم نما و حس عنوان پنجره
Comment[fi]=Aseta ikkunoiden otsikoiden ulkonäköä ja tuntumaa
Comment[fr]=Configuration de l'apparence des fenêtres en mosaïque
Comment[he]=שינוי הגדרות המראה והתחושה של כותרות חלונות
Comment[hr]=Podešavanje izgleda naslova prozora
Comment[hu]=Az ablakok címsorának megjelenési beállításai
Comment[it]=Configura l'aspetto e il comportamento dei titoli delle finestre
Comment[ja]=
@ -122,7 +124,6 @@ Keywords[fa]=kwin,window,manager,border,style,theme,look,feel,layout,button,hand
Keywords[fi]=kwin,ikkuna,ikkunamanageri,ikkunoinnin hallintaohjelma,tausta,tyyli,teema,ulkonäkö,tuntuma,ulkoasu,painike,kahva,kulma,kwm,kehys
Keywords[fr]=kwin,fenêtre,gestionnaire,bordure,style,thème,apparence,ergonomie,disposition,bouton,poignée,bord,kwm,décoration
Keywords[he]=מנהל חלונות,חלונות,מנהל,גבול,מסגרת,סגנון,ערכה,ערכת נושא,מראה,תחושה,פריסה,תצוגה,כפתור,ידית,קצה,קישוט
Keywords[hr]=kwin,window,manager,border,style,theme,look,feel,layout,button,handle,edge,kwm,decoration,prozor,upravitelj,okvir,stil,tema,izgled,osjećaj,gumb,rub, dekoracija
Keywords[hu]=KWin,ablak,kezelő,szegély,stílus,téma,kinézet,megjelenés,elrendezés,nyomógomb,fogantyú,perem,kwm,ablakstílus
Keywords[is]=kwin,gluggi,gluggastjóri,gluggar,kantar,rammi,skreyting,þema,stíll,útlit,takki,kwm,skraut
Keywords[it]=kwin,finestra,window manager,bordo,stile,tema,aspetto,pulsante,maniglia,bordo,kwm,decorazione

View file

@ -10,7 +10,7 @@
Supports new kwin configuration plugins, and titlebar button position
modification via dnd interface.
Based on original "kwintheme" (Window Borders)
Based on original "kwintheme" (Window Borders)
Copyright (C) 2001 Rik Hemsley (rikkus) <rik@kde.org>
*/
@ -19,7 +19,7 @@
#include <kcmodule.h>
#include <dcopobject.h>
#include "buttons.h"
#include <buttons.h>
#include <kconfig.h>
#include <klibloader.h>
@ -31,6 +31,9 @@ class QLabel;
class QTabWidget;
class QVBox;
class KDecorationPlugins;
class KDecorationPreview;
// Stores themeName and its corresponding library Name
struct DecorationInfo
{
@ -74,6 +77,7 @@ class KWinDecorationModule : public KCModule, virtual public KWinDecorationIface
void updateSelection();
QString decorationLibName( const QString& name );
QString decorationName ( QString& libName );
static QString styleToConfigLib( QString& styleLib );
void resetPlugin( KConfig* conf, const QString& currentDecoName = QString::null );
void resetKWin();
@ -82,23 +86,28 @@ class KWinDecorationModule : public KCModule, virtual public KWinDecorationIface
// Page 1
KComboBox* decorationList;
QValueList<DecorationInfo> decorations;
KDecorationPreview* preview;
KDecorationPlugins* plugins;
KConfig kwinConfig;
QCheckBox* cbUseCustomButtonPositions;
// QCheckBox* cbUseMiniWindows;
QCheckBox* cbShowToolTips;
QObject* pluginObject;
QLabel* pluginSettingsLbl;
QFrame* pluginSettingsLine;
QWidget* pluginConfigWidget;
QString currentLibraryName;
QString oldLibraryName;
QObject* (*allocatePlugin)( KConfig* conf, QWidget* parent );
// Page 2
ButtonDropSite* dropSite;
ButtonSource* buttonSource;
// Page 3
QObject* pluginObject;
QLabel* noPluginSettings;
QString currentLibraryName;
QString oldLibraryName;
QWidget* pluginConfigWidget;
QVBox* buttonPage;
QObject* (*allocatePlugin)( KConfig* conf, QWidget* parent );
QGroupBox* buttonBox;
QVBox* buttonPage;
};

View file

@ -226,7 +226,7 @@ const char * button_minimize_xpm[] = {
/* XPM */
const char * button_sticky_xpm[] = {
const char * button_on_all_desktops_xpm[] = {
"20 20 17 1",
" c None",
". c #F3F3F3",

View file

@ -0,0 +1,357 @@
#include "preview.h"
#include <kapplication.h>
#include <klocale.h>
#include <kconfig.h>
#include <kglobal.h>
#include <qlabel.h>
#include <qstyle.h>
#include <kiconloader.h>
#include <X11/Xlib.h>
#include <X11/extensions/shape.h>
#include <kdecoration_plugins_p.h>
// FRAME the preview doesn't update to reflect the changes done in the kcm
KDecorationPreview::KDecorationPreview( QWidget* parent, const char* name )
: QWidget( parent, name )
{
options = new KDecorationPreviewOptions;
bridge[Active] = new KDecorationPreviewBridge( this, true );
bridge[Inactive] = new KDecorationPreviewBridge( this, false );
deco[Active] = deco[Inactive] = NULL;
no_preview = new QLabel( i18n( "No preview available.\n"
"Most probably there\n"
"was a problem loading the plugin." ), this );
no_preview->setAlignment( AlignCenter );
setMinimumSize( 100, 100 );
no_preview->resize( size());
// FRAME i neco, co bude v pozici client window?
}
KDecorationPreview::~KDecorationPreview()
{
for ( int i = 0; i < NumWindows; i++ )
{
delete deco[i];
delete bridge[i];
}
delete options;
}
bool KDecorationPreview::recreateDecoration( KDecorationPlugins* plugins )
{
for ( int i = 0; i < NumWindows; i++ )
{
delete deco[i]; // FRAME deletes also window
deco[i] = plugins->createDecoration( bridge[i] );
deco[i]->init();
}
if( deco[Active] == NULL || deco[Inactive] == NULL )
{
return false;
}
positionPreviews();
deco[Inactive]->widget()->show();
deco[Active]->widget()->show();
return true;
}
void KDecorationPreview::enablePreview()
{
no_preview->hide();
}
void KDecorationPreview::disablePreview()
{
delete deco[Active];
delete deco[Inactive];
deco[Active] = deco[Inactive] = NULL;
no_preview->show();
}
void KDecorationPreview::resizeEvent( QResizeEvent* e )
{
QWidget::resizeEvent( e );
positionPreviews();
}
void KDecorationPreview::positionPreviews()
{
int titleBarHeight, leftBorder, rightBorder, xoffset, dummy;
QRect geometry;
QSize size;
no_preview->resize( this->size() );
if ( !deco[Active] || !deco[Inactive] )
return;
deco[Active]->borders( dummy, dummy, titleBarHeight, dummy );
deco[Inactive]->borders( leftBorder, rightBorder, dummy, dummy );
titleBarHeight = kMin( int( titleBarHeight * .9 ), 30 );
xoffset = kMin( kMax( 10, QApplication::reverseLayout()
? leftBorder : rightBorder ), 30 );
// Resize the active window
size = QSize( width() - xoffset, height() - titleBarHeight )
.expandedTo( deco[Active]->minimumSize() );
geometry = QRect( QPoint( 0, titleBarHeight ), size );
deco[Active]->widget()->setGeometry( QStyle::visualRect( geometry, this ) );
// Resize the inactive window
size = QSize( width() - xoffset, height() - titleBarHeight )
.expandedTo( deco[Inactive]->minimumSize() );
geometry = QRect( QPoint( xoffset, 0 ), size );
deco[Inactive]->widget()->setGeometry( QStyle::visualRect( geometry, this ) );
}
void KDecorationPreview::setPreviewMask( const QRegion& reg, int mode, bool active )
{
QWidget *widget = active ? deco[Active]->widget() : deco[Inactive]->widget();
// FRAME duped from client.cpp
if( mode == Unsorted )
{
XShapeCombineRegion( qt_xdisplay(), widget->winId(), ShapeBounding, 0, 0,
reg.handle(), ShapeSet );
}
else
{
QMemArray< QRect > rects = reg.rects();
XRectangle* xrects = new XRectangle[ rects.count() ];
for( unsigned int i = 0;
i < rects.count();
++i )
{
xrects[ i ].x = rects[ i ].x();
xrects[ i ].y = rects[ i ].y();
xrects[ i ].width = rects[ i ].width();
xrects[ i ].height = rects[ i ].height();
}
XShapeCombineRectangles( qt_xdisplay(), widget->winId(), ShapeBounding, 0, 0,
xrects, rects.count(), ShapeSet, mode );
delete[] xrects;
}
}
QRect KDecorationPreview::windowGeometry( bool active ) const
{
QWidget *widget = active ? deco[Active]->widget() : deco[Inactive]->widget();
return widget->geometry();
}
KDecorationPreviewBridge::KDecorationPreviewBridge( KDecorationPreview* p, bool a )
: preview( p ), active( a )
{
}
QWidget* KDecorationPreviewBridge::initialParentWidget() const
{
return preview;
}
Qt::WFlags KDecorationPreviewBridge::initialWFlags() const
{
return 0;
}
bool KDecorationPreviewBridge::isActive() const
{
return active;
}
bool KDecorationPreviewBridge::isCloseable() const
{
return true;
}
bool KDecorationPreviewBridge::isMaximizable() const
{
return true;
}
KDecoration::MaximizeMode KDecorationPreviewBridge::maximizeMode() const
{
return KDecoration::MaximizeRestore;
}
bool KDecorationPreviewBridge::isMinimizable() const
{
return true;
}
bool KDecorationPreviewBridge::providesContextHelp() const
{
return true;
}
int KDecorationPreviewBridge::desktop() const
{
return 1;
}
bool KDecorationPreviewBridge::isModal() const
{
return false;
}
bool KDecorationPreviewBridge::isShadeable() const
{
return true;
}
bool KDecorationPreviewBridge::isShade() const
{
return false;
}
bool KDecorationPreviewBridge::keepAbove() const
{
return false;
}
bool KDecorationPreviewBridge::keepBelow() const
{
return false;
}
bool KDecorationPreviewBridge::isMovable() const
{
return true;
}
bool KDecorationPreviewBridge::isResizable() const
{
return true;
}
NET::WindowType KDecorationPreviewBridge::windowType( unsigned long ) const
{
return NET::Normal;
}
QIconSet KDecorationPreviewBridge::icon() const
{
return SmallIconSet( "xapp" );
}
QString KDecorationPreviewBridge::caption() const
{
return active ? i18n( "Active window" ) : i18n( "Inactive window" );
}
void KDecorationPreviewBridge::processMousePressEvent( QMouseEvent* )
{
}
void KDecorationPreviewBridge::showWindowMenu( QPoint )
{
}
void KDecorationPreviewBridge::performWindowOperation( WindowOperation )
{
}
void KDecorationPreviewBridge::setMask( const QRegion& reg, int mode )
{
preview->setPreviewMask( reg, mode, active );
}
bool KDecorationPreviewBridge::isPreview() const
{
return true;
}
QRect KDecorationPreviewBridge::geometry() const
{
return preview->windowGeometry( active );
}
QRect KDecorationPreviewBridge::iconGeometry() const
{
return QRect();
}
QWidget* KDecorationPreviewBridge::workspaceWidget() const
{
return preview;
}
void KDecorationPreviewBridge::closeWindow()
{
}
void KDecorationPreviewBridge::maximize( MaximizeMode )
{
}
void KDecorationPreviewBridge::minimize()
{
}
void KDecorationPreviewBridge::showContextHelp()
{
}
void KDecorationPreviewBridge::setDesktop( int )
{
}
void KDecorationPreviewBridge::titlebarDblClickOperation()
{
}
void KDecorationPreviewBridge::setShade( bool )
{
}
void KDecorationPreviewBridge::setKeepAbove( bool )
{
}
void KDecorationPreviewBridge::setKeepBelow( bool )
{
}
int KDecorationPreviewBridge::currentDesktop() const
{
return 1;
}
void KDecorationPreviewBridge::helperShowHide( bool )
{
}
KDecorationPreviewOptions::KDecorationPreviewOptions()
{
d = new KDecorationOptionsPrivate;
d->defaultKWinSettings();
updateSettings();
}
KDecorationPreviewOptions::~KDecorationPreviewOptions()
{
delete d;
}
unsigned long KDecorationPreviewOptions::updateSettings()
{
KConfig cfg( "kwinrc", true );
unsigned long changed = 0;
changed |= d->updateKWinSettings( &cfg );
return changed;
}
#include "preview.moc"

View file

@ -0,0 +1,99 @@
#ifndef KWINDECORATION_PREVIEW_H
#define KWINDECORATION_PREVIEW_H
// FRAME license
#include <qwidget.h>
#include <kdecoration_p.h>
class QLabel;
class KDecorationPreviewBridge;
class KDecorationPlugins;
class KDecorationOptions;
class KDecorationPreview
: public QWidget
{
Q_OBJECT
public:
// Note: Windows can't be added or removed without making changes to
// the code, since parts of it assume there's just an active
// and an inactive window.
enum Windows { Inactive = 0, Active, NumWindows };
KDecorationPreview( QWidget* parent = NULL, const char* name = NULL );
virtual ~KDecorationPreview();
bool recreateDecoration( KDecorationPlugins* plugin );
void enablePreview();
void disablePreview();
void setPreviewMask( const QRegion&, int, bool );
QRect windowGeometry( bool ) const;
protected:
virtual void resizeEvent( QResizeEvent* );
private:
void positionPreviews();
KDecorationOptions* options;
KDecorationPreviewBridge* bridge[NumWindows];
KDecoration* deco[NumWindows];
QLabel* no_preview;
};
class KDecorationPreviewBridge
: public KDecorationBridge
{
public:
KDecorationPreviewBridge( KDecorationPreview* preview, bool active );
virtual bool isActive() const;
virtual bool isCloseable() const;
virtual bool isMaximizable() const;
virtual MaximizeMode maximizeMode() const;
virtual bool isMinimizable() const;
virtual bool providesContextHelp() const;
virtual int desktop() const;
virtual bool isModal() const;
virtual bool isShadeable() const;
virtual bool isShade() const;
virtual bool keepAbove() const;
virtual bool keepBelow() const;
virtual bool isMovable() const;
virtual bool isResizable() const;
virtual NET::WindowType windowType( unsigned long supported_types ) const;
virtual QIconSet icon() const;
virtual QString caption() const;
virtual void processMousePressEvent( QMouseEvent* );
virtual void showWindowMenu( QPoint );
virtual void performWindowOperation( WindowOperation );
virtual void setMask( const QRegion&, int );
virtual bool isPreview() const;
virtual QRect geometry() const;
virtual QRect iconGeometry() const;
virtual QWidget* workspaceWidget() const;
virtual void closeWindow();
virtual void maximize( MaximizeMode mode );
virtual void minimize();
virtual void showContextHelp();
virtual void setDesktop( int desktop );
virtual void titlebarDblClickOperation();
virtual void setShade( bool set );
virtual void setKeepAbove( bool );
virtual void setKeepBelow( bool );
virtual int currentDesktop() const;
virtual QWidget* initialParentWidget() const;
virtual Qt::WFlags initialWFlags() const;
virtual void helperShowHide( bool show );
private:
KDecorationPreview* preview;
bool active;
};
class KDecorationPreviewOptions
: public KDecorationOptions
{
public:
KDecorationPreviewOptions();
virtual ~KDecorationPreviewOptions();
virtual unsigned long updateSettings();
};
#endif

View file

@ -16,6 +16,7 @@ Name[bg]=Действия
Name[bs]=Akcije
Name[ca]=Accions
Name[cs]=Činnosti
Name[cy]=Gweithredoedd
Name[da]=Handlinger
Name[de]=Aktionen
Name[el]=Ενέργειες
@ -26,10 +27,13 @@ Name[fa]=اعمال
Name[fi]=Toiminnot
Name[fo]=Tiltøk
Name[he]=פעולות
Name[hr]=Akcije
Name[hu]=Műveletek
Name[it]=Azioni
Name[ja]=
Name[lo]=
Name[lt]=Veiksmai
Name[mn]=Үйлдлүүл
Name[mt]=Azzjonijiet
Name[nb]=Handlinger
Name[nl]=Acties
@ -41,13 +45,17 @@ Name[pt_BR]=Ações
Name[ru]=Действия
Name[sk]=Akcie
Name[sl]=Dejanja
Name[sr]=Акције
Name[ss]=Tento
Name[sv]=Åtgärder
Name[ta]=¦ºÂø¸û
Name[th]=
Name[tr]=Eylemler
Name[uk]=Дії
Name[ven]=Nyito
Name[wa]=Accions
Name[xh]=Iintshukumo
Name[xx]=xxActionsxx
Name[zh_CN]=
Name[zh_TW]=
Name[zu]=Iminyakazo
@ -59,6 +67,7 @@ Comment[bg]=Конфигуриране настройки на мишка и к
Comment[bs]=Podesite postavke tastature i miša
Comment[ca]=Aquí podeu configurar l'arranjament del teclat i del ratolí
Comment[cs]=Nastavení klávesnice a myši
Comment[cy]=Ffurfweddu gosodiadau bysellfwrdd a llygoden
Comment[da]=Indstil tastatur og museopsætning
Comment[de]=Einstellungen für Tastatur und Maus festlegen
Comment[el]=Ρυθμίστε το πληκτρολόγιο και το ποντίκι
@ -69,10 +78,13 @@ Comment[fa]=تنظیمات صفحه کلید و موش
Comment[fi]=Aseta näppäimistöä ja hiirtä
Comment[fr]=Configure les réglages de clavier et de souris
Comment[he]=שינוי הגדרות המקלדת והעכבר
Comment[hr]=Podešavanje postavki tipkovnice i miša
Comment[hu]=A billentyűzet- és egérkezelés beállításai
Comment[it]=Configura le impostazioni della tastiera e del mouse
Comment[ja]=
Comment[lo]=
Comment[lt]=Konfigūruoti klaviatūros ir pelės nuostatas
Comment[mn]=Гар ба Хулгана тохируулах
Comment[nb]=Sett opp innstillinger for tastatur og mus
Comment[nl]=Configureer de instellingen van toetsenbord en muis
Comment[nn]=Innstillingar for tastatur og mus
@ -83,18 +95,24 @@ Comment[pt_BR]=Configura as preferências de teclado e mouse
Comment[ru]=Настройка параметров клавиатуры и мыши
Comment[sk]=Nastavenie klávesnice a myši
Comment[sl]=Nastavitve tipkovnice in miške
Comment[sr]=Подешавање поставки тастатуре и миша
Comment[sv]=Anpassa inställningar för tangentbord och mus
Comment[ta]=±Ä¢, Å¢¨ºôÀĨ¸ «¨ÁôÒ¸¨Ç ÅÊŨÁì¸Ä¡õ
Comment[th]=
Comment[tr]=Klavye ve fare ayarlarını buradan yapabilirsiniz
Comment[uk]=Налаштування клавіатури та мишки
Comment[ven]=Dzudzanyani mavhekanyele a mausu na khiibodo
Comment[wa]=Apontiaedjes del sori eyet del taprece
Comment[xh]=Qwalasela izicwangciso zebhodi yezitshixho neze mouse
Comment[xx]=xxConfigure keyboard and mouse settingsxx
Comment[zh_CN]=
Comment[zh_TW]=
Comment[zu]=Hlanganisela izilungiselelo zebhodi yokhiye kanye neze-mouse
Keywords=shade,maximise,maximize,minimize,minimise,lower,operations menu,titlebar,resize
Keywords[ca]=plegar,maximitzar,minimitzar,passar al davant,operaciones del menú, barra del títol,redimensionar
Keywords[cs]=zarolování,maximalizace,minimalizace,nabídka činností,titulek,změna velikosti
Keywords[cy]=arliwio,ehangu,lleihau,iselhau,dewislen gweithrediadau, bar y teitl, ail-feintio
Keywords[da]=skyg,maksimér,minimér,sænk,operationsmenu,titellinje,ændr størrelse
Keywords[de]=Fensterheber,Maximieren,Minimieren,Nach oben/unten,Titelleiste,Größe ändern
Keywords[el]=τύλιγμα,μεγιστοποίηση,μεγιστοποίηση,ελαχιστοποίηση,ελαχιστοποίηση,κατέβασμα,μενού χειρισμών,μπάρα τίτλου,αλλαγή μεγέθους
@ -107,6 +125,7 @@ Keywords[hu]=felgördítés,maximalizálás,maximalizált,minimalizálás,minima
Keywords[it]=arrotola,massimizza,ingrandisci,minimizza,alza,abbassa,menu operazioni, barra del titolo,titolo,ridimensiona,sposta
Keywords[ja]=,,,,,,,
Keywords[lt]=shade,maximise,maximize,minimize,minimise,lower,operations menu,titlebar,resize, išdidinti,sumažinti,paslėpti, operacijų meniu,antraštės juosta,pakeisti dydį
Keywords[mn]=Цонхны сүүдэр,Томсгох,Жижигсгэх,Дээшээ/доошоо, Толгойн самбар,Хэмжээ өөрчилөх, Үйлдэл цэс
Keywords[mt]=shade,maximise,maximize,minimize,minimise,lower,operations menu,titlebar,resize,massimizza,minimma,baxxi,ċekken,kabbar,daqqas
Keywords[nb]=shade,maximise,maximize,minimize,minimise,lower,operations menu,titlebar,resize, skygge,maksimer,minimer,små bokstaver,operasjoner,meny,tittel,skalere
Keywords[nl]= shade,oprollen,maximaliseren,minimaliseren,naar achtergrond,lower,menu,tibelbalk,grootte wijzigen
@ -117,12 +136,15 @@ Keywords[pt]=enrolar,maximizar,minimizar,baixar,menu de operações,barra de tí
Keywords[pt_BR]=esconder,maximizar,minimizar,menor,menu de operações,barra de operações,redimensionar
Keywords[sk]=zabalenie,maximalizácia,minimalizácia,presun dozadu,presun dopredu,operácie menu,titulok,zmena veľkosti
Keywords[sl]=senči,raztegni,povečaj,pomanjšaj,razpni,menu operacij,naslovna vrstica,velikost
Keywords[sr]=намотавање,максимизуј,минимизуј,ниже,мени операција,насловна линија,промена величине
Keywords[sv]=rulla upp,maximera,minimera,sänk,åtgärdsmeny,namnlist,ändra storlek
Keywords[ta]=¿¢Æø, ¦À⾡ìÌ,º¢È¢¾¡ìÌ, «ÖÅø ÀðÊ, ¾¨ÄôÒ ÀðÊ, «Ç¨Å Á¡üÚ, ¸£Æ¢ÈìÌ
Keywords[th]=,,,,,,
Keywords[tr]=topla,küçült,büyüt,indir,işlemler,araç çubuğu
Keywords[uk]=згорнути,мінімізувати,максимізувати,опустити, меню операцій,смужка титулу,зміна розміру
Keywords[ven]=kovhekana,engedza,engedza,fhungudza,fhungudza,fhasi,mashumele a menu, bara ya thoho,uitulula saizi
Keywords[xh]=umthunzi,yandisa,yandisa,ncipisa nciphisa,yehlisa,menu zemisebenzi,iba yewonga,yenza ubungakanani kwakhona
Keywords[xx]=xxshade,maximise,maximize,minimize,minimise,lower,operations menu,titlebar,resizexx
Keywords[zh_CN]=shade,maximise,maximize,minimize,minimise,lower,operations menu,titlebar,resize,,,,,,,
Keywords[zh_TW]=shade,maximise,maximize,minimize,minimise,lower,operations menu,titlebar,resize,,,,,,,
Keywords[zu]=umthunzi,khulisa,khulisa,nciphisa,nciphisa,okungezansi, imenu yemisebenzi,ibha yesihloko,shintsha usayizi

View file

@ -16,6 +16,7 @@ Name[bg]=Допълнителни
Name[bs]=Napredno
Name[ca]=Avançat
Name[cs]=Pokročilé
Name[cy]=Uwch
Name[da]=Avanceret
Name[de]=Erweitert
Name[el]=Για προχωρημένους
@ -28,11 +29,14 @@ Name[fi]=Edistynyt
Name[fo]=Tilkomið
Name[fr]=Avancé
Name[he]=מתקדם
Name[hr]=Napredno
Name[hu]=Speciális
Name[it]=Avanzate
Name[ja]=
Name[ko]=
Name[lo]=
Name[lt]=Sudėtingiau
Name[mn]=Өргөтгөсөн
Name[mt]=Avvanzat
Name[nb]=Avansert
Name[nl]=Geavanceerd
@ -44,13 +48,17 @@ Name[pt_BR]=Avançado
Name[ru]=Дополнительно
Name[sk]=Pokročilé
Name[sl]=Napredno
Name[sr]=Напредно
Name[ss]=Sembili
Name[sv]=Avancerat
Name[ta]=§ÁõÀð¼
Name[th]=
Name[tr]=Gelişmiş
Name[uk]=Додатково
Name[ven]=Zwa khwinesa
Name[wa]=Sipepieus
Name[xh]=Ebhekisa phambili
Name[xx]=xxAdvancedxx
Name[zh_CN]=
Name[zh_TW]=
Name[zu]=Okwezinga eliphezulu
@ -61,6 +69,7 @@ Comment[bg]=Конфигуриране на допълнителни парам
Comment[bs]=Podesite napredne mogućnosti upravljanja prozorima
Comment[ca]=Aquí podeu configurar les característiques avançades de la gestió de finestres
Comment[cs]=Nastavení pokročilých vlastností správce oken
Comment[cy]=Ffurfweddu Nodweddion Uwch Trefnu Ffenestri
Comment[da]=Indstil avancerede vindueshåndteringsegenskaber
Comment[de]=Erweiterte Fensterverwaltung einrichten
Comment[el]=Ρυθμίστε τα χαρακτηριστικά για προχωρημένους, της διαχείρισης παραθύρων
@ -71,10 +80,13 @@ Comment[fa]=تنظیم مدیریت پیشرفته‌ی پنجره‌ها
Comment[fi]=Aseta edistyneitä ikkunoinninhallintaominaisuuksia
Comment[fr]=Configuration les fonctionnalités de gestion avancée des fenêtres
Comment[he]=שינוי הגדרות מתקדמות של ניהול חלונות
Comment[hr]=Podešavanje naprednih svojstava upravitelja prozora
Comment[hu]=Az ablakkezelés speciális beállításai
Comment[it]=Configura le funzioni avanzate del gestore delle finestre
Comment[ja]=
Comment[lo]=
Comment[lt]=Konfigūruoti sudėtingesnes langų tvarkymo savybes
Comment[mn]=Өргөтгөсөн цонхны удирдлага тохируулах
Comment[nb]=Sett opp avansert vindusbehandling
Comment[nl]=Configureer de geavanceerde vensterbeheermogelijkheden
Comment[nn]=Set opp avanserte vindaugsbehandlarfunksjonar
@ -85,19 +97,24 @@ Comment[pt_BR]=Configura as características avançadas de gerenciamento de jane
Comment[ru]=Настройка дополнительных функций менеджера окон
Comment[sk]=Nastavenie pokročilých možností správy okien
Comment[sl]=Nastavitve dodatnih možnosti upravljanja oken
Comment[sr]=Подешавање напредних могућности управљања прозорима
Comment[sv]=Anpassa avancerade fönsterhanteringsfunktioner
Comment[ta]=º¡Çà §ÁÄ¡Çâý §ÁõÀð¼ ¾¢Èý¸¨Ç ÅÊŨÁì¸Ä¡õ
Comment[th]=
Comment[tr]=Gelişmiş pencere yönetim özelliklerini yapılandır
Comment[uk]=Налаштувати додаткові можливості керування вікнами
Comment[ven]=Dzudzanyani zwitenwa zwa vhulanguli ha khwinesa
Comment[xh]=Qwalasela imisebenzi esemqoka ebhekisa phambili yophatho lwe window
Comment[xx]=xxConfigure advanced window management featuresxx
Comment[zh_CN]=
Comment[zh_TW]=
Comment[zu]=Hlanganisela amalungu okuphathwa kwe-window yezinga eliphezulu
Keywords=shading,border,hover,active borders
Keywords[af]=shading,border,hover,active grense
Keywords[ca]=plegat,vora,desplegat automàtic,bores actives
Keywords[cs]=zarolování,vyrolování,okraj,přejezd myší,aktivní okraje
Keywords[cy]=arliwio,ymyl,hofran,ymylon weithgar
Keywords[da]=skygning,kant,svæv,aktive kanter
Keywords[de]=Umrandung,Aktive Ränder,Schweben,Fensterheber
Keywords[el]=τύλιγμα,περιθώριο,hover,ενεργά περιθώρια
@ -110,6 +127,7 @@ Keywords[hu]=árnyékolás,szegély,lebegés,aktív szegélyek
Keywords[it]=arrotola,bordi,passaggio del mouse,bordi attivi
Keywords[ja]=,,,
Keywords[lt]=shading,border,hover,active borders, tik antraštės juosta, rėmelis, aktyvūs rėmeliai
Keywords[mn]=Сүүдэр,Идэвхитэй хүрээ,Арьс,Хүрээ
Keywords[mt]=shading,border,hover,active borders,bordura
Keywords[nb]=shading,border,hover,active borders, bor,aktivt vindu,vindu
Keywords[nl]=oprollen,afrollen,rand,hoover,actieve randen,randen magnetisch,magnetische randen
@ -120,12 +138,15 @@ Keywords[pt]=enrolamento,contorno,passar por cima,contornos activos
Keywords[pt_BR]=ocultamento,borda,pairar,bordas ativas
Keywords[sk]=zabalenie,okraj,presun,aktívne okraje
Keywords[sl]=senčenje,rob,meja,lebdenje,aktivni robovi
Keywords[sr]=намотавање,ивица,лебдење,активне ивице
Keywords[sv]=skuggning,kant,sväva,aktiva kanter
Keywords[ta]=¿¢Æø, µÃí¸û, ¿¼ôÒ µÃí¸û
Keywords[th]=,,,
Keywords[tr]=toplama,sınır,etkin kenarlıklar
Keywords[uk]=згортання,рамка,проходження,активні рамки
Keywords[ven]=murunzi,mukano,hover,mikano i tshilaho
Keywords[xh]=ulwenziwo lwesithuba,umda,ixhonyiwe,imida esebenzayo
Keywords[xx]=xxshading,border,hover,active bordersxx
Keywords[zh_CN]=shading,border,hover,active borders,,,,
Keywords[zh_TW]=shading,border,hover,active borders,,,,
Keywords[zu]=ukusitha,umngcele,didizela,imingcele enyakazayo

View file

@ -14,6 +14,7 @@ Name[af]=Fokus
Name[bg]=Фокус
Name[bs]=Fokus
Name[cs]=Zaměření
Name[cy]=Canolbwynt
Name[da]=Fokus
Name[de]=Aktivierung
Name[el]=Εστίαση
@ -25,7 +26,9 @@ Name[fi]=Kohdistus
Name[he]=התמקדות
Name[hu]=Fókuszálás
Name[ja]=
Name[lo]=
Name[lt]=Fokusas
Name[mn]=Идэвхижүүлэх
Name[nb]=Fokus
Name[nn]=Fokus
Name[nso]=Tebeledisiso
@ -35,11 +38,14 @@ Name[pt_BR]=Foco
Name[ru]=Фокус
Name[sk]=Fokus
Name[sl]=Fokus
Name[sr]=Фокус
Name[sv]=Fokus
Name[ta]=Ó¨ÉôÀÎòÐ
Name[th]=
Name[tr]=Odaklama
Name[uk]=Фокус
Name[ven]=U thetshelesa
Name[xx]=xxFocusxx
Name[zh_CN]=
Name[zh_TW]=
Name[zu]=Ukunaka
@ -50,20 +56,24 @@ Comment[bg]=Конфигуриране политиката за фокус на
Comment[bs]=Podesite politiku fokusa prozora
Comment[ca]=Configura la política del focus
Comment[cs]=Nastavení způsobu zaměřování oken
Comment[cy]=Ffurfweddu'r polisi canolbyntio ffenestri
Comment[da]=Indstil vinduers fokuspolitik
Comment[de]=Fensteraktivierung einrichten
Comment[el]=Ρυθμίστε τον τρόπο εστίασης των παραθύρων
Comment[es]=Configuración de la política de enfocado de ventanas
Comment[et]=Akendele fookuse andimse reeglid
Comment[et]=Akendele fookuse andmise reeglid
Comment[eu]=Leihoen fokua erabilera arauak konfiguratzen ditu
Comment[fa]=تنظیم سیاست تمرکزگیری پنجره
Comment[fi]=Aseta ikkunoiden kohdistustapaa
Comment[fr]=Configuration de la politique de focus des fenêtres
Comment[he]=קביעת מדיניות ההתמקדות של חלונות
Comment[hr]=Podešavanje pravila za fokusiranje prozora
Comment[hu]=Az ablakok fókuszálási jellemzőinek beállításai
Comment[it]=Configura la politica del focus delle finestre
Comment[ja]=
Comment[lo]=
Comment[lt]=Konfigūruoti langų fokusavimo elgseną
Comment[mn]=Цонх идэвхижүүлэлт тохируулах
Comment[nb]=Sett opp praksis for vindusfokus
Comment[nl]=Configureer het vensterfocusbeleid
Comment[nn]=Set opp praksisen for vindaugsfokus
@ -74,25 +84,29 @@ Comment[pt_BR]=Configura a política de foco de janela
Comment[ru]=Настройка политики фокусирования окон
Comment[sk]=Nastavenie politiky aktivácie okien
Comment[sl]=Nastavitve ravnanja s fokusom okna
Comment[sr]=Подешавање начина фокусирања прозора
Comment[sv]=Anpassa policy för fönsterfokus
Comment[ta]=º¡Çà ӨÉôÒ Ó¨È¨Á¨Â ÅÊŨÁì¸Ä¡õ
Comment[th]=
Comment[tr]=Pencere odaklama yöntemini yapılandır
Comment[uk]=Налаштування поведінку фокусу вікна
Comment[ven]=Dzudzanyani wa muano wa window
Comment[xh]=Qwalasela inkqubo yobekiso lwe window
Comment[xx]=xxConfigure the window focus policyxx
Comment[zh_CN]=
Comment[zh_TW]=
Comment[zu]=Hlanganisela umthetho wokunaka kwe-window
Keywords=focus,placement,auto raise,raise,click raise,keyboard,CDE,alt-tab,all desktop
Keywords[af]=focus,placement,auto raise,raise,click raise,keyboard,CDE,alt-tab,all werkskerm
Keywords[ca]=focus,emplaçament,auto pasar a sobre,pasar a sobre,clicar,teclat,CDE,alt-tab,tot l'escriptori
Keywords[ca]=focus,emplaçament,elevar automàticament,elevar,elecar en clicar,teclat,CDE,alt-tab,tot l'escriptori
Keywords[cs]=zaměření,umísťování,automatické zdvižení,klávesnice,CDE,Alt-Tab,plochy
Keywords[cy]=canolbwynt,lleoliad,hunan-godi,codi,codi ar ?l clic,allweddell,CDE,alt-tab,penbwrdd cyfan
Keywords[da]=fokus,placering,autohæv,hæv,klikhæv,tastatur,CDE,alt-tab,alle skriveborde
Keywords[de]=Fokus,Aktivierung,Platzierung,Autom. Aktivierung,Nach oben/unten, Klick,Tastatur,CDE
Keywords[el]=εστίαση,τοποθέτηση,αυτόματη ανύψωση,ανύψωση,ανύψωση με κλικ,πληκτρολόγιο,CDE,alt-tab,all desktop
Keywords[es]=foco,ubicación,auto psara al frente,pasar al frente,pulsar,teclado,CDE,alt-tab,todo el escritorio
Keywords[et]=fookus,asetamine,klikk,klaviatuur,CDE,alt-tab
Keywords[et]=fookus,asetus,klikk,klõps,klaviatuur,CDE,alt-tab
Keywords[fi]=fokus,sijoitus,automaattinosto,napsautusnosto,näppäimistö,CDE
Keywords[fr]=focus,placement,auto élévation,élévation,clic clavier,CDE,alt-tab,tous les bureaux
Keywords[he]=התמקדות,מיקום,הבאה אוטומטית לחזית,הבאה לחזית,לחיצה להבאה לחזית,מקלדת,CDE,alt-tab,כל שולחנות העבודה
@ -100,6 +114,7 @@ Keywords[hu]=fókusz,elhelyezés,automatikus előrehozás,előrehozás,előrehoz
Keywords[it]=focus,piazzamento,alza automaticamente,alza,clic per alzare,tastiera, CDE,alt-tab,tutti i desktop
Keywords[ja]=,,,,,,CDE,alt-tab,
Keywords[lt]=focus,placement,auto raise,raise,click raise,keyboard,CDE,alt-tab,all desktop, fokusas,perkėlimas į pirmą planą, pirmas planas, klaviatūra, CDE,visi darbastaliai
Keywords[mn]=Хараа,Идэвхижүүлэл,Зайчлал,Авто.Идэвхижүүлэлт, Дээшээ/доошоо,Товшилт,Гар,CDE
Keywords[mt]=focus,placement,auto raise,raise,click raise,keyboard,CDE,alt-tab,all desktop,tella',tastiera
Keywords[nb]=focus,placement,auto raise,raise,click raise,keyboard,CDE,alt-tab,all desktop,fokus,plassering,autotopp,hev,klikkhev,tastatur,hele arbeidsflaten
Keywords[nl]=focus,aandacht,plaatsing,voorgrond,achtergrond,klikken,toetsenbord,CDE,alt-tab,alle bureaubladen
@ -110,11 +125,14 @@ Keywords[pt]=foco,colocação,auto-elevar,elevar,elevar com 'click',teclado,CDE,
Keywords[pt_BR]=foco,posição,auto elevar,elevar,teclado,CDE,alt-tab,todos os ambiente de trabalho
Keywords[sk]=fokus,umiestnenie,automatický presun,dopredu,dopredu na kliknutie,klávesnica,CDE,alt-tab,všetky plochy
Keywords[sl]=fokus,postavitev,dvigni,tipkovnica,CDE,alt-tab,vsa namizja
Keywords[sr]=фокус,смештање,аутоматско подизање,подизање,тастатура,CDE,alt-таб, сви радна површина
Keywords[sv]=fokus,placering,autohöjning,höjning,höjning med klick,tangentbord,CDE,alt-tab,alla skrivbord
Keywords[th]=,,,,,,CDE,alt-tab,
Keywords[tr]=odaklama,yerleşim,masaüstü,yükselt,tıkla,klavye,CDE,yerleşim
Keywords[uk]=фокус,розташування,автопіднімання,підняти,клавіатура,CDE,alt-tab,вся стільниця
Keywords[ven]=thetshelesa,u vhetshela,u vusa,vusa,putedzani u vusa,khiibodo,CDE,alt-tab,desktop dzothe
Keywords[xh]=ucaco,ubuyiselo,phakamisa ngokuzenzekelayo,phakamisa,nqakraza phakamisa, ibhodi yezitshixho,CDE,alt-tab,zonke ii desktop
Keywords[xx]=xxfocus,placement,auto raise,raise,click raise,keyboard,CDE,alt-tab,all desktopxx
Keywords[zh_CN]=focus,placement,auto raise,raise,click raise,keyboard,CDE,alt-tab,all desktop,,,,,,,
Keywords[zh_TW]=focus,placement,auto raise,raise,click raise,keyboard,CDE,alt-tab,all desktop,,,,,,,
Keywords[zu]=ukunaka,ukubeka,ukukhuphula okuzenzekelayo,ukukhuphula, ukukhuphula ngokucofa,ibhodi yokhiye,CDE,alt-tab,wonke ama-desktop

View file

@ -16,6 +16,7 @@ Name[bg]=Преместване
Name[bs]=Pomjeranje
Name[ca]=Movent
Name[cs]=Přesouvání
Name[cy]=Symud
Name[da]=Flytter
Name[de]=Verschieben
Name[el]=Μετακίνηση
@ -27,10 +28,13 @@ Name[fi]=Siirtäminen
Name[fo]=Flytir
Name[fr]=Dépacement X
Name[he]=הזזה
Name[hr]=Pomicanje
Name[hu]=Mozgatás
Name[it]=Spostamento
Name[ja]=
Name[lo]=
Name[lt]=Perkėlimas
Name[mn]=Шилжүүлэх
Name[mt]=Tmexxija
Name[nb]=Flytting
Name[nl]=Verplaatsing
@ -42,11 +46,14 @@ Name[pt_BR]=Movendo
Name[ru]=Перемещение
Name[sk]=Presun
Name[sl]=Premikanje
Name[sr]=Померање
Name[sv]=Förflyttning
Name[ta]=¿¸÷¸¢ÈÐ
Name[th]=
Name[tr]=Taşıma
Name[ven]=U tshimbila
Name[xh]=Iyahamba
Name[xx]=xxMovingxx
Name[zh_CN]=
Name[zh_TW]=
Name[zu]=Iyanyakaza
@ -58,6 +65,7 @@ Comment[bg]=Конфигуриране преместване на прозор
Comment[bs]=Podesite način pomjeranja prozora
Comment[ca]=Aquí podeu configurar els valors per quan es moguin les finestres
Comment[cs]=Nastavení způsobu přesouvání oken
Comment[cy]=Ffurfweddu'r ffordd y symudir ffenestri
Comment[da]=Indstil den måde vinduer flyttes på
Comment[de]=Festlegen, wie Fenster verschoben werden
Comment[el]=Ρυθμίστε τον τρόπο με τον οποίο μετακινούνται τα παράθυρα
@ -68,10 +76,13 @@ Comment[fa]=تنظیم نوع حرکت پنجره‌ها
Comment[fi]=Aseta ikkunoiden siirtotapaa
Comment[fr]=Configurer la manière dont les fenêtres sont déplacées
Comment[he]=שינוי הדרך שבה חלונות מוזזים
Comment[hr]=Podešavanje načina za pomicanje prozora
Comment[hu]=Az ablakmozgatás beállításai
Comment[it]=Qui puoi configurare il modo in cui vengono spostate le finestre
Comment[ja]=
Comment[lo]=
Comment[lt]=Konfigūruoti langų perkėlimą
Comment[mn]=Цонхыг яааж шилжүүлэхийг тогтоох
Comment[nb]=Sett opp hvordan vinduer flyttes
Comment[nl]=Configureer de wijze waarop vensters worden verplaatst
Comment[nn]=Vel korleis vindauga skal flyttast
@ -82,18 +93,24 @@ Comment[pt_BR]=Configura o modo como as janelas são movidas
Comment[ru]=Настройка способа перемещения окон
Comment[sk]=Nastavenie presunu okien
Comment[sl]=Nastavitve načinov premikanja okna
Comment[sr]=Подешавање начина на који се прозори померају
Comment[sv]=Anpassa hur fönster flyttas
Comment[ta]= º¡ÇÃí¸û ¿¸÷ò¾ôÀÎõ Å¢¾ò¨¾ þíÌ ÅÊŨÁì¸×õ
Comment[th]=
Comment[tr]=Pencerelerin taşınması yöntemini yapılandır
Comment[uk]=Тут можна налаштувати поведінку при пересуванні вікон
Comment[ven]=Dzudzanyani ndila ine windoow ya tshimbidzhwa zwone
Comment[wa]=Apontyî l' manire di bodjî des purneas
Comment[xh]=Qwalasela iindlela ii windows ezshukunyiswa ngayo
Comment[xx]=xxConfigure the way that windows are movedxx
Comment[zh_CN]=
Comment[zh_TW]=
Comment[zu]=Hlanganisela indlela ama-window anyakaziswa ngayo
Keywords=moving,smart,cascade,maximize,maximise,snap zone,snap,border
Keywords[ca]=movent,astut,cascada,maximitza,zona d'atracció,atracció,vora
Keywords[cs]=přesun,chytré,kaskáda,maximalizace,zóna,okraje
Keywords[cy]=symud,clyfar,rhaedru,maint llawn,cylchfa gosod,snap,ymyl
Keywords[da]=flytter,smart,stabl,maksimér,snapzone,snap,kant
Keywords[de]=Verschieben,Gestaffelt,Maximieren,Minimieren,Einrastzone,Ränder
Keywords[el]=μετακίνηση,έξυπνη,cascade,μεγιστοποίηση,μεγιστοποίηση,snap zone,snap,περιθώριο
@ -107,6 +124,7 @@ Keywords[hu]=mozgatás,intelligens,lépcsőzetes,maximalizálás,illeszkedési z
Keywords[it]=spostamento,intelligente,cascata,massimizza,zona magnetica,bordi,bordi magnetici
Keywords[ja]=,,,,,
Keywords[lt]=moving,smart,cascade,maximize,maximise,snap zone,snap,border, perkėlimas,išmoningas,kaskada,išdidinti,rėmelis,riba
Keywords[mn]=Шилжүүлэх,Ухаалаг,Зайчилах,Томсгох,Жижигсгэх,Талбай,Хүрээ
Keywords[mt]=moving,smart,cascade,maximize,maximise,snap zone,snap,border,tmexxija,kaskada,massimizza,faqqa',bordura
Keywords[nb]=moving,smart,cascade,maximize,maximise,snap zone,snap,border,flytting,smart,kaskade,maksimer,festesone,fest
Keywords[nl]=verplaatsing,intteligent,plaatsing,trapgewijz,maximaliseren,randen magnetisch,magnetisch veld,rand,magnetische randen
@ -117,12 +135,14 @@ Keywords[pt]=mover,inteligente,cascata,maximizar,zona de atracção,atracção,c
Keywords[pt_BR]=movendo,pequeno,cascata,maximizar,zona rápida,snap,borda
Keywords[sk]=presun,inteligentný,kaskádovať,maximalizácia,minimalizácia,priťahovanie,zóna priťahovania,okraje
Keywords[sl]=premikanje,pametno,kaskadno,povečaj,raztegni,meja,mreža,pripni
Keywords[sr]=померање,паметно,каскадно,максимизуј,snap zone,snap,ивица
Keywords[sv]=förflyttning,smart,kaskad,maximera,bindningszon,bind,kant
Keywords[ta]=¿¸÷òÐ, ºÁ÷ò¾¡¸, ¾¢ÃðÎ, ¦À⾡ìÌ, ±ø¨Ä, µÃõ,
Keywords[tr]=taşıma,taşınma,akıllı,kenar
Keywords[uk]=пересування,кмітливий,каскад,максимізувати,зона захвати,захват,рамка
Keywords[ven]=tshimbila,zwavhudi,cascade,engedza,engedza,fhethu ha snap,snap,mukano+-
Keywords[xh]=iyashukuma,iyabukeka,cascade,yenza nkulu,yenza nkulu,yandisa,snap zone,snap,umda
Keywords[xx]=xxmoving,smart,cascade,maximize,maximise,snap zone,snap,borderxx
Keywords[zh_CN]=moving,smart,cascade,maximize,maximise,snap zone,snap,border,,,,,,,,
Keywords[zh_TW]=moving,smart,cascade,maximize,maximise,snap zone,snap,border,,,,
Keywords[zu]=iyanyakaza,okukhaliphile,landelanisa,khulisa,khulisa,indawo yokunamathisela,namathisela,umngcele

View file

@ -14,7 +14,7 @@
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
#include <qlayout.h>
@ -176,7 +176,7 @@ const KAboutData* KWinOptions::aboutData() const
void KWinOptions::moduleChanged(bool state)
{
emit changed(state);
setChanged(state);
}

View file

@ -18,7 +18,7 @@
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/

View file

@ -14,7 +14,7 @@
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
#include <qlabel.h>
@ -69,8 +69,11 @@ KActionsConfig::KActionsConfig (bool _standAlone, KConfig *_config, QWidget * pa
combo->insertItem(i18n("Maximize"));
combo->insertItem(i18n("Maximize (vertical only)"));
combo->insertItem(i18n("Maximize (horizontal only)"));
combo->insertItem(i18n("Minimize"));
combo->insertItem(i18n("Shade"));
combo->insertItem(i18n("Lower"));
combo->insertItem(i18n("On All Desktops"));
combo->insertItem(i18n("Nothing"));
combo->setSizePolicy(QSizePolicy(QSizePolicy::MinimumExpanding, QSizePolicy::Fixed));
connect(combo, SIGNAL(activated(int)), SLOT(changed()));
hlayout->addWidget(combo);
@ -129,6 +132,7 @@ KActionsConfig::KActionsConfig (bool _standAlone, KConfig *_config, QWidget * pa
combo->insertItem(i18n("Lower"));
combo->insertItem(i18n("Operations Menu"));
combo->insertItem(i18n("Toggle Raise & Lower"));
combo->insertItem(i18n("Nothing"));
connect(combo, SIGNAL(activated(int)), SLOT(changed()));
coTiAct1 = combo;
@ -183,7 +187,11 @@ KActionsConfig::KActionsConfig (bool _standAlone, KConfig *_config, QWidget * pa
items << i18n("Activate & Raise")
<< i18n("Activate & Lower")
<< i18n("Activate")
<< i18n("Shade");
<< i18n("Shade")
<< i18n("Operations Menu")
<< i18n("Raise")
<< i18n("Lower")
<< i18n("Nothing");
combo = new QComboBox(grid);
combo->insertStringList(items);
@ -327,10 +335,12 @@ KActionsConfig::KActionsConfig (bool _standAlone, KConfig *_config, QWidget * pa
items.clear();
items << i18n("Move")
<< i18n("Activate, Raise and Move")
<< i18n("Toggle Raise & Lower")
<< i18n("Resize")
<< i18n("Raise")
<< i18n("Lower")
<< i18n("Minimize")
<< i18n("Nothing");
combo = new QComboBox(grid);
@ -369,8 +379,11 @@ const char* tbl_TiDbl[] = {
"Maximize",
"Maximize (vertical only)",
"Maximize (horizontal only)",
"Minimize",
"Shade",
"Lower",
"OnAllDesktops",
"Nothing",
"" };
const char* tbl_TiAc[] = {
@ -387,6 +400,10 @@ const char* tbl_TiInAc[] = {
"Activate and lower",
"Activate",
"Shade",
"Operations menu",
"Raise",
"Lower",
"Nothing",
"" };
const char* tbl_Win[] = {
@ -403,10 +420,12 @@ const char* tbl_AllKey[] = {
const char* tbl_All[] = {
"Move",
"Activate, raise and move",
"Toggle raise and lower",
"Resize",
"Raise",
"Lower",
"Minimize",
"Nothing",
"" };
@ -496,7 +515,7 @@ void KActionsConfig::load()
setComboText(coTiAct3,config->readEntry("CommandActiveTitlebar3","Operations menu").ascii());
setComboText(coTiInAct1,config->readEntry("CommandInactiveTitlebar1","Activate and raise").ascii());
setComboText(coTiInAct2,config->readEntry("CommandInactiveTitlebar2","Activate and lower").ascii());
setComboText(coTiInAct3,config->readEntry("CommandInactiveTitlebar3","Activate").ascii());
setComboText(coTiInAct3,config->readEntry("CommandInactiveTitlebar3","Operations menu").ascii());
setComboText(coWin1,config->readEntry("CommandWindow1","Activate, raise and pass click").ascii());
setComboText(coWin2,config->readEntry("CommandWindow2","Activate and pass click").ascii());
setComboText(coWin3,config->readEntry("CommandWindow3","Activate and pass click").ascii());
@ -543,7 +562,7 @@ void KActionsConfig::defaults()
setComboText(coTiAct3,"Operations menu");
setComboText(coTiInAct1,"Activate and raise");
setComboText(coTiInAct2,"Activate and lower");
setComboText(coTiInAct3,"Activate");
setComboText(coTiInAct3,"Operations menu");
setComboText(coWin1,"Activate, raise and pass click");
setComboText(coWin2,"Activate and pass click");
setComboText(coWin3,"Activate and pass click");

View file

@ -16,7 +16,7 @@
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
#ifndef __KKWMMOUSECONFIG_H__
@ -42,7 +42,7 @@ public:
void defaults();
public slots:
void changed() { emit KCModule::changed(true); }
void changed() { setChanged(true); }
private:
QComboBox* coTiDbl;

View file

@ -16,7 +16,7 @@
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*
* $Id$
*
@ -161,7 +161,7 @@ KFocusConfig::KFocusConfig (bool _standAlone, KConfig *_config, QWidget * parent
autoRaise->setSuffix(i18n(" msec"));
fLay->addWidget(autoRaise);
clickRaiseOn = new QCheckBox(i18n("C&lick raise"), fcsBox);
clickRaiseOn = new QCheckBox(i18n("C&lick raise active window"), fcsBox);
connect(clickRaiseOn,SIGNAL(toggled(bool)), this, SLOT(clickRaiseOnTog(bool)));
fLay->addWidget(clickRaiseOn);
@ -174,8 +174,10 @@ KFocusConfig::KFocusConfig (bool _standAlone, KConfig *_config, QWidget * parent
" come to the front.");
QWhatsThis::add( autoRaise, wtstr );
QWhatsThis::add( clickRaiseOn, i18n("When this option is enabled, your windows will be brought to the"
" front when you click somewhere into the window contents.") );
QWhatsThis::add( clickRaiseOn, i18n("When this option is enabled, the active window will be brought to the"
" front when you click somewhere into the window contents. To change"
" it for inactive windows, you need to change the settings"
" in the Actions tab.") );
lay->addWidget(fcsBox);
@ -203,7 +205,6 @@ KFocusConfig::KFocusConfig (bool _standAlone, KConfig *_config, QWidget * parent
traverseAll = new QCheckBox( i18n( "&Traverse windows on all desktops" ), kbdBox );
kLay->addMultiCellWidget( traverseAll, 2, 2, 0, 2 );
connect( cdeMode, SIGNAL( toggled( bool )), traverseAll, SLOT( setDisabled( bool )));
wtstr = i18n( "Leave this option disabled if you want to limit walking through"
" windows to the current desktop." );
@ -279,8 +280,6 @@ void KFocusConfig::setAutoRaiseEnabled()
// the auto raise related widgets are: autoRaise
if ( focusCombo->currentItem() != CLICK_TO_FOCUS )
{
clickRaiseOn->setEnabled(true);
clickRaiseOnTog(clickRaiseOn->isChecked());
autoRaiseOn->setEnabled(true);
autoRaiseOnTog(autoRaiseOn->isChecked());
}
@ -288,8 +287,6 @@ void KFocusConfig::setAutoRaiseEnabled()
{
autoRaiseOn->setEnabled(false);
autoRaiseOnTog(false);
clickRaiseOn->setEnabled(true);
clickRaiseOnTog(true);
}
}
@ -423,7 +420,7 @@ void KFocusConfig::defaults()
{
setFocus(CLICK_TO_FOCUS);
setAutoRaise(false);
setClickRaise(false);
setClickRaise(true);
setAltTabMode(true);
setTraverseAll( false );
setRollOverDesktops(true);

View file

@ -16,7 +16,7 @@
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
#ifndef __KWINDOWCONFIG_H__
@ -80,7 +80,7 @@ private slots:
void setAutoRaiseEnabled();
void autoRaiseOnTog(bool);//CT 23Oct1998
void clickRaiseOnTog(bool);
void changed() { emit KCModule::changed(true); }
void changed() { setChanged(true); }
private:
@ -128,7 +128,7 @@ public:
private slots:
void setMinimizeAnim( bool );
void setMinimizeAnimSpeed( int );
void changed() { emit KCModule::changed(true); }
void changed() { setChanged(true); }
private:
int getMove( void );
@ -186,7 +186,7 @@ private slots:
//copied from kcontrol/konq/kwindesktop, aleXXX
void setEBorders();
void changed() { emit KCModule::changed(true); }
void changed() { setChanged(true); }
private: