summaryrefslogtreecommitdiffstats
path: root/kwin/kcmkwin
diff options
context:
space:
mode:
Diffstat (limited to 'kwin/kcmkwin')
-rw-r--r--kwin/kcmkwin/CMakeLists.txt16
-rw-r--r--kwin/kcmkwin/Makefile.am3
-rw-r--r--kwin/kcmkwin/kwindecoration/CMakeLists.txt37
-rw-r--r--kwin/kcmkwin/kwindecoration/Makefile.am18
-rw-r--r--kwin/kcmkwin/kwindecoration/buttons.cpp883
-rw-r--r--kwin/kcmkwin/kwindecoration/buttons.h227
-rw-r--r--kwin/kcmkwin/kwindecoration/kwindecoration.cpp840
-rw-r--r--kwin/kcmkwin/kwindecoration/kwindecoration.desktop231
-rw-r--r--kwin/kcmkwin/kwindecoration/kwindecoration.h148
-rw-r--r--kwin/kcmkwin/kwindecoration/kwindecorationIface.h44
-rw-r--r--kwin/kcmkwin/kwindecoration/pixmaps.h110
-rw-r--r--kwin/kcmkwin/kwindecoration/preview.cpp507
-rw-r--r--kwin/kcmkwin/kwindecoration/preview.h150
-rw-r--r--kwin/kcmkwin/kwinoptions/AUTHORS12
-rw-r--r--kwin/kcmkwin/kwinoptions/CMakeLists.txt40
-rw-r--r--kwin/kcmkwin/kwinoptions/ChangeLog51
-rw-r--r--kwin/kcmkwin/kwinoptions/Makefile.am18
-rw-r--r--kwin/kcmkwin/kwinoptions/kwinactions.desktop233
-rw-r--r--kwin/kcmkwin/kwinoptions/kwinadvanced.desktop232
-rw-r--r--kwin/kcmkwin/kwinoptions/kwinfocus.desktop222
-rw-r--r--kwin/kcmkwin/kwinoptions/kwinmoving.desktop229
-rw-r--r--kwin/kcmkwin/kwinoptions/kwinoptions.desktop225
-rw-r--r--kwin/kcmkwin/kwinoptions/kwintranslucency.desktop195
-rw-r--r--kwin/kcmkwin/kwinoptions/main.cpp262
-rw-r--r--kwin/kcmkwin/kwinoptions/main.h100
-rw-r--r--kwin/kcmkwin/kwinoptions/mouse.cpp856
-rw-r--r--kwin/kcmkwin/kwinoptions/mouse.h137
-rw-r--r--kwin/kcmkwin/kwinoptions/windows.cpp1712
-rw-r--r--kwin/kcmkwin/kwinoptions/windows.h297
-rw-r--r--kwin/kcmkwin/kwinrules/CMakeLists.txt56
-rw-r--r--kwin/kcmkwin/kwinrules/Makefile.am29
-rw-r--r--kwin/kcmkwin/kwinrules/detectwidget.cpp223
-rw-r--r--kwin/kcmkwin/kwinrules/detectwidget.h86
-rw-r--r--kwin/kcmkwin/kwinrules/detectwidgetbase.ui218
-rw-r--r--kwin/kcmkwin/kwinrules/editshortcutbase.ui164
-rw-r--r--kwin/kcmkwin/kwinrules/kcm.cpp103
-rw-r--r--kwin/kcmkwin/kwinrules/kcm.h53
-rw-r--r--kwin/kcmkwin/kwinrules/kwinrules.desktop209
-rw-r--r--kwin/kcmkwin/kwinrules/kwinsrc.cpp8
-rw-r--r--kwin/kcmkwin/kwinrules/main.cpp294
-rw-r--r--kwin/kcmkwin/kwinrules/ruleslist.cpp200
-rw-r--r--kwin/kcmkwin/kwinrules/ruleslist.h59
-rw-r--r--kwin/kcmkwin/kwinrules/ruleslistbase.ui91
-rw-r--r--kwin/kcmkwin/kwinrules/ruleswidget.cpp803
-rw-r--r--kwin/kcmkwin/kwinrules/ruleswidget.h148
-rw-r--r--kwin/kcmkwin/kwinrules/ruleswidgetbase.ui2597
-rw-r--r--kwin/kcmkwin/showdesktop.desktop132
47 files changed, 0 insertions, 13508 deletions
diff --git a/kwin/kcmkwin/CMakeLists.txt b/kwin/kcmkwin/CMakeLists.txt
deleted file mode 100644
index e0ca44195..000000000
--- a/kwin/kcmkwin/CMakeLists.txt
+++ /dev/null
@@ -1,16 +0,0 @@
-#################################################
-#
-# (C) 2010-2011 Serghei Amelian
-# serghei (DOT) amelian (AT) gmail.com
-#
-# Improvements and feedback are welcome
-#
-# This file is released under GPL >= 2
-#
-#################################################
-
-add_subdirectory( twinoptions )
-add_subdirectory( twindecoration )
-add_subdirectory( twinrules )
-
-install( FILES showdesktop.desktop DESTINATION ${XDG_APPS_INSTALL_DIR} )
diff --git a/kwin/kcmkwin/Makefile.am b/kwin/kcmkwin/Makefile.am
deleted file mode 100644
index 1f371dd46..000000000
--- a/kwin/kcmkwin/Makefile.am
+++ /dev/null
@@ -1,3 +0,0 @@
-SUBDIRS = twinoptions twindecoration twinrules
-
-xdg_apps_DATA = showdesktop.desktop \ No newline at end of file
diff --git a/kwin/kcmkwin/kwindecoration/CMakeLists.txt b/kwin/kcmkwin/kwindecoration/CMakeLists.txt
deleted file mode 100644
index 5fbdb3653..000000000
--- a/kwin/kcmkwin/kwindecoration/CMakeLists.txt
+++ /dev/null
@@ -1,37 +0,0 @@
-#################################################
-#
-# (C) 2010-2011 Serghei Amelian
-# serghei (DOT) amelian (AT) gmail.com
-#
-# Improvements and feedback are welcome
-#
-# This file is released under GPL >= 2
-#
-#################################################
-
-include_directories(
- ${CMAKE_CURRENT_BINARY_DIR}
- ${CMAKE_CURRENT_SOURCE_DIR}
- ${CMAKE_SOURCE_DIR}/twin/lib
- ${TDE_INCLUDE_DIR}
- ${TQT_INCLUDE_DIRS}
-)
-
-link_directories(
- ${TQT_LIBRARY_DIRS}
-)
-
-##### other data ################################
-
-install( FILES twindecoration.desktop DESTINATION ${XDG_APPS_INSTALL_DIR} )
-
-
-##### kcm_twindecoration (module) ###############
-
-tde_add_kpart( kcm_twindecoration AUTOMOC
- SOURCES
- twindecoration.cpp buttons.cpp
- twindecorationIface.skel preview.cpp
- LINK tdecorations-shared tdeui-shared Xext
- DESTINATION ${PLUGIN_INSTALL_DIR}
-)
diff --git a/kwin/kcmkwin/kwindecoration/Makefile.am b/kwin/kcmkwin/kwindecoration/Makefile.am
deleted file mode 100644
index 021c1ac3e..000000000
--- a/kwin/kcmkwin/kwindecoration/Makefile.am
+++ /dev/null
@@ -1,18 +0,0 @@
-INCLUDES = -I$(srcdir)/../../lib $(all_includes)
-
-kde_module_LTLIBRARIES = kcm_twindecoration.la
-
-kcm_twindecoration_la_SOURCES = twindecoration.cpp buttons.cpp twindecorationIface.skel preview.cpp
-noinst_HEADERS = twindecoration.h twindecorationIface.h buttons.h preview.h
-
-kcm_twindecoration_la_LDFLAGS = \
- -module -avoid-version $(all_libraries) -no-undefined
-
-kcm_twindecoration_la_LIBADD = $(LIB_TDEUI) ../../lib/libtdecorations.la
-
-METASOURCES = AUTO
-
-messages:
- $(XGETTEXT) *.cpp -o $(podir)/kcmtwindecoration.pot
-
-xdg_apps_DATA = twindecoration.desktop
diff --git a/kwin/kcmkwin/kwindecoration/buttons.cpp b/kwin/kcmkwin/kwindecoration/buttons.cpp
deleted file mode 100644
index 2c450aed1..000000000
--- a/kwin/kcmkwin/kwindecoration/buttons.cpp
+++ /dev/null
@@ -1,883 +0,0 @@
-/*
- This is the new twindecoration kcontrol module
-
- Copyright (c) 2004, Sandro Giessl <sandro@giessl.com>
- Copyright (c) 2001
- Karol Szwed <gallium@kde.org>
- http://gallium.n3.net/
-
- Supports new twin configuration plugins, and titlebar button position
- modification via dnd interface.
-
- Based on original "twintheme" (Window Borders)
- Copyright (C) 2001 Rik Hemsley (rikkus) <rik@kde.org>
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-
-*/
-
-#include <tqheader.h>
-#include <tqpainter.h>
-#include <tqlabel.h>
-#include <tqlayout.h>
-#include <tqstyle.h>
-
-#include <kdebug.h>
-
-#include <kdialog.h>
-#include <klocale.h>
-#include <kglobalsettings.h>
-
-#include <kdecorationfactory.h>
-
-#include "buttons.h"
-#include "pixmaps.h"
-
-
-#define BUTTONDRAGMIMETYPE "application/x-kde_twindecoration_buttons"
-ButtonDrag::ButtonDrag( Button btn, TQWidget* parent, const char* name)
- : TQStoredDrag( BUTTONDRAGMIMETYPE, parent, name)
-{
- TQByteArray data;
- TQDataStream stream(data, IO_WriteOnly);
- stream << btn.name;
- stream << btn.icon;
- stream << btn.type.tqunicode();
- stream << (int) btn.duplicate;
- stream << (int) btn.supported;
- setEncodedData( data );
-}
-
-
-bool ButtonDrag::canDecode( TQDropEvent* e )
-{
- return e->provides( BUTTONDRAGMIMETYPE );
-}
-
-bool ButtonDrag::decode( TQDropEvent* e, Button& btn )
-{
- TQByteArray data = e->data( BUTTONDRAGMIMETYPE );
- if ( data.size() )
- {
- e->accept();
- TQDataStream stream(data, IO_ReadOnly);
- stream >> btn.name;
- stream >> btn.icon;
- ushort type;
- stream >> type;
- btn.type = TQChar(type);
- int duplicate;
- stream >> duplicate;
- btn.duplicate = duplicate;
- int supported;
- stream >> supported;
- btn.supported = supported;
- return TRUE;
- }
- return FALSE;
-}
-
-
-Button::Button()
-{
-}
-
-Button::Button(const TQString& n, const TQBitmap& i, TQChar t, bool d, bool s)
- : name(n),
- icon(i),
- type(t),
- duplicate(d),
- supported(s)
-{
-}
-
-Button::~Button()
-{
-}
-
-// helper function to deal with the Button's bitmaps more easily...
-TQPixmap bitmapPixmap(const TQBitmap& bm, const TQColor& color)
-{
- TQPixmap pm(bm.size() );
- pm.setMask(bm);
- TQPainter p(&pm);
- p.setPen(color);
- p.drawPixmap(0,0,bm);
- p.end();
- return pm;
-}
-
-
-ButtonSource::ButtonSource(TQWidget *parent, const char* name)
- : KListView(parent, name)
-{
- tqsetSizePolicy(TQSizePolicy::Expanding, TQSizePolicy::Expanding);
-
- setResizeMode(TQListView::AllColumns);
- setDragEnabled(true);
- setAcceptDrops(true);
- setDropVisualizer(false);
- setSorting(-1);
- header()->setClickEnabled(false);
- header()->hide();
-
- addColumn(i18n("Buttons") );
-}
-
-ButtonSource::~ButtonSource()
-{
-}
-
-TQSize ButtonSource::tqsizeHint() const
-{
- // make the tqsizeHint height a bit smaller than the one of TQListView...
-
- if ( cachedSizeHint().isValid() )
- return cachedSizeHint();
-
- constPolish();
-
- TQSize s( header()->tqsizeHint() );
-
- if ( verticalScrollBar()->isVisible() )
- s.setWidth( s.width() + tqstyle().tqpixelMetric(TQStyle::PM_ScrollBarExtent) );
- s += TQSize(frameWidth()*2,frameWidth()*2);
-
- // size hint: 4 lines of text...
- s.setHeight( s.height() + fontMetrics().lineSpacing()*3 );
-
- setCachedSizeHint( s );
-
- return s;
-}
-
-void ButtonSource::hideAllButtons()
-{
- TQListViewItemIterator it(this);
- while (it.current() ) {
- it.current()->tqsetVisible(false);
- ++it;
- }
-}
-
-void ButtonSource::showAllButtons()
-{
- TQListViewItemIterator it(this);
- while (it.current() ) {
- it.current()->tqsetVisible(true);
- ++it;
- }
-}
-
-void ButtonSource::showButton( TQChar btn )
-{
- TQListViewItemIterator it(this);
- while (it.current() ) {
- ButtonSourceItem *item = dynamic_cast<ButtonSourceItem*>(it.current() );
- if (item && item->button().type == btn) {
- it.current()->tqsetVisible(true);
- return;
- }
- ++it;
- }
-}
-
-void ButtonSource::hideButton( TQChar btn )
-{
- TQListViewItemIterator it(this);
- while (it.current() ) {
- ButtonSourceItem *item = dynamic_cast<ButtonSourceItem*>(it.current() );
- if (item && item->button().type == btn && !item->button().duplicate) {
- it.current()->tqsetVisible(false);
- return;
- }
- ++it;
- }
-}
-
-bool ButtonSource::acceptDrag(TQDropEvent* e) const
-{
- return acceptDrops() && ButtonDrag::canDecode(e);
-}
-
-TQDragObject *ButtonSource::dragObject()
-{
- ButtonSourceItem *i = dynamic_cast<ButtonSourceItem*>(selectedItem() );
-
- if (i) {
- ButtonDrag *bd = new ButtonDrag(i->button(), viewport(), "button_drag");
- bd->setPixmap(bitmapPixmap(i->button().icon, tqcolorGroup().foreground() ));
- return bd;
- }
-
- return 0;
-}
-
-ButtonDropSiteItem::ButtonDropSiteItem(const Button& btn)
- : m_button(btn)
-{
-}
-
-ButtonDropSiteItem::~ButtonDropSiteItem()
-{
-}
-
-Button ButtonDropSiteItem::button()
-{
- return m_button;
-}
-
-int ButtonDropSiteItem::width()
-{
-// return m_button.icon.width();
- return 20;
-}
-
-int ButtonDropSiteItem::height()
-{
-// return m_button.icon.height();
- return 20;
-}
-
-void ButtonDropSiteItem::draw(TQPainter *p, const TQColorGroup& cg, TQRect r)
-{
-// p->fillRect(r, cg.base() );
- if (m_button.supported)
- p->setPen(cg.foreground() );
- else
- p->setPen(cg.mid() );
- TQBitmap &i = m_button.icon;
- p->drawPixmap(r.left()+(r.width()-i.width())/2, r.top()+(r.height()-i.height())/2, i);
-}
-
-
-ButtonDropSite::ButtonDropSite( TQWidget* parent, const char* name )
- : TQFrame( parent, name ),
- m_selected(0)
-{
- setAcceptDrops( TRUE );
- setFrameShape( WinPanel );
- setFrameShadow( Raised );
- setMinimumHeight( 26 );
- setMaximumHeight( 26 );
- setMinimumWidth( 250 ); // Ensure buttons will fit
-}
-
-ButtonDropSite::~ButtonDropSite()
-{
- clearLeft();
- clearRight();
-}
-
-void ButtonDropSite::clearLeft()
-{
- while (!buttonsLeft.isEmpty() ) {
- ButtonDropSiteItem *item = buttonsLeft.first();
- if (removeButton(item) ) {
- emit buttonRemoved(item->button().type);
- delete item;
- }
- }
-}
-
-void ButtonDropSite::clearRight()
-{
- while (!buttonsRight.isEmpty() ) {
- ButtonDropSiteItem *item = buttonsRight.first();
- if (removeButton(item) ) {
- emit buttonRemoved(item->button().type);
- delete item;
- }
- }
-}
-
-void ButtonDropSite::dragMoveEvent( TQDragMoveEvent* e )
-{
- TQPoint p = e->pos();
- if (leftDropArea().contains(p) || rightDropArea().contains(p) || buttonAt(p) ) {
- e->accept();
-
- // 2 pixel wide drop visualizer...
- TQRect r = contentsRect();
- int x = -1;
- if (leftDropArea().contains(p) ) {
- x = leftDropArea().left();
- } else if (rightDropArea().contains(p) ) {
- x = rightDropArea().right()+1;
- } else {
- ButtonDropSiteItem *item = buttonAt(p);
- if (item) {
- if (p.x() < item->rect.left()+item->rect.width()/2 ) {
- x = item->rect.left();
- } else {
- x = item->rect.right()+1;
- }
- }
- }
- if (x != -1) {
- TQRect tmpRect(x, r.y(), 2, r.height() );
- if (tmpRect != m_oldDropVisualizer) {
- cleanDropVisualizer();
- m_oldDropVisualizer = tmpRect;
- update(tmpRect);
- }
- }
-
- } else {
- e->ignore();
-
- cleanDropVisualizer();
- }
-}
-
-void ButtonDropSite::cleanDropVisualizer()
-{
- if (m_oldDropVisualizer.isValid())
- {
- TQRect rect = m_oldDropVisualizer;
- m_oldDropVisualizer = TQRect(); // rect is invalid
- update(rect);
- }
-}
-
-void ButtonDropSite::dragEnterEvent( TQDragEnterEvent* e )
-{
- if ( ButtonDrag::canDecode( e ) )
- e->accept();
-}
-
-void ButtonDropSite::dragLeaveEvent( TQDragLeaveEvent* /* e */ )
-{
- cleanDropVisualizer();
-}
-
-void ButtonDropSite::dropEvent( TQDropEvent* e )
-{
- cleanDropVisualizer();
-
- TQPoint p = e->pos();
-
- // collect information where to insert the dropped button
- ButtonList *buttonList = 0;
- ButtonList::iterator buttonPosition;
-
- if (leftDropArea().contains(p) ) {
- buttonList = &buttonsLeft;
- buttonPosition = buttonsLeft.end();
- } else if (rightDropArea().contains(p) ) {
- buttonList = &buttonsRight;
- buttonPosition = buttonsRight.begin();
- } else {
- ButtonDropSiteItem *aboveItem = buttonAt(p);
- if (!aboveItem)
- return; // invalid drop. hasn't occured _over_ a button (or left/right dropArea), return...
-
- ButtonList::iterator it;
- if (!getItemIterator(aboveItem, buttonList, it) ) {
- // didn't find the aboveItem. unlikely to happen since buttonAt() already seems to have found
- // something valid. anyway...
- return;
- }
-
- // got the list and the aboveItem position. now determine if the item should be inserted
- // before aboveItem or after aboveItem.
- TQRect aboveItemRect = aboveItem->rect;
- if (!aboveItemRect.isValid() )
- return;
-
- if (p.x() < aboveItemRect.left()+aboveItemRect.width()/2 ) {
- // insert before the item
- buttonPosition = it;
- } else {
- if (it != buttonList->end() )
- buttonPosition = ++it;
- else
- buttonPosition = it; // already at the end(), can't increment the iterator!
- }
- }
-
- // know where to insert the button. now see if we can use an existing item (drag within the widget = move)
- // orneed to create a new one
- ButtonDropSiteItem *buttonItem = 0;
- if (e->source() == this && m_selected) {
- ButtonList *oldList = 0;
- ButtonList::iterator oldPos;
- if (getItemIterator(m_selected, oldList, oldPos) ) {
- if (oldPos == buttonPosition)
- return; // button didn't change its position during the drag...
-
- oldList->remove(oldPos);
- buttonItem = m_selected;
- } else {
- return; // m_selected not found, return...
- }
- } else {
- // create new button from the drop object...
- Button btn;
- if (ButtonDrag::decode(e, btn) ) {
- buttonItem = new ButtonDropSiteItem(btn);
- } else {
- return; // something has gone wrong while we were trying to decode the drop event
- }
- }
-
- // now the item can actually be inserted into the list! :)
- (*buttonList).insert(buttonPosition, buttonItem);
- emit buttonAdded(buttonItem->button().type);
- emit changed();
- recalcItemGeometry();
- update();
-}
-
-bool ButtonDropSite::getItemIterator(ButtonDropSiteItem *item, ButtonList* &list, ButtonList::iterator &iterator)
-{
- if (!item)
- return false;
-
- ButtonList::iterator it = buttonsLeft.find(item); // try the left list first...
- if (it == buttonsLeft.end() ) {
- it = buttonsRight.find(item); // try the right list...
- if (it == buttonsRight.end() ) {
- return false; // item hasn't been found in one of the list, return...
- } else {
- list = &buttonsRight;
- iterator = it;
- }
- } else {
- list = &buttonsLeft;
- iterator = it;
- }
-
- return true;
-}
-
-TQRect ButtonDropSite::leftDropArea()
-{
- // return a 10 pixel drop area...
- TQRect r = contentsRect();
-
- int leftButtonsWidth = calcButtonListWidth(buttonsLeft);
- return TQRect(r.left()+leftButtonsWidth, r.top(), 10, r.height() );
-}
-
-TQRect ButtonDropSite::rightDropArea()
-{
- // return a 10 pixel drop area...
- TQRect r = contentsRect();
-
- int rightButtonsWidth = calcButtonListWidth(buttonsRight);
- return TQRect(r.right()-rightButtonsWidth-10, r.top(), 10, r.height() );
-}
-
-void ButtonDropSite::mousePressEvent( TQMouseEvent* e )
-{
- // TODO: only start the real drag after some drag distance
- m_selected = buttonAt(e->pos() );
- if (m_selected) {
- ButtonDrag *bd = new ButtonDrag(m_selected->button(), this);
- bd->setPixmap(bitmapPixmap(m_selected->button().icon, tqcolorGroup().foreground() ) );
- bd->dragMove();
- }
-}
-
-void ButtonDropSite::resizeEvent(TQResizeEvent*)
-{
- recalcItemGeometry();
-}
-
-void ButtonDropSite::recalcItemGeometry()
-{
- TQRect r = contentsRect();
-
- // update the geometry of the items in the left button list
- int offset = r.left();
- for (ButtonList::const_iterator it = buttonsLeft.begin(); it != buttonsLeft.end(); ++it) {
- int w = (*it)->width();
- (*it)->rect = TQRect(offset, r.top(), w, (*it)->height() );
- offset += w;
- }
-
- // the right button list...
- offset = r.right() - calcButtonListWidth(buttonsRight);
- for (ButtonList::const_iterator it = buttonsRight.begin(); it != buttonsRight.end(); ++it) {
- int w = (*it)->width();
- (*it)->rect = TQRect(offset, r.top(), w, (*it)->height() );
- offset += w;
- }
-}
-
-ButtonDropSiteItem *ButtonDropSite::buttonAt(TQPoint p) {
- // try to find the item in the left button list
- for (ButtonList::const_iterator it = buttonsLeft.begin(); it != buttonsLeft.end(); ++it) {
- if ( (*it)->rect.contains(p) ) {
- return *it;
- }
- }
-
- // try to find the item in the right button list
- for (ButtonList::const_iterator it = buttonsRight.begin(); it != buttonsRight.end(); ++it) {
- if ( (*it)->rect.contains(p) ) {
- return *it;
- }
- }
-
- return 0;
-}
-
-bool ButtonDropSite::removeButton(ButtonDropSiteItem *item) {
- if (!item)
- return false;
-
- // try to remove the item from the left button list
- if (buttonsLeft.remove(item) >= 1) {
- return true;
- }
-
- // try to remove the item from the right button list
- if (buttonsRight.remove(item) >= 1) {
- return true;
- }
-
- return false;
-}
-
-int ButtonDropSite::calcButtonListWidth(const ButtonList& btns)
-{
- int w = 0;
- for (ButtonList::const_iterator it = btns.begin(); it != btns.end(); ++it) {
- w += (*it)->width();
- }
-
- return w;
-}
-
-bool ButtonDropSite::removeSelectedButton()
-{
- bool succ = removeButton(m_selected);
- if (succ) {
- emit buttonRemoved(m_selected->button().type);
- emit changed();
- delete m_selected;
- m_selected = 0;
- recalcItemGeometry();
- update(); // tqrepaint...
- }
-
- return succ;
-}
-
-void ButtonDropSite::drawButtonList(TQPainter *p, const ButtonList& btns, int offset)
-{
- for (ButtonList::const_iterator it = btns.begin(); it != btns.end(); ++it) {
- TQRect tqitemRect = (*it)->rect;
- if (tqitemRect.isValid() ) {
- (*it)->draw(p, tqcolorGroup(), tqitemRect);
- }
- offset += (*it)->width();
- }
-}
-
-void ButtonDropSite::drawContents( TQPainter* p )
-{
- int leftoffset = calcButtonListWidth( buttonsLeft );
- int rightoffset = calcButtonListWidth( buttonsRight );
- int offset = 3;
-
- TQRect r = contentsRect();
-
- // Shrink by 1
- r.moveBy(1 + leftoffset, 1);
- r.setWidth( r.width() - 2 - leftoffset - rightoffset );
- r.setHeight( r.height() - 2 );
-
- drawButtonList( p, buttonsLeft, offset );
-
- TQColor c1( 0x0A, 0x5F, 0x89 ); // KDE 2 titlebar default colour
- p->fillRect( r, c1 );
- p->setPen( Qt::white );
- p->setFont( TQFont( KGlobalSettings::generalFont().family(), 12, TQFont::Bold) );
- p->drawText( r, AlignLeft | AlignVCenter, i18n("KDE") );
-
- offset = geometry().width() - 3 - rightoffset;
- drawButtonList( p, buttonsRight, offset );
-
- if (m_oldDropVisualizer.isValid() )
- {
- p->fillRect(m_oldDropVisualizer, Dense4Pattern);
- }
-}
-
-ButtonSourceItem::ButtonSourceItem(TQListView * parent, const Button& btn)
- : TQListViewItem(parent),
- m_button(btn),
- m_dirty(true)
-{
- setButton(btn);
-}
-
-ButtonSourceItem::~ButtonSourceItem()
-{
-}
-
-void ButtonSourceItem::paintCell(TQPainter *p, const TQColorGroup &cg, int column, int width, int align)
-{
- // we need the color group cg, so to the work here, not in setButton...
- if (m_dirty) {
- if (m_button.supported) {
- setPixmap(0, bitmapPixmap(m_button.icon, cg.foreground() ) );
- } else {
- setPixmap(0, bitmapPixmap(m_button.icon, cg.mid() ) );
- }
- m_dirty = false;
- }
-
- if (m_button.supported) {
- TQListViewItem::paintCell(p,cg,column,width,align);
- } else {
- // grey out unsupported buttons
- TQColorGroup cg2 = cg;
- cg2.setColor(TQColorGroup::Text, cg.mid() );
- TQListViewItem::paintCell(p,cg2,column,width,align);
- }
-}
-
-void ButtonSourceItem::setButton(const Button& btn)
-{
- m_button = btn;
- m_dirty = true; // update the pixmap when in paintCell()...
- if (btn.supported) {
- setText(0, btn.name);
- } else {
- setText(0, i18n("%1 (unavailable)").arg(btn.name) );
- }
-}
-
-Button ButtonSourceItem::button() const
-{
- return m_button;
-}
-
-
-ButtonPositionWidget::ButtonPositionWidget(TQWidget *parent, const char* name)
- : TQWidget(parent,name),
- m_factory(0)
-{
- TQVBoxLayout *layout = new TQVBoxLayout(this, 0, KDialog::spacingHint() );
- tqsetSizePolicy(TQSizePolicy::Expanding, TQSizePolicy::Maximum);
-
- TQLabel* label = new TQLabel( this );
- m_dropSite = new ButtonDropSite( this );
- label->tqsetAlignment( int( TQLabel::WordBreak ) );
- label->setText( i18n( "To add or remove titlebar buttons, simply <i>drag</i> items "
- "between the available item list and the titlebar preview. Similarly, "
- "drag items within the titlebar preview to re-position them.") );
- m_buttonSource = new ButtonSource(this, "button_source");
-
- layout->addWidget(label);
- layout->addWidget(m_dropSite);
- layout->addWidget(m_buttonSource);
-
- connect( m_dropSite, TQT_SIGNAL(buttonAdded(TQChar)), m_buttonSource, TQT_SLOT(hideButton(TQChar)) );
- connect( m_dropSite, TQT_SIGNAL(buttonRemoved(TQChar)), m_buttonSource, TQT_SLOT(showButton(TQChar)) );
- connect( m_buttonSource, TQT_SIGNAL(dropped(TQDropEvent*, TQListViewItem*)), m_dropSite, TQT_SLOT(removeSelectedButton()) );
-
- connect( m_dropSite, TQT_SIGNAL(changed()), TQT_SIGNAL(changed()) );
-
- // insert all possible buttons into the source (backwards to keep the preferred order...)
- bool dummy;
- new ButtonSourceItem(m_buttonSource, getButton('R', dummy) );
- new ButtonSourceItem(m_buttonSource, getButton('L', dummy) );
- new ButtonSourceItem(m_buttonSource, getButton('B', dummy) );
- new ButtonSourceItem(m_buttonSource, getButton('F', dummy) );
- new ButtonSourceItem(m_buttonSource, getButton('X', dummy) );
- new ButtonSourceItem(m_buttonSource, getButton('A', dummy) );
- new ButtonSourceItem(m_buttonSource, getButton('I', dummy) );
- new ButtonSourceItem(m_buttonSource, getButton('H', dummy) );
- new ButtonSourceItem(m_buttonSource, getButton('S', dummy) );
- new ButtonSourceItem(m_buttonSource, getButton('M', dummy) );
- new ButtonSourceItem(m_buttonSource, getButton('_', dummy) );
-}
-
-ButtonPositionWidget::~ButtonPositionWidget()
-{
-}
-
-void ButtonPositionWidget::setDecorationFactory(KDecorationFactory *factory)
-{
- if (!factory)
- return;
-
- m_factory = factory;
-
- // get the list of supported buttons
- if (m_factory->supports(KDecorationDefines::AbilityAnnounceButtons) ) {
- TQString supportedButtons;
-
- if (m_factory->supports(KDecorationDefines::AbilityButtonMenu) )
- supportedButtons.append('M');
- if (m_factory->supports(KDecorationDefines::AbilityButtonOnAllDesktops) )
- supportedButtons.append('S');
- if (m_factory->supports(KDecorationDefines::AbilityButtonSpacer) )
- supportedButtons.append('_');
- if (m_factory->supports(KDecorationDefines::AbilityButtonHelp) )
- supportedButtons.append('H');
- if (m_factory->supports(KDecorationDefines::AbilityButtonMinimize) )
- supportedButtons.append('I');
- if (m_factory->supports(KDecorationDefines::AbilityButtonMaximize) )
- supportedButtons.append('A');
- if (m_factory->supports(KDecorationDefines::AbilityButtonClose) )
- supportedButtons.append('X');
- if (m_factory->supports(KDecorationDefines::AbilityButtonAboveOthers) )
- supportedButtons.append('F');
- if (m_factory->supports(KDecorationDefines::AbilityButtonBelowOthers) )
- supportedButtons.append('B');
- if (m_factory->supports(KDecorationDefines::AbilityButtonShade) )
- supportedButtons.append('L');
- if (m_factory->supports(KDecorationDefines::AbilityButtonResize) )
- supportedButtons.append('R');
-
- m_supportedButtons = supportedButtons;
- } else {
- // enable only buttons available before AbilityButton* introduction
- m_supportedButtons = "MSHIAX_";
- }
-
- // update the button lists...
- // 1. set status on the source items...
- TQListViewItemIterator it(m_buttonSource);
- while (it.current() ) {
- ButtonSourceItem *i = dynamic_cast<ButtonSourceItem*>(it.current() );
- if (i) {
- Button b = i->button();
- b.supported = m_supportedButtons.contains(b.type);
- i->setButton(b);
- }
- ++it;
- }
- // 2. rebuild the drop site items...
- setButtonsLeft(buttonsLeft() );
- setButtonsRight(buttonsRight() );
-}
-
-Button ButtonPositionWidget::getButton(TQChar type, bool& success) {
- success = true;
-
- if (type == 'R') {
- TQBitmap bmp(resize_width, resize_height, resize_bits, true);
- bmp.setMask(bmp);
- return Button(i18n("Resize"), bmp, 'R', false, m_supportedButtons.contains('R') );
- } else if (type == 'L') {
- TQBitmap bmp(shade_width, shade_height, shade_bits, true);
- bmp.setMask(bmp);
- return Button(i18n("Shade"), bmp, 'L', false, m_supportedButtons.contains('L') );
- } else if (type == 'B') {
- TQBitmap bmp(keepbelowothers_width, keepbelowothers_height, keepbelowothers_bits, true);
- bmp.setMask(bmp);
- return Button(i18n("Keep Below Others"), bmp, 'B', false, m_supportedButtons.contains('B') );
- } else if (type == 'F') {
- TQBitmap bmp(keepaboveothers_width, keepaboveothers_height, keepaboveothers_bits, true);
- bmp.setMask(bmp);
- return Button(i18n("Keep Above Others"), bmp, 'F', false, m_supportedButtons.contains('F') );
- } else if (type == 'X') {
- TQBitmap bmp(close_width, close_height, close_bits, true);
- bmp.setMask(bmp);
- return Button(i18n("Close"), bmp, 'X', false, m_supportedButtons.contains('X') );
- } else if (type == 'A') {
- TQBitmap bmp(maximize_width, maximize_height, maximize_bits, true);
- bmp.setMask(bmp);
- return Button(i18n("Maximize"), bmp, 'A', false, m_supportedButtons.contains('A') );
- } else if (type == 'I') {
- TQBitmap bmp(minimize_width, minimize_height, minimize_bits, true);
- bmp.setMask(bmp);
- return Button(i18n("Minimize"), bmp, 'I', false, m_supportedButtons.contains('I') );
- } else if (type == 'H') {
- TQBitmap bmp(help_width, help_height, help_bits, true);
- bmp.setMask(bmp);
- return Button(i18n("Help"), bmp, 'H', false, m_supportedButtons.contains('H') );
- } else if (type == 'S') {
- TQBitmap bmp(onalldesktops_width, onalldesktops_height, onalldesktops_bits, true);
- bmp.setMask(bmp);
- return Button(i18n("On All Desktops"), bmp, 'S', false, m_supportedButtons.contains('S') );
- } else if (type == 'M') {
- TQBitmap bmp(menu_width, menu_height, menu_bits, true);
- bmp.setMask(bmp);
- return Button(i18n("Menu"), bmp, 'M', false, m_supportedButtons.contains('M') );
- } else if (type == '_') {
- TQBitmap bmp(spacer_width, spacer_height, spacer_bits, true);
- bmp.setMask(bmp);
- return Button(i18n("--- spacer ---"), bmp, '_', true, m_supportedButtons.contains('_') );
- } else {
- success = false;
- return Button();
- }
-}
-
-TQString ButtonPositionWidget::buttonsLeft() const
-{
- ButtonList btns = m_dropSite->buttonsLeft;
- TQString btnString = "";
- for (ButtonList::const_iterator it = btns.begin(); it != btns.end(); ++it) {
- btnString.append( (*it)->button().type );
- }
- return btnString;
-}
-
-TQString ButtonPositionWidget::buttonsRight() const
-{
- ButtonList btns = m_dropSite->buttonsRight;
- TQString btnString = "";
- for (ButtonList::const_iterator it = btns.begin(); it != btns.end(); ++it) {
- btnString.append( (*it)->button().type );
- }
- return btnString;
-}
-
-void ButtonPositionWidget::setButtonsLeft(const TQString &buttons)
-{
- // to keep the button lists consistent, first remove all left buttons, then add buttons again...
- m_dropSite->clearLeft();
-
- for (uint i = 0; i < buttons.length(); ++i) {
- bool succ = false;
- Button btn = getButton(buttons[i], succ);
- if (succ) {
- m_dropSite->buttonsLeft.append(new ButtonDropSiteItem(btn) );
- m_buttonSource->hideButton(btn.type);
- }
- }
- m_dropSite->recalcItemGeometry();
- m_dropSite->update();
-}
-
-void ButtonPositionWidget::setButtonsRight(const TQString &buttons)
-{
- // to keep the button lists consistent, first remove all left buttons, then add buttons again...
- m_dropSite->clearRight();
-
- for (uint i = 0; i < buttons.length(); ++i) {
- bool succ = false;
- Button btn = getButton(buttons[i], succ);
- if (succ) {
- m_dropSite->buttonsRight.append(new ButtonDropSiteItem(btn) );
- m_buttonSource->hideButton(btn.type);
- }
- }
- m_dropSite->recalcItemGeometry();
- m_dropSite->update();
-}
-
-#include "buttons.moc"
-// vim: ts=4
-// kate: space-indent off; tab-width 4;
diff --git a/kwin/kcmkwin/kwindecoration/buttons.h b/kwin/kcmkwin/kwindecoration/buttons.h
deleted file mode 100644
index 088d3414d..000000000
--- a/kwin/kcmkwin/kwindecoration/buttons.h
+++ /dev/null
@@ -1,227 +0,0 @@
-/*
- This is the new twindecoration kcontrol module
-
- Copyright (c) 2004, Sandro Giessl <sandro@giessl.com>
- Copyright (c) 2001
- Karol Szwed <gallium@kde.org>
- http://gallium.n3.net/
-
- Supports new twin configuration plugins, and titlebar button position
- modification via dnd interface.
-
- Based on original "twintheme" (Window Borders)
- Copyright (C) 2001 Rik Hemsley (rikkus) <rik@kde.org>
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-
-*/
-
-#ifndef __BUTTONS_H_
-#define __BUTTONS_H_
-
-#include <tqbitmap.h>
-#include <tqevent.h>
-#include <tqdragobject.h>
-#include <tqlistbox.h>
-
-#include <klistview.h>
-
-class KDecorationFactory;
-
-/**
- * This class holds the button data.
- */
-class Button
-{
- public:
- Button();
- Button(const TQString& name, const TQBitmap& icon, TQChar type, bool duplicate, bool supported);
- virtual ~Button();
-
- TQString name;
- TQBitmap icon;
- TQChar type;
- bool duplicate;
- bool supported;
-};
-
-class ButtonDrag : public TQStoredDrag
-{
- public:
- ButtonDrag( Button btn, TQWidget* parent, const char* name=0 );
- ~ButtonDrag() {};
-
- static bool canDecode( TQDropEvent* e );
- static bool decode( TQDropEvent* e, Button& btn );
-};
-
-/**
- * This is plugged into ButtonDropSite
- */
-class ButtonDropSiteItem
-{
- public:
- ButtonDropSiteItem(const Button& btn);
- ~ButtonDropSiteItem();
-
- Button button();
-
- TQRect rect;
- int width();
- int height();
-
- void draw(TQPainter *p, const TQColorGroup& cg, TQRect rect);
-
- private:
- Button m_button;
-};
-
-/**
- * This is plugged into ButtonSource
- */
-class ButtonSourceItem : public TQListViewItem
-{
- public:
- ButtonSourceItem(TQListView * parent, const Button& btn);
- virtual ~ButtonSourceItem();
-
- void paintCell(TQPainter *p, const TQColorGroup &cg, int column, int width, int align);
-
- void setButton(const Button& btn);
- Button button() const;
- private:
- Button m_button;
- bool m_dirty;
-};
-
-/**
- * Implements the button drag source list view
- */
-class ButtonSource : public KListView
-{
- Q_OBJECT
-
- public:
- ButtonSource(TQWidget *parent = 0, const char* name = 0);
- virtual ~ButtonSource();
-
- TQSize tqsizeHint() const;
-
- void hideAllButtons();
- void showAllButtons();
-
- public slots:
- void hideButton(TQChar btn);
- void showButton(TQChar btn);
-
- protected:
- bool acceptDrag(TQDropEvent* e) const;
- virtual TQDragObject *dragObject();
-};
-
-typedef TQValueList<ButtonDropSiteItem*> ButtonList;
-
-/**
- * This class renders and handles the demo titlebar dropsite
- */
-class ButtonDropSite: public TQFrame
-{
- Q_OBJECT
-
- public:
- ButtonDropSite( TQWidget* parent=0, const char* name=0 );
- ~ButtonDropSite();
-
- // Allow external classes access our buttons - ensure buttons are
- // not duplicated however.
- ButtonList buttonsLeft;
- ButtonList buttonsRight;
- void clearLeft();
- void clearRight();
-
- signals:
- void buttonAdded(TQChar btn);
- void buttonRemoved(TQChar btn);
- void changed();
-
- public slots:
- bool removeSelectedButton(); ///< This slot is called after we drop on the item listbox...
- void recalcItemGeometry(); ///< Call this whenever the item list changes... updates the items' rect property
-
- protected:
- void resizeEvent(TQResizeEvent*);
- void dragEnterEvent( TQDragEnterEvent* e );
- void dragMoveEvent( TQDragMoveEvent* e );
- void dragLeaveEvent( TQDragLeaveEvent* e );
- void dropEvent( TQDropEvent* e );
- void mousePressEvent( TQMouseEvent* e ); ///< Starts dragging a button...
-
- void drawContents( TQPainter* p );
- ButtonDropSiteItem *buttonAt(TQPoint p);
- bool removeButton(ButtonDropSiteItem *item);
- int calcButtonListWidth(const ButtonList& buttons); ///< Computes the total space the buttons will take in the titlebar
- void drawButtonList(TQPainter *p, const ButtonList& buttons, int offset);
-
- TQRect leftDropArea();
- TQRect rightDropArea();
-
- private:
- /**
- * Try to find the item. If found, set its list and iterator and return true, else return false
- */
- bool getItemIterator(ButtonDropSiteItem *item, ButtonList* &list, ButtonList::iterator &iterator);
-
- void cleanDropVisualizer();
- TQRect m_oldDropVisualizer;
-
- ButtonDropSiteItem *m_selected;
-};
-
-class ButtonPositionWidget : public TQWidget
-{
- Q_OBJECT
-
- public:
- ButtonPositionWidget(TQWidget *parent = 0, const char* name = 0);
- ~ButtonPositionWidget();
-
- /**
- * set the factory, so the class e.g. knows which buttons are supported by the client
- */
- void setDecorationFactory(KDecorationFactory *factory);
-
- TQString buttonsLeft() const;
- TQString buttonsRight() const;
- void setButtonsLeft(const TQString &buttons);
- void setButtonsRight(const TQString &buttons);
-
- signals:
- void changed();
-
- private:
- void clearButtonList(const ButtonList& btns);
- Button getButton(TQChar type, bool& success);
-
- ButtonDropSite* m_dropSite;
- ButtonSource *m_buttonSource;
-
- KDecorationFactory *m_factory;
- TQString m_supportedButtons;
-};
-
-
-#endif
-// vim: ts=4
-// kate: space-indent off; tab-width 4;
diff --git a/kwin/kcmkwin/kwindecoration/kwindecoration.cpp b/kwin/kcmkwin/kwindecoration/kwindecoration.cpp
deleted file mode 100644
index 4ef509e5a..000000000
--- a/kwin/kcmkwin/kwindecoration/kwindecoration.cpp
+++ /dev/null
@@ -1,840 +0,0 @@
-/*
- This is the new twindecoration kcontrol module
-
- Copyright (c) 2001
- Karol Szwed <gallium@kde.org>
- http://gallium.n3.net/
-
- Supports new twin configuration plugins, and titlebar button position
- modification via dnd interface.
-
- Based on original "twintheme" (Window Borders)
- Copyright (C) 2001 Rik Hemsley (rikkus) <rik@kde.org>
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-
-*/
-
-#include <assert.h>
-#include <math.h>
-
-#include <tqdir.h>
-#include <tqfileinfo.h>
-#include <tqlayout.h>
-#include <tqwhatsthis.h>
-#include <tqgroupbox.h>
-#include <tqcheckbox.h>
-#include <tqtabwidget.h>
-#include <tqvbox.h>
-#include <tqlabel.h>
-#include <tqfile.h>
-#include <tqslider.h>
-#include <tqspinbox.h>
-
-#include <kapplication.h>
-#include <kcolorbutton.h>
-#include <kcombobox.h>
-#include <kdebug.h>
-#include <kdesktopfile.h>
-#include <kstandarddirs.h>
-#include <kglobal.h>
-#include <klocale.h>
-#include <kdialog.h>
-#include <kgenericfactory.h>
-#include <kaboutdata.h>
-#include <dcopclient.h>
-
-#include "twindecoration.h"
-#include "preview.h"
-#include <kdecoration_plugins_p.h>
-#include <kdecorationfactory.h>
-
-// KCModule plugin interface
-// =========================
-typedef KGenericFactory<KWinDecorationModule, TQWidget> KWinDecoFactory;
-K_EXPORT_COMPONENT_FACTORY( kcm_twindecoration, KWinDecoFactory("kcmtwindecoration") )
-
-KWinDecorationModule::KWinDecorationModule(TQWidget* parent, const char* name, const TQStringList &)
- : DCOPObject("KWinClientDecoration"),
- KCModule(KWinDecoFactory::instance(), parent, name),
- twinConfig("twinrc"),
- pluginObject(0)
-{
- twinConfig.setGroup("Style");
- plugins = new KDecorationPreviewPlugins( &twinConfig );
-
- TQVBoxLayout* layout = new TQVBoxLayout(this, 0, KDialog::spacingHint());
-
-// Save this for later...
-// cbUseMiniWindows = new TQCheckBox( i18n( "Render mini &titlebars for all windows"), checkGroup );
-// TQWhatsThis::add( cbUseMiniWindows, i18n( "Note that this option is not available on all styles yet!" ) );
-
- tabWidget = new TQTabWidget( this );
- layout->addWidget( tabWidget );
-
- // Page 1 (General Options)
- TQWidget *pluginPage = new TQWidget( tabWidget );
-
- TQVBoxLayout* pluginLayout = new TQVBoxLayout(pluginPage, KDialog::marginHint(), KDialog::spacingHint());
-
- // decoration chooser
- decorationList = new KComboBox( pluginPage );
- TQString whatsThis = i18n("Select the window decoration. This is the look and feel of both "
- "the window borders and the window handle.");
- TQWhatsThis::add(decorationList, whatsThis);
- pluginLayout->addWidget(decorationList);
-
- TQGroupBox *pluginSettingsGrp = new TQGroupBox( i18n("Decoration Options"), pluginPage );
- pluginSettingsGrp->setColumnLayout( 0, Qt::Vertical );
- pluginSettingsGrp->setFlat( true );
- pluginSettingsGrp->layout()->setMargin( 0 );
- pluginSettingsGrp->layout()->setSpacing( KDialog::spacingHint() );
- pluginLayout->addWidget( pluginSettingsGrp );
-
- pluginLayout->addStretch();
-
- // Border size chooser
- lBorder = new TQLabel (i18n("B&order size:"), pluginSettingsGrp);
- cBorder = new TQComboBox(pluginSettingsGrp);
- lBorder->setBuddy(cBorder);
- TQWhatsThis::add( cBorder, i18n( "Use this combobox to change the border size of the decoration." ));
- lBorder->hide();
- cBorder->hide();
- TQHBoxLayout *borderSizeLayout = new TQHBoxLayout(pluginSettingsGrp->tqlayout() );
- borderSizeLayout->addWidget(lBorder);
- borderSizeLayout->addWidget(cBorder);
- borderSizeLayout->addStretch();
-
- pluginConfigWidget = new TQVBox(pluginSettingsGrp);
- pluginSettingsGrp->tqlayout()->add( pluginConfigWidget );
-
- // Page 2 (Button Selector)
- TQWidget* buttonPage = new TQWidget( tabWidget );
- TQVBoxLayout* buttonLayout = new TQVBoxLayout(buttonPage, KDialog::marginHint(), KDialog::spacingHint());
-
- cbShowToolTips = new TQCheckBox(
- i18n("&Show window button tooltips"), buttonPage );
- TQWhatsThis::add( cbShowToolTips,
- i18n( "Enabling this checkbox will show window button tooltips. "
- "If this checkbox is off, no window button tooltips will be shown."));
-
- cbUseCustomButtonPositions = new TQCheckBox(
- i18n("Use custom titlebar button &positions"), buttonPage );
- TQWhatsThis::add( cbUseCustomButtonPositions,
- i18n( "The appropriate settings can be found in the \"Buttons\" Tab; "
- "please note that this option is not available on all styles yet." ) );
-
- buttonLayout->addWidget( cbShowToolTips );
- buttonLayout->addWidget( cbUseCustomButtonPositions );
-
- // Add nifty dnd button modification widgets
- buttonPositionWidget = new ButtonPositionWidget(buttonPage, "button_position_widget");
- buttonPositionWidget->setDecorationFactory(plugins->factory() );
- TQHBoxLayout* buttonControlLayout = new TQHBoxLayout(buttonLayout);
- buttonControlLayout->addSpacing(20);
- buttonControlLayout->addWidget(buttonPositionWidget);
-// buttonLayout->addStretch();
-
- // preview
- TQVBoxLayout* previewLayout = new TQVBoxLayout(layout, KDialog::spacingHint() );
- previewLayout->setMargin( KDialog::marginHint() );
-
- preview = new KDecorationPreview( this );
- previewLayout->addWidget(preview);
-
- preview->tqsetSizePolicy(TQSizePolicy::Expanding, TQSizePolicy::Expanding);
- tabWidget->tqsetSizePolicy(TQSizePolicy::Expanding, TQSizePolicy::Maximum);
-
- // Page 3 (Window Shadows)
- TQHBox *inactiveShadowColourHBox, *shadowColourHBox;
- TQHBox *inactiveShadowOpacityHBox, *shadowOpacityHBox;
- TQHBox *inactiveShadowXOffsetHBox, *shadowXOffsetHBox;
- TQHBox *inactiveShadowYOffsetHBox, *shadowYOffsetHBox;
- TQHBox *inactiveShadowThicknessHBox, *shadowThicknessHBox;
- TQLabel *inactiveShadowColourLabel, *shadowColourLabel;
- TQLabel *inactiveShadowOpacityLabel, *shadowOpacityLabel;
- TQLabel *inactiveShadowXOffsetLabel, *shadowXOffsetLabel;
- TQLabel *inactiveShadowYOffsetLabel, *shadowYOffsetLabel;
- TQLabel *inactiveShadowThicknessLabel, *shadowThicknessLabel;
-
- shadowPage = new TQVBox(tabWidget);
- shadowPage->setSpacing(KDialog::spacingHint());
- shadowPage->setMargin(KDialog::marginHint());
-
- cbWindowShadow = new TQCheckBox(
- i18n("&Draw a drop shadow under windows"), shadowPage);
- TQWhatsThis::add(cbWindowShadow,
- i18n("Enabling this checkbox will allow you to choose a kind of "
- "drop shadow to draw under each window."));
-
- activeShadowSettings = new TQGroupBox(1, Qt::Horizontal,
- i18n("Active Window Shadow"), shadowPage);
- inactiveShadowSettings = new TQGroupBox(1, Qt::Horizontal,
- i18n("Inactive Window Shadows"), shadowPage);
- whichShadowSettings = new TQGroupBox(3, Qt::Horizontal,
- i18n("Draw Shadow Under Normal Windows And..."), shadowPage);
-
- cbShadowDocks = new TQCheckBox(i18n("Docks and &panels"),
- whichShadowSettings);
- connect(cbShadowDocks, TQT_SIGNAL(toggled(bool)),
- TQT_SLOT(slotSelectionChanged()));
- cbShadowOverrides = new TQCheckBox(i18n("O&verride windows"),
- whichShadowSettings);
- connect(cbShadowOverrides, TQT_SIGNAL(toggled(bool)),
- TQT_SLOT(slotSelectionChanged()));
- cbShadowTopMenus = new TQCheckBox(i18n("&Top menu"),
- whichShadowSettings);
- connect(cbShadowTopMenus, TQT_SIGNAL(toggled(bool)),
- TQT_SLOT(slotSelectionChanged()));
- cbInactiveShadow = new TQCheckBox(
- i18n("Draw shadow under &inactive windows"), inactiveShadowSettings);
- connect(cbInactiveShadow, TQT_SIGNAL(toggled(bool)),
- TQT_SLOT(slotSelectionChanged()));
-
- shadowColourHBox = new TQHBox(activeShadowSettings);
- shadowColourHBox->setSpacing(KDialog::spacingHint());
- shadowColourLabel = new TQLabel(i18n("Colour:"), shadowColourHBox);
- shadowColourButton = new KColorButton(shadowColourHBox);
- connect(shadowColourButton, TQT_SIGNAL(changed(const TQColor &)), TQT_SLOT(slotSelectionChanged()));
-
- inactiveShadowColourHBox = new TQHBox(inactiveShadowSettings);
- inactiveShadowColourHBox->setSpacing(KDialog::spacingHint());
- inactiveShadowColourLabel = new TQLabel(i18n("Colour:"), inactiveShadowColourHBox);
- inactiveShadowColourButton = new KColorButton(inactiveShadowColourHBox);
- connect(inactiveShadowColourButton, TQT_SIGNAL(changed(const TQColor &)), TQT_SLOT(slotSelectionChanged()));
-
- shadowOpacityHBox = new TQHBox(activeShadowSettings);
- shadowOpacityHBox->setSpacing(KDialog::spacingHint());
- shadowOpacityLabel = new TQLabel(i18n("Maximum opacity:"), shadowOpacityHBox);
- shadowOpacitySlider = new TQSlider(1, 100, 10, 50, Qt::Horizontal,
- shadowOpacityHBox);
- shadowOpacitySlider->setTickmarks(TQSlider::Below);
- shadowOpacitySlider->setTickInterval(10);
- shadowOpacitySpinBox = new TQSpinBox(1, 100, 1, shadowOpacityHBox);
- shadowOpacitySpinBox->setSuffix(" %");
- connect(shadowOpacitySlider, TQT_SIGNAL(valueChanged(int)), shadowOpacitySpinBox,
- TQT_SLOT(setValue(int)));
- connect(shadowOpacitySpinBox, TQT_SIGNAL(valueChanged(int)), shadowOpacitySlider,
- TQT_SLOT(setValue(int)));
- connect(shadowOpacitySlider, TQT_SIGNAL(valueChanged(int)),
- TQT_SLOT(slotSelectionChanged()));
-
- inactiveShadowOpacityHBox = new TQHBox(inactiveShadowSettings);
- inactiveShadowOpacityHBox->setSpacing(KDialog::spacingHint());
- inactiveShadowOpacityLabel = new TQLabel(i18n("Maximum opacity:"),
- inactiveShadowOpacityHBox);
- inactiveShadowOpacitySlider = new TQSlider(1, 100, 10, 50, Qt::Horizontal,
- inactiveShadowOpacityHBox);
- inactiveShadowOpacitySlider->setTickmarks(TQSlider::Below);
- inactiveShadowOpacitySlider->setTickInterval(10);
- inactiveShadowOpacitySpinBox = new TQSpinBox(1, 100, 1,
- inactiveShadowOpacityHBox);
- inactiveShadowOpacitySpinBox->setSuffix(" %");
- connect(inactiveShadowOpacitySlider, TQT_SIGNAL(valueChanged(int)),
- inactiveShadowOpacitySpinBox,
- TQT_SLOT(setValue(int)));
- connect(inactiveShadowOpacitySpinBox, TQT_SIGNAL(valueChanged(int)),
- inactiveShadowOpacitySlider,
- TQT_SLOT(setValue(int)));
- connect(inactiveShadowOpacitySlider, TQT_SIGNAL(valueChanged(int)),
- TQT_SLOT(slotSelectionChanged()));
-
- shadowXOffsetHBox = new TQHBox(activeShadowSettings);
- shadowXOffsetHBox->setSpacing(KDialog::spacingHint());
- shadowXOffsetLabel = new TQLabel(
- i18n("Offset rightward (may be negative):"),
- shadowXOffsetHBox);
- shadowXOffsetSpinBox = new TQSpinBox(-1024, 1024, 1, shadowXOffsetHBox);
- shadowXOffsetSpinBox->setSuffix(i18n(" pixels"));
- connect(shadowXOffsetSpinBox, TQT_SIGNAL(valueChanged(int)),
- TQT_SLOT(slotSelectionChanged()));
-
- inactiveShadowXOffsetHBox = new TQHBox(inactiveShadowSettings);
- inactiveShadowXOffsetHBox->setSpacing(KDialog::spacingHint());
- inactiveShadowXOffsetLabel = new TQLabel(
- i18n("Offset rightward (may be negative):"),
- inactiveShadowXOffsetHBox);
- inactiveShadowXOffsetSpinBox = new TQSpinBox(-1024, 1024, 1,
- inactiveShadowXOffsetHBox);
- inactiveShadowXOffsetSpinBox->setSuffix(i18n(" pixels"));
- connect(inactiveShadowXOffsetSpinBox, TQT_SIGNAL(valueChanged(int)),
- TQT_SLOT(slotSelectionChanged()));
-
- shadowYOffsetHBox = new TQHBox(activeShadowSettings);
- shadowYOffsetHBox->setSpacing(KDialog::spacingHint());
- shadowYOffsetLabel = new TQLabel(
- i18n("Offset downward (may be negative):"),
- shadowYOffsetHBox);
- shadowYOffsetSpinBox = new TQSpinBox(-1024, 1024, 1, shadowYOffsetHBox);
- shadowYOffsetSpinBox->setSuffix(i18n(" pixels"));
- connect(shadowYOffsetSpinBox, TQT_SIGNAL(valueChanged(int)),
- TQT_SLOT(slotSelectionChanged()));
-
- inactiveShadowYOffsetHBox = new TQHBox(inactiveShadowSettings);
- inactiveShadowYOffsetHBox->setSpacing(KDialog::spacingHint());
- inactiveShadowYOffsetLabel = new TQLabel(
- i18n("Offset downward (may be negative):"),
- inactiveShadowYOffsetHBox);
- inactiveShadowYOffsetSpinBox = new TQSpinBox(-1024, 1024, 1,
- inactiveShadowYOffsetHBox);
- inactiveShadowYOffsetSpinBox->setSuffix(i18n(" pixels"));
- connect(inactiveShadowYOffsetSpinBox, TQT_SIGNAL(valueChanged(int)),
- TQT_SLOT(slotSelectionChanged()));
-
- shadowThicknessHBox = new TQHBox(activeShadowSettings);
- shadowThicknessHBox->setSpacing(KDialog::spacingHint());
- shadowThicknessLabel = new TQLabel(
- i18n("Thickness to either side of window:"),
- shadowThicknessHBox);
- shadowThicknessSpinBox = new TQSpinBox(1, 100, 1,
- shadowThicknessHBox);
- shadowThicknessSpinBox->setSuffix(i18n(" pixels"));
- connect(shadowThicknessSpinBox, TQT_SIGNAL(valueChanged(int)),
- TQT_SLOT(slotSelectionChanged()));
-
- inactiveShadowThicknessHBox = new TQHBox(inactiveShadowSettings);
- inactiveShadowThicknessHBox->setSpacing(KDialog::spacingHint());
- inactiveShadowThicknessLabel = new TQLabel(
- i18n("Thickness to either side of window:"),
- inactiveShadowThicknessHBox);
- inactiveShadowThicknessSpinBox = new TQSpinBox(1, 100, 1,
- inactiveShadowThicknessHBox);
- inactiveShadowThicknessSpinBox->setSuffix(i18n(" pixels"));
- connect(inactiveShadowThicknessSpinBox, TQT_SIGNAL(valueChanged(int)),
- TQT_SLOT(slotSelectionChanged()));
-
- // Load all installed decorations into memory
- // Set up the decoration lists and other UI settings
- findDecorations();
- createDecorationList();
- readConfig( &twinConfig );
- resetPlugin( &twinConfig );
-
- tabWidget->insertTab( pluginPage, i18n("&Window Decoration") );
- tabWidget->insertTab( buttonPage, i18n("&Buttons") );
- tabWidget->insertTab( shadowPage, i18n("&Shadows") );
-
- connect( buttonPositionWidget, TQT_SIGNAL(changed()), this, TQT_SLOT(slotButtonsChanged()) ); // update preview etc.
- connect( buttonPositionWidget, TQT_SIGNAL(changed()), this, TQT_SLOT(slotSelectionChanged()) ); // emit changed()...
- connect( decorationList, TQT_SIGNAL(activated(const TQString&)), TQT_SLOT(slotSelectionChanged()) );
- connect( decorationList, TQT_SIGNAL(activated(const TQString&)),
- TQT_SLOT(slotChangeDecoration(const TQString&)) );
- connect( cbUseCustomButtonPositions, TQT_SIGNAL(clicked()), TQT_SLOT(slotSelectionChanged()) );
- connect(cbUseCustomButtonPositions, TQT_SIGNAL(toggled(bool)), buttonPositionWidget, TQT_SLOT(setEnabled(bool)));
- connect(cbUseCustomButtonPositions, TQT_SIGNAL(toggled(bool)), this, TQT_SLOT(slotButtonsChanged()) );
- connect(cbWindowShadow, TQT_SIGNAL(toggled(bool)), activeShadowSettings, TQT_SLOT(setEnabled(bool)));
- connect(cbWindowShadow, TQT_SIGNAL(toggled(bool)), inactiveShadowSettings, TQT_SLOT(setEnabled(bool)));
- connect(cbWindowShadow, TQT_SIGNAL(toggled(bool)), whichShadowSettings, TQT_SLOT(setEnabled(bool)));
-
- connect( cbShowToolTips, TQT_SIGNAL(clicked()), TQT_SLOT(slotSelectionChanged()) );
- connect( cbWindowShadow, TQT_SIGNAL(clicked()), TQT_SLOT(slotSelectionChanged()) );
- connect( cBorder, TQT_SIGNAL( activated( int )), TQT_SLOT( slotBorderChanged( int )));
-// connect( cbUseMiniWindows, TQT_SIGNAL(clicked()), TQT_SLOT(slotSelectionChanged()) );
-
- // Allow twin dcop signal to update our selection list
- connectDCOPSignal("twin", 0, "dcopResetAllClients()", "dcopUpdateClientList()", false);
-
- KAboutData *about =
- new KAboutData(I18N_NOOP("kcmtwindecoration"),
- I18N_NOOP("Window Decoration Control Module"),
- 0, 0, KAboutData::License_GPL,
- I18N_NOOP("(c) 2001 Karol Szwed"));
- about->addAuthor("Karol Szwed", 0, "gallium@kde.org");
- setAboutData(about);
-}
-
-
-KWinDecorationModule::~KWinDecorationModule()
-{
- delete preview; // needs to be destroyed before plugins
- delete plugins;
-}
-
-
-// Find all theme desktop files in all 'data' dirs owned by twin.
-// And insert these into a DecorationInfo structure
-void KWinDecorationModule::findDecorations()
-{
- TQStringList dirList = KGlobal::dirs()->findDirs("data", "twin");
- TQStringList::ConstIterator it;
-
- for (it = dirList.begin(); it != dirList.end(); it++)
- {
- TQDir d(*it);
- if (d.exists())
- for (TQFileInfoListIterator it(*d.entryInfoList()); it.current(); ++it)
- {
- TQString filename(it.current()->absFilePath());
- if (KDesktopFile::isDesktopFile(filename))
- {
- KDesktopFile desktopFile(filename);
- TQString libName = desktopFile.readEntry("X-KDE-Library");
-
- if (!libName.isEmpty() && libName.startsWith( "twin3_" ))
- {
- DecorationInfo di;
- di.name = desktopFile.readName();
- di.libraryName = libName;
- decorations.append( di );
- }
- }
- }
- }
-}
-
-
-// Fills the decorationList with a list of available twin decorations
-void KWinDecorationModule::createDecorationList()
-{
- TQValueList<DecorationInfo>::ConstIterator it;
-
- // Sync with twin hardcoded KDE2 style which has no desktop item
- TQStringList decorationNames;
- decorationNames.append( i18n("KDE 2") );
- for (it = decorations.begin(); it != decorations.end(); ++it)
- {
- decorationNames.append((*it).name);
- }
- decorationNames.sort();
- decorationList->insertStringList(decorationNames);
-}
-
-
-// Reset the decoration plugin to what the user just selected
-void KWinDecorationModule::slotChangeDecoration( const TQString & text)
-{
- KConfig twinConfig("twinrc");
- twinConfig.setGroup("Style");
-
- // Let the user see config options for the currently selected decoration
- resetPlugin( &twinConfig, text );
-}
-
-
-// This is the selection handler setting
-void KWinDecorationModule::slotSelectionChanged()
-{
- emit KCModule::changed(true);
-}
-
-static const char* const border_names[ KDecorationDefines::BordersCount ] =
- {
- I18N_NOOP( "Tiny" ),
- I18N_NOOP( "Normal" ),
- I18N_NOOP( "Large" ),
- I18N_NOOP( "Very Large" ),
- I18N_NOOP( "Huge" ),
- I18N_NOOP( "Very Huge" ),
- I18N_NOOP( "Oversized" )
- };
-
-int KWinDecorationModule::borderSizeToIndex( BorderSize size, TQValueList< BorderSize > sizes )
-{
- int pos = 0;
- for( TQValueList< BorderSize >::ConstIterator it = sizes.begin();
- it != sizes.end();
- ++it, ++pos )
- if( size <= *it )
- break;
- return pos;
-}
-
-KDecorationDefines::BorderSize KWinDecorationModule::indexToBorderSize( int index,
- TQValueList< BorderSize > sizes )
-{
- TQValueList< BorderSize >::ConstIterator it = sizes.begin();
- for(;
- it != sizes.end();
- ++it, --index )
- if( index == 0 )
- break;
- return *it;
-}
-
-void KWinDecorationModule::slotBorderChanged( int size )
-{
- if( lBorder->isHidden())
- return;
- emit KCModule::changed( true );
- TQValueList< BorderSize > sizes;
- if( plugins->factory() != NULL )
- sizes = plugins->factory()->borderSizes();
- assert( sizes.count() >= 2 );
- border_size = indexToBorderSize( size, sizes );
-
- // update preview
- preview->setTempBorderSize(plugins, border_size);
-}
-
-void KWinDecorationModule::slotButtonsChanged()
-{
- // update preview
- preview->setTempButtons(plugins, cbUseCustomButtonPositions->isChecked(), buttonPositionWidget->buttonsLeft(), buttonPositionWidget->buttonsRight() );
-}
-
-TQString KWinDecorationModule::decorationName( TQString& libName )
-{
- TQString decoName;
-
- TQValueList<DecorationInfo>::Iterator it;
- for( it = decorations.begin(); it != decorations.end(); ++it )
- if ( (*it).libraryName == libName )
- {
- decoName = (*it).name;
- break;
- }
-
- return decoName;
-}
-
-
-TQString KWinDecorationModule::decorationLibName( const TQString& name )
-{
- TQString libName;
-
- // Find the corresponding library name to that of
- // the current plugin name
- TQValueList<DecorationInfo>::Iterator it;
- for( it = decorations.begin(); it != decorations.end(); ++it )
- if ( (*it).name == name )
- {
- libName = (*it).libraryName;
- break;
- }
-
- if (libName.isEmpty())
- libName = "twin_default"; // KDE 2
-
- return libName;
-}
-
-
-// Loads/unloads and inserts the decoration config plugin into the
-// pluginConfigWidget, allowing for dynamic configuration of decorations
-void KWinDecorationModule::resetPlugin( KConfig* conf, const TQString& currentDecoName )
-{
- // Config names are "twin_icewm_config"
- // for "twin3_icewm" twin client
-
- TQString oldName = styleToConfigLib( oldLibraryName );
-
- TQString currentName;
- if (!currentDecoName.isEmpty())
- currentName = decorationLibName( currentDecoName ); // Use what the user selected
- else
- currentName = currentLibraryName; // Use what was read from readConfig()
-
- if( plugins->loadPlugin( currentName )
- && preview->recreateDecoration( plugins ))
- preview->enablePreview();
- else
- preview->disablePreview();
- plugins->destroyPreviousPlugin();
-
- checkSupportedBorderSizes();
-
- // inform buttonPositionWidget about the new factory...
- buttonPositionWidget->setDecorationFactory(plugins->factory() );
-
- currentName = styleToConfigLib( currentName );
-
- // Delete old plugin widget if it exists
- delete pluginObject;
- pluginObject = 0;
-
- // Use klibloader for library manipulation
- KLibLoader* loader = KLibLoader::self();
-
- // Free the old library if possible
- if (!oldLibraryName.isNull())
- loader->unloadLibrary( TQFile::encodeName(oldName) );
-
- KLibrary* library = loader->library( TQFile::encodeName(currentName) );
- if (library != NULL)
- {
- void* alloc_ptr = library->symbol("allocate_config");
-
- if (alloc_ptr != NULL)
- {
- allocatePlugin = (TQObject* (*)(KConfig* conf, TQWidget* parent))alloc_ptr;
- pluginObject = (TQObject*)(allocatePlugin( conf, pluginConfigWidget ));
-
- // connect required signals and slots together...
- connect( pluginObject, TQT_SIGNAL(changed()), this, TQT_SLOT(slotSelectionChanged()) );
- connect( this, TQT_SIGNAL(pluginLoad(KConfig*)), pluginObject, TQT_SLOT(load(KConfig*)) );
- connect( this, TQT_SIGNAL(pluginSave(KConfig*)), pluginObject, TQT_SLOT(save(KConfig*)) );
- connect( this, TQT_SIGNAL(pluginDefaults()), pluginObject, TQT_SLOT(defaults()) );
- pluginConfigWidget->show();
- return;
- }
- }
-
- pluginConfigWidget->hide();
-}
-
-
-// Reads the twin config settings, and sets all UI controls to those settings
-// Updating the config plugin if required
-void KWinDecorationModule::readConfig( KConfig* conf )
-{
- // General tab
- // ============
- cbShowToolTips->setChecked( conf->readBoolEntry("ShowToolTips", true ));
-// cbUseMiniWindows->setChecked( conf->readBoolEntry("MiniWindowBorders", false));
-
- // Find the corresponding decoration name to that of
- // the current plugin library name
-
- oldLibraryName = currentLibraryName;
- currentLibraryName = conf->readEntry("PluginLib",
- ((TQPixmap::defaultDepth() > 8) ? "twin_plastik" : "twin_quartz"));
- TQString decoName = decorationName( currentLibraryName );
-
- // If we are using the "default" kde client, use the "default" entry.
- if (decoName.isEmpty())
- decoName = i18n("KDE 2");
-
- int numDecos = decorationList->count();
- for (int i = 0; i < numDecos; ++i)
- {
- if (decorationList->text(i) == decoName)
- {
- decorationList->setCurrentItem(i);
- break;
- }
- }
-
- // Buttons tab
- // ============
- bool customPositions = conf->readBoolEntry("CustomButtonPositions", false);
- cbUseCustomButtonPositions->setChecked( customPositions );
- buttonPositionWidget->setEnabled( customPositions );
- // Menu and onAllDesktops buttons are default on LHS
- buttonPositionWidget->setButtonsLeft( conf->readEntry("ButtonsOnLeft", "MS") );
- // Help, Minimize, Maximize and Close are default on RHS
- buttonPositionWidget->setButtonsRight( conf->readEntry("ButtonsOnRight", "HIAX") );
-
- int bsize = conf->readNumEntry( "BorderSize", BorderNormal );
- if( bsize >= BorderTiny && bsize < BordersCount )
- border_size = static_cast< BorderSize >( bsize );
- else
- border_size = BorderNormal;
- checkSupportedBorderSizes();
-
- // Shadows tab
- // ===========
- bool shadowEnabled = conf->readBoolEntry("ShadowEnabled", false);
- cbWindowShadow->setChecked(shadowEnabled);
- activeShadowSettings->setEnabled(shadowEnabled);
- inactiveShadowSettings->setEnabled(shadowEnabled);
- whichShadowSettings->setEnabled(shadowEnabled);
- shadowColourButton->setColor(conf->readColorEntry("ShadowColour", &TQt::black));
- shadowOpacitySlider->setValue((int)ceil(conf->readDoubleNumEntry("ShadowOpacity", 0.70) * 100));
- shadowXOffsetSpinBox->setValue(conf->readNumEntry("ShadowXOffset", 0));
- shadowYOffsetSpinBox->setValue(conf->readNumEntry("ShadowYOffset", 10));
- cbShadowDocks->setChecked(conf->readBoolEntry("ShadowDocks", false));
- cbShadowOverrides->setChecked(conf->readBoolEntry("ShadowOverrides", false));
- cbShadowTopMenus->setChecked(conf->readBoolEntry("ShadowTopMenus", false));
- shadowThicknessSpinBox->setValue(conf->readNumEntry("ShadowThickness", 10));
- cbInactiveShadow->setChecked(conf->readBoolEntry("InactiveShadowEnabled", false));
- inactiveShadowColourButton->setColor(conf->readColorEntry("InactiveShadowColour", &TQt::black));
- inactiveShadowOpacitySlider->setValue((int)ceil(conf->readDoubleNumEntry("InactiveShadowOpacity", 0.70) * 100));
- inactiveShadowXOffsetSpinBox->setValue(conf->readNumEntry("InactiveShadowXOffset", 0));
- inactiveShadowYOffsetSpinBox->setValue(conf->readNumEntry("InactiveShadowYOffset", 5));
- inactiveShadowThicknessSpinBox->setValue(conf->readNumEntry("InactiveShadowThickness", 5));
-
- emit KCModule::changed(false);
-}
-
-
-// Writes the selected user configuration to the twin config file
-void KWinDecorationModule::writeConfig( KConfig* conf )
-{
- TQString name = decorationList->currentText();
- TQString libName = decorationLibName( name );
-
- KConfig twinConfig("twinrc");
- twinConfig.setGroup("Style");
-
- // General settings
- conf->writeEntry("PluginLib", libName);
- conf->writeEntry("CustomButtonPositions", cbUseCustomButtonPositions->isChecked());
- conf->writeEntry("ShowToolTips", cbShowToolTips->isChecked());
-// conf->writeEntry("MiniWindowBorders", cbUseMiniWindows->isChecked());
-
- // Button settings
- conf->writeEntry("ButtonsOnLeft", buttonPositionWidget->buttonsLeft() );
- conf->writeEntry("ButtonsOnRight", buttonPositionWidget->buttonsRight() );
- conf->writeEntry("BorderSize", border_size );
-
- // Shadow settings
- conf->writeEntry("ShadowEnabled", cbWindowShadow->isChecked());
- conf->writeEntry("ShadowColour", shadowColourButton->color());
- conf->writeEntry("ShadowOpacity", shadowOpacitySlider->value() / 100.0);
- conf->writeEntry("ShadowXOffset", shadowXOffsetSpinBox->value());
- conf->writeEntry("ShadowYOffset", shadowYOffsetSpinBox->value());
- conf->writeEntry("ShadowThickness", shadowThicknessSpinBox->value());
- conf->writeEntry("ShadowDocks", cbShadowDocks->isChecked());
- conf->writeEntry("ShadowOverrides", cbShadowOverrides->isChecked());
- conf->writeEntry("ShadowTopMenus", cbShadowTopMenus->isChecked());
- conf->writeEntry("InactiveShadowEnabled", cbInactiveShadow->isChecked());
- conf->writeEntry("InactiveShadowColour", inactiveShadowColourButton->color());
- conf->writeEntry("InactiveShadowOpacity",
- inactiveShadowOpacitySlider->value() / 100.0);
- conf->writeEntry("InactiveShadowXOffset",
- inactiveShadowXOffsetSpinBox->value());
- conf->writeEntry("InactiveShadowYOffset",
- inactiveShadowYOffsetSpinBox->value());
- conf->writeEntry("InactiveShadowThickness",
- inactiveShadowThicknessSpinBox->value());
-
- oldLibraryName = currentLibraryName;
- currentLibraryName = libName;
-
- // We saved, so tell kcmodule that there have been no new user changes made.
- emit KCModule::changed(false);
-}
-
-
-void KWinDecorationModule::dcopUpdateClientList()
-{
- // Changes the current active ListBox item, and
- // Loads a new plugin configuration tab if required.
- KConfig twinConfig("twinrc");
- twinConfig.setGroup("Style");
-
- readConfig( &twinConfig );
- resetPlugin( &twinConfig );
-}
-
-
-// Virutal functions required by KCModule
-void KWinDecorationModule::load()
-{
- KConfig twinConfig("twinrc");
- twinConfig.setGroup("Style");
-
- // Reset by re-reading the config
- readConfig( &twinConfig );
- resetPlugin( &twinConfig );
-}
-
-
-void KWinDecorationModule::save()
-{
- KConfig twinConfig("twinrc");
- twinConfig.setGroup("Style");
-
- writeConfig( &twinConfig );
- emit pluginSave( &twinConfig );
-
- twinConfig.sync();
- resetKWin();
- // resetPlugin() will get called via the above DCOP function
-}
-
-
-void KWinDecorationModule::defaults()
-{
- // Set the KDE defaults
- cbUseCustomButtonPositions->setChecked( false );
- buttonPositionWidget->setEnabled( false );
- cbShowToolTips->setChecked( true );
- cbWindowShadow->setChecked( false );
-// cbUseMiniWindows->setChecked( false);
-// Don't set default for now
-// decorationList->setSelected(
-// decorationList->findItem( i18n("KDE 2") ), true ); // KDE classic client
-
- buttonPositionWidget->setButtonsLeft("MS");
- buttonPositionWidget->setButtonsRight("HIAX");
-
- border_size = BorderNormal;
- checkSupportedBorderSizes();
-
- shadowColourButton->setColor(Qt::black);
- shadowOpacitySlider->setValue(70);
- shadowXOffsetSpinBox->setValue(0);
- shadowYOffsetSpinBox->setValue(10);
- shadowThicknessSpinBox->setValue(10);
- cbShadowDocks->setChecked(false);
- cbShadowOverrides->setChecked(false);
- cbShadowTopMenus->setChecked(false);
- cbInactiveShadow->setChecked(false);
- inactiveShadowColourButton->setColor(Qt::black);
- inactiveShadowOpacitySlider->setValue(70);
- inactiveShadowXOffsetSpinBox->setValue(0);
- inactiveShadowYOffsetSpinBox->setValue(5);
- inactiveShadowThicknessSpinBox->setValue(5);
-
- // Set plugin defaults
- emit pluginDefaults();
-}
-
-void KWinDecorationModule::checkSupportedBorderSizes()
-{
- TQValueList< BorderSize > sizes;
- if( plugins->factory() != NULL )
- sizes = plugins->factory()->borderSizes();
- if( sizes.count() < 2 ) {
- lBorder->hide();
- cBorder->hide();
- } else {
- cBorder->clear();
- for (TQValueList<BorderSize>::const_iterator it = sizes.begin(); it != sizes.end(); ++it) {
- BorderSize size = *it;
- cBorder->insertItem(i18n(border_names[size]), borderSizeToIndex(size,sizes) );
- }
- int pos = borderSizeToIndex( border_size, sizes );
- lBorder->show();
- cBorder->show();
- cBorder->setCurrentItem(pos);
- slotBorderChanged( pos );
- }
-}
-
-TQString KWinDecorationModule::styleToConfigLib( TQString& styleLib )
-{
- if( styleLib.startsWith( "twin3_" ))
- return "twin_" + styleLib.mid( 6 ) + "_config";
- else
- return styleLib + "_config";
-}
-
-TQString KWinDecorationModule::quickHelp() const
-{
- 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 do not 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>"
- "<p>In \"General Options (if available)\" you can activate the \"Buttons\" tab by checking the \"Use custom titlebar button positions\" box."
- " In the \"Buttons\" tab you can change the positions of the buttons to your liking.</p>" );
-}
-
-
-void KWinDecorationModule::resetKWin()
-{
- bool ok = kapp->dcopClient()->send("twin*", "KWinInterface",
- "reconfigure()", TQByteArray());
- if (!ok)
- kdDebug() << "kcmtwindecoration: Could not reconfigure twin" << endl;
-}
-
-#include "twindecoration.moc"
-// vim: ts=4
-// kate: space-indent off; tab-width 4;
-
diff --git a/kwin/kcmkwin/kwindecoration/kwindecoration.desktop b/kwin/kcmkwin/kwindecoration/kwindecoration.desktop
deleted file mode 100644
index dc1e55ef6..000000000
--- a/kwin/kcmkwin/kwindecoration/kwindecoration.desktop
+++ /dev/null
@@ -1,231 +0,0 @@
-[Desktop Entry]
-Exec=kcmshell twindecoration
-Icon=kcmkwm
-Type=Application
-DocPath=kcontrol/twindecoration/index.html
-
-X-KDE-ModuleType=Library
-X-KDE-Library=twindecoration
-X-KDE-FactoryName=twindecoration
-
-Name=Window Decorations
-Name[af]=Venster Versierings
-Name[ar]=زخرفة النافذة
-Name[be]=Дэкарацыі вокнаў
-Name[bg]=Декорация
-Name[bn]=উইণ্ডো সাজসজ্জা
-Name[br]=Kinkladur ar prenester
-Name[bs]=Ukrasi prozora
-Name[ca]=Decoració de les finestres
-Name[cs]=Dekorace oken
-Name[csb]=Dekòracëje òkna
-Name[cy]=Addurniadau Ffenestr
-Name[da]=Vinduesdekorationer
-Name[de]=Fensterdekorationen
-Name[el]=Διακοσμήσεις παραθύρων
-Name[eo]=Fenestro-ornamaĵo
-Name[es]=Decoración de ventanas
-Name[et]=Akna dekoratsioonid
-Name[eu]=Leihoaren dekorazioak
-Name[fa]=تزئینات پنجره
-Name[fi]=Ikkunoiden kehykset
-Name[fr]=Décoration des fenêtres
-Name[fy]=Finsterdekoraasjes
-Name[gl]=Decoracións das Fiestras
-Name[he]=קישוטי חלונות
-Name[hi]=विंडो सजावट
-Name[hr]=Ukrasi prozora
-Name[hu]=Ablakkeret-stílus
-Name[id]=Dekorasi Jendela
-Name[is]=Gluggaskreytingar
-Name[it]=Decorazioni finestra
-Name[ja]=ウィンドウ装飾
-Name[ka]=ფანჯრის დეკორაცია
-Name[kk]=Терезе безендіруі
-Name[km]=ការ​តុបតែង​បង្អួច
-Name[ko]=창 종료 도구
-Name[lo]=ການຕົກແຕ່ງຫນ້າຕ່າງ
-Name[lt]=Langų išvaizda
-Name[lv]=Loga Dekorācijas
-Name[mk]=Декорации на прозорците
-Name[mn]=Цонхны засал
-Name[mt]=Dekorazzjoni tal-Windows
-Name[nb]=Vinduspynt
-Name[nds]=Finsterdekoratschoon
-Name[ne]=सञ्झ्याल सजावट
-Name[nl]=Vensterdecoraties
-Name[nn]=Vindaugsdekorasjonar
-Name[nso]=Dikgabiso tsa Window
-Name[pa]=ਝਰੋਖਾ ਸਜਾਵਟ
-Name[pl]=Dekoracje okna
-Name[pt]=Decorações das Janelas
-Name[pt_BR]=Decorações da Janela
-Name[ro]=Decorări
-Name[ru]=Декорации окон
-Name[rw]=Imitako y'Idirishya
-Name[se]=Lásehearvvat
-Name[sk]=Dekorácie okien
-Name[sl]=Okraski oken
-Name[sr]=Декорација прозора
-Name[sr@Latn]=Dekoracija prozora
-Name[ss]=Kuhlotjiswa kweliwindi
-Name[sv]=Fönsterdekoration
-Name[ta]=சாளர அலங்கரிப்புகள்
-Name[tg]=Декоратсияҳои тиреза
-Name[th]=ตกแต่งหน้าต่าง
-Name[tr]=Pencere Dekorasyonları
-Name[tt]=Täräzä Bizäge
-Name[uk]=Обрамлення вікон
-Name[uz]=Oynaning bezaklari
-Name[uz@cyrillic]=Ойнанинг безаклари
-Name[ven]=U khavhisedza ha windo
-Name[vi]=Trang trí Cửa sổ
-Name[wa]=Gåliotaedjes des purneas
-Name[xh]=Izihombiso zeWindow
-Name[zh_CN]=窗口装饰
-Name[zh_TW]=視窗裝飾
-Name[zu]=Imihlobiso ye-window
-
-Comment=Configure the look and feel of window titles
-Comment[af]=Stel die uitdrukking en gevoek van venster titels op
-Comment[ar]=إعداد شكل و ملمس عنوان النافذة
-Comment[be]=Настаўленні вонкавага выгляду загалоўкаў вокнаў
-Comment[bg]=Настройване външния вид на прозорците
-Comment[bn]=উইণ্ডো শিরোনামের চেহারা কনফিগার করুন
-Comment[br]=Kefluniañ neuz ha feson titloù ar prenester
-Comment[bs]=Ovdje možete podesiti izgled i ponašanje naslova prozora
-Comment[ca]=Configura l'aspecte i efecte dels títols de la finestra
-Comment[cs]=Nastavení vzhledu a dekorací oken
-Comment[csb]=Kònfigùracëjô wëzdrzatkù ë ùchòwaniô titlowi lëstwë òknów
-Comment[cy]=Ffurfweddu golwg a theimlad teitlau ffenestri
-Comment[da]=Indstil udseendet af vinduestitler
-Comment[de]=Das Erscheinungsbild von Fenstertiteln festlegen
-Comment[el]=Ρυθμίστε την εμφάνιση και την αίσθηση των τίτλων παραθύρου
-Comment[eo]=Agordu la fenestrajn titolojn
-Comment[es]=Configuración del aspecto y comportamiento de los títulos de las ventanas
-Comment[et]=Akna tiitliribade välimuse ja tunnetuse seadistamine
-Comment[eu]=Konfiguratu leihoaren izenburuen itxura
-Comment[fa]=پیکربندی ظاهر و احساس عنوان پنجره‌ها
-Comment[fi]=Muokkaa ikkunoiden kehysten ulkonäköä
-Comment[fr]=Configuration de l'apparence du titre des fenêtres
-Comment[fy]=Hjir kinne jo it uterlik en gedrach fan finstertitels ynstelle
-Comment[gl]=Configurar a apariencia dos títulos das fiestras
-Comment[he]=שינוי הגדרות המראה והתחושה של כותרות חלונות
-Comment[hi]=विंडो शीर्षकों के रूप आकार को कॉन्फ़िगर करें
-Comment[hr]=Konfiguriranje izgleda naslova prozora
-Comment[hu]=Az ablakok címsorának megjelenési beállításai
-Comment[is]=Stilla viðmót gluggatitla
-Comment[it]=Configura l'aspetto e il comportamento dei titoli delle finestre
-Comment[ja]=ウィンドウのタイトルバーの外観を設定
-Comment[ka]=ფანჯრის სათაურის იერსახის კონფიგურაცია
-Comment[kk]=Терезе айдарының безендіруін баптау
-Comment[km]=កំណត់​រចនាសម្ព័ន្ធ​រូបរាង​របស់​ចំណងជើង​បង្អួច
-Comment[ko]=창 제목 표시줄의 모습과 느낌 설정
-Comment[lo]=ປັດແຕ່ງລັກສະນະແລະຄວາມຮູ້ສືກໃນການໃຊ້ງານຂອງບາວເຊີ Konqueror
-Comment[lt]=Konfigūruoti langų antraščių išvaizdą ir elgseną
-Comment[lv]=Konfigurē loga virsrakstu izskatu un izturēšanos
-Comment[mk]=Конфигурирајте го изгледот и чувството на насловите на прозорците
-Comment[mn]=Цонхны толгойн харагдалтыг тохируулах
-Comment[mt]=Ikkonfigura d-dehra u l-użu tat-titli tal-windows
-Comment[nb]=Her kan du sette opp hvordan nettleseren Konqueror skal virke og se ut
-Comment[nds]=Dat Utsehn vun de Finstertiteln instellen
-Comment[ne]=सञ्झ्याल शीर्षकहरूको हेराइ र बुझाइ कन्फिगर गर्नुहोस्
-Comment[nl]=Hier kunt u het uiterlijk en gedrag van venstertitels instellen
-Comment[nn]=Set opp utsjånaden på vindaugstitlar
-Comment[nso]=Beakanya pogego le maikutlo a maina a window
-Comment[pa]=ਝਰੋਖਾ ਸਿਰਲੇਖਾਂ ਦੇ ਰੰਗ-ਰੂਪ ਦੀ ਸੰਰਚਨਾ
-Comment[pl]=Konfiguracja wyglądu i zachowania belek tytułowych okien
-Comment[pt]=Configuração da aparência e comportamento dos títulos das janelas
-Comment[pt_BR]=Configura a aparência dos títulos de janelas
-Comment[ro]=Configurează aspectul titlului ferestrelor
-Comment[ru]=Настройка внешнего вида заголовков окон
-Comment[rw]=Kuboneza imboneko n'ukumva kw'imitwe y'idirishya
-Comment[se]=Heivet lásenamahusaid fárdda
-Comment[sk]=Nastavenie vzhľadu titulkov okien
-Comment[sl]=Nastavite videz in delovanje naslovnih vrstic okna.
-Comment[sr]=Подешавање изгледа и осећаја насловних линија прозора
-Comment[sr@Latn]=Podešavanje izgleda i osećaja naslovnih linija prozora
-Comment[sv]=Anpassa namnlisternas utseende och känsla
-Comment[ta]=சாளரம் மற்றும் தலைப்பின் காட்சிவகையை மாற்று
-Comment[tg]=Танзими намо ва ҳиси унвони тиреза
-Comment[th]=ปรับแต่งลักษณะรูปแบบและสัมผัสสึกของแถบหัวเรื่องหน้าต่าง
-Comment[tr]=Pencere başlıklarını görünümlerini yapılandır
-Comment[tt]=Täräzä başlığınıñ küreneşen caylaw
-Comment[uk]=Налаштування вигляду та поведінки заголовків вікон
-Comment[uz]=Oyna sarlavhasining tashqi koʻrinishini moslash
-Comment[uz@cyrillic]=Ойна сарлавҳасининг ташқи кўринишини мослаш
-Comment[ven]=Dzudzanyani mbonalelo na zwipfi zwa buronza ya inithanete ino pfi Konqueror
-Comment[vi]=Cấu hình cảm nhận cho tên cửa sổ
-Comment[wa]=Apontyî li rivnance eyet l' dujhance des tites des purneas
-Comment[xh]=Qwalasela inkangeleko nemvakalelo yezihloko zeWindow
-Comment[zh_CN]=配置窗口标题的观感
-Comment[zh_TW]=設定視窗標題列的外觀與感覺
-Comment[zu]=Hlanganisela ukubona kanye nokuzwa kwezihloko zama-window
-
-Keywords=twin,window,manager,border,style,theme,look,feel,layout,button,handle,edge,kwm,decoration
-Keywords[ar]=twin,نافذة,مسيير,الحافة,الشكل,سمة,مظهر,ملمس,تصميم,زر,معامل,مدبر,kwm,زخرفات
-Keywords[az]=twin,pəncərə,idarəçi,kənar,tərz,örtü,görünüş,toxuma,yer,düymə,applet,kənar,kwm,dekorasiya,bəzək
-Keywords[be]=Акно,Кіраўнік,Мяжа,Стыль,Тэма,Вонкавы выгляд,Кнопкі,Апрацоўшчык,Край,Дэкарацыя,twin,window,manager,border,style,theme,look,feel,layout,button,handle,edge,kwm,decoration
-Keywords[bg]=прозорец, декорация, заглавие, бутони, меню, twin, window, manager, border, style, theme, look, feel, layout, button, handle, edge, kwm, decoration
-Keywords[ca]=twin,finestra,gestor,vora,estil,tema,aspecte,comportament,disposició,botó,nansa,marges,kwm,decoració
-Keywords[cs]=twin,okno,správce,okraj,styl,motiv,vzhled,rozvržení,tlačítko,úchytka,hrana,kwm,dekorace
-Keywords[csb]=twin,òkno,menedżer,zberk,sztél,téma,wëzdrzatk,ùchòwanié,ùstôw,knąpa,ùchwët,rańt,kwm,dekòracëjô
-Keywords[cy]=twin,ffenestr,trefnydd,ymyl,arddull,thema,golwg,teimlad,haenlun,botwm,carn,kwm,addurniad
-Keywords[da]=twin,vindue,håndtering,kant,stil,tema,udseende,fornemmelse,layout,knap,håndtag,kant,kwm,dekoration
-Keywords[de]=KWin,Kwm,Fenster,Manager,Rahmen,Design,Stile,Themes,Optik,Erscheinungsbild,Layout,Knöpfe,Ränder,Dekorationen
-Keywords[el]=twin,παράθυρο,διαχειριστής,περίγραμμα,στυλ,θέμα,εμφάνιση,αίσθηση,διάταξη,κουμπί,χειρισμός,άκρο,kwm,διακόσμηση
-Keywords[eo]=twin,fenestro,administrilo,rando,stilo,etoso,aspekto,konduto,aranĝo,butono,eĝo,kwm,ornamo
-Keywords[es]=twin,ventana,gestor,borde,estilo,tema,aspecto,comportamiento,disposición,botón,asa,esquina,kwm,decoración
-Keywords[et]=twin,aken,haldur,piire,stiil,teema,välimus,kasutamine,nupud,serv,kwm,dekoratsioon
-Keywords[eu]=twin,leihoa,kudeatzailea,ertza,estiloa,gaia,itxura,antolaketa,botoia, maneiatzailea,ertzea,kwm,dekorazioa
-Keywords[fa]=twin، پنجره، مدیر، لبه، سبک، چهره، ظاهر، احساس، طرح‌بندی، دکمه، گرداندن، لبه، kwm، تزئین
-Keywords[fi]=twin,ikkuna,ikkunaohjelma,ikkunoinnin hallintaohjelma,tausta,tyyli,teema,ulkonäkö,tuntuma,ulkoasu,painike,kahva,kulma,kwm,kehys
-Keywords[fr]=twin,fenêtre,gestionnaire,bordure,style,thème,apparence,ergonomie,disposition,bouton,poignée,bord,kwm,décoration
-Keywords[fy]=twin,window,manager,rand,stijl,theme,tema,look,uiterlijk,gedrag,feel,layout,opmaak,button,knoppen,handle,rand,kwm,decoratie,windowmanager,venster,vensterbeheer,finster,râne,kader,styltema,uterlik,gedrach,finsterbehear
-Keywords[ga]=twin,fuinneog,bainisteoir,imlíne,stíl,téama,leagan amach,cnaipe,hanla,ciumhais,kwm,maisiúchán
-Keywords[gl]=twin,fiestra,xestor,beira,estilo,tema,apariencia,formato,botón,xestión,esquina,kwm,decoración
-Keywords[he]=מנהל חלונות,חלונות,מנהל,גבול,מסגרת,סגנון,ערכה,ערכת נושא,מראה,תחושה,פריסה,תצוגה,כפתור,ידית,קצה,קישוט, twin,window,manager,border,style,theme,look,feel,layout,button,handle, edge,kwm,decoration
-Keywords[hi]=के-विन,विंडो,प्रबंधक,बार्डर,शैली,प्रसंग,रूप,अनुभव,ले-आउट,बटन,हैंडल,किनारा,केडबल्यूएम,सजावट
-Keywords[hr]=twin,window,manager,border,style,theme,look,feel,layout,button,handle,edge,kwm,decoration,prozor,upravljanje,obrub,stil,tema,izgled,raspored,gumb,rukovanje,rub,ukras
-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]=twin,gluggi,gluggastjóri,gluggar,kantar,rammi,skreyting,þema,stíll,útlit,takki,kwm,skraut
-Keywords[it]=twin,finestra,window manager,bordo,stile,tema,aspetto,pulsante,maniglia,bordo,kwm,decorazione
-Keywords[ja]=twin,ウィンドウ,マネージャ,枠,スタイル,テーマ,ルック,外観,レイアウト,ボタン,ハンドル,エッジ,kwm,装飾
-Keywords[km]=twin,បង្អួច,កម្មវិធី​គ្រប់គ្រង,ស៊ុម,រចនាប័ទ្ម,ស្បែក,មុខងារ,ប្លង់,ប៊ូតុង,ការ​ប្រើ,គែម,kwm,ការ​តុបតែង
-Keywords[lt]=twin,window,manager,border,style,theme,look,feel,layout,buttons,handle,edge,kwm,decoration,langas,tvarkyklė,rėmelis,stilius,tema,žiūrėti,jausti,išdėstymas,mygtukai,kraštas,dekoracija
-Keywords[lv]=twin, logs, menedžeris, rāmis, stils, tēma, skats, gars, izkārtojums, poga, rokturis, stūris, kwm, dekorācija
-Keywords[mk]=twin,window,manager,border,style,theme,look,feel,layout,button,handle,edge,kwm,decoration,прозорец,менаџер,граница,стил,тема,изглед,чувство,распоред,копче,рачка,раб,декорација
-Keywords[mn]=KWin,Kwm,Цонх,Manager,Хүрээ,Design,Хэлбэр,Загвар, Optik,Харагдалт,Layout,Товч,Өнцөг,Засал
-Keywords[mt]=twin, window, manager, border, bordura, stil, tema, apparenza, style, theme, look, feel, layout, tqassim, użu, button, handle, edge, kwm, decoration
-Keywords[nb]=twin,vindu,vindusstyring,styrer,ramme,stil,tema,utseende,layout,knapp,kant,kwm,pynt,dekorasjon
-Keywords[nds]=twin,Finster,Finsterpleger,manager,Rahmen,Stil,Muster,look,feel,layout,Knoop,Greep,Rand,kwm,Dekoratschoon
-Keywords[ne]=के विन,सञ्झ्याल, प्रबन्धक, किनारा, शैली, विषयवस्तु, हेराइ, बुझाइ, सजावट, बटन, ह्यान्डल, छेउ,kwm, सजावट
-Keywords[nl]=twin,window,manager,rand,stijl,theme,thema,look,uiterlijk,gedrag,feel, layout,opmaak,button,knoppen,handle,rand,kwm,decoratie,windowmanager,venster,vensterbeheer
-Keywords[nn]=twin,vindauge,kant,bord,stil,tema,utsjånad,bunad,knapp,handtak,kwm,dekorasjon
-Keywords[nso]=twin,window,molaodi,mollwane,mokgwa,molaetsa,tebelego,maikutlo,peakanyo,setobetswa,moswaro,nthla,kwm,kgabiso
-Keywords[pa]=twin,handle,edge,kwm,decoration,ਝਰੋਖਾ,ਮੈਨੇਜਰ,ਹਾਸ਼ੀਆ,ਸ਼ੈਲੀ,ਸਰੂਪ,ਦਿੱਖ,ਖਾਕਾ,ਬਟਨ,ਹੈਂਡਲ,ਸਜਾਵਟ
-Keywords[pl]=twin,okno,menedżer,brzeg,styl,motyw,wygląd,zachowanie,układ,przycisk,uchwyt,krawędź,kwm,dekoracja
-Keywords[pt]=twin,janela,gestor,contorno,estilo,tema,aparência,comportamento,visual,botão,pega,extremo,kwm,decoração
-Keywords[pt_BR]=twin,janela,gerenciador,borda,estilo,tema,aparência,aparência,botão, gerenciador,borda,kwm,decoração
-Keywords[ro]=twin,fereastră,manager,margine,stil,tematică,aspect,comportament,format,buton,kwm,decorare
-Keywords[rw]=twin,idirishya,muyobozi,impera,imisusire,insanganyamatsiko,imboneko,kumva,imigaragarire,buto,ikirindi,impera,kwm,ugutaaka
-Keywords[se]=twin,láse,gieđahalli,ravda,stiila,fáddá,fárda,dovdu,hápmi,boallu,geavja,ravda,kwm,hearva
-Keywords[sk]=twin,okno,správa,okraj,štýl,téma,vzhľad,rozloženie,tlačidlo,hrana,kwm,dekorácia,oblasť
-Keywords[sl]=twin,okno,upravitelj,rob,meja,slog,stil,tema,pogled,občutek,gumb,ročaj,rob,kwm,okrasek
-Keywords[sr]=twin,window,manager,border,style,theme,look,feel,layout,button,handle,edge,kwm,decoration,прозор,менаџер,оквир,стил,тема,изглед,дугме,хватаљка,декорација
-Keywords[sr@Latn]=twin,window,manager,border,style,theme,look,feel,layout,button,handle,edge,kwm,decoration,prozor,menadžer,okvir,stil,tema,izgled,dugme,hvataljka,dekoracija
-Keywords[sv]=twin,fönster,hanterare,kant,stil,tema,utseende,känsla,layout,knapp,hantera,kant,kwm,dekoration
-Keywords[ta]=twin,சாளரம்,மேலாளர்,விளிம்பு,பாணி,தலைப்பு,பார்வை,உணர்தல்,உருவரை,விசை,கையாள்,முனை,kwm,அலங்கரிப்பு
-Keywords[th]=twin,หน้าต่าง,ตัวจัดการ,กรอบ,ลักษณะ,ชุดตกแต่ง,มองเห็น,รู้สึก,การจัดวาง,ปุ่ม,ที่จับ,ขอบ,kwm,การตกแต่ง
-Keywords[tr]=twin,pencere,yönetici,kenar,stil,tema,görünüş,doku,yerleşim,düğme,tutamaç,kenar,kwm,dekorasyon
-Keywords[uk]=twin,вікно,менеджер,границя,стиль,тема,вигляд,поведінка,розклад,кнопка,handle,край,kwm,обрамлення
-Keywords[uz]=twin,kwm,bezak,oyna,boshqaruvchi,usul,tashqi koʻrinish
-Keywords[uz@cyrillic]=twin,kwm,безак,ойна,бошқарувчи,усул,ташқи кўриниш
-Keywords[ven]=twin,windo,mulanguli,mukanoni,tshitaela,thero,sedza,upfa,vhuvha,bathene,fara,mafhedziselo,kwn,u khavhisedza
-Keywords[vi]=twin,cửa sổ,quản lý,bờ,kiểu,sắc thái,ngoại hình,cảm nhận,sắp xếp,nút,điều khiển,cạnh,kwm,trang trí
-Keywords[wa]=twin,kpurnea,purnea,manaedjeu,boird,stîle,tinme,rivnance,layout;loukance,boton,apougnî,costé,kwm,gåliotaedje
-Keywords[xh]=twin,window,umphathi,umda,uhlobo,umxholo wokuxoxwa,jonga,yiva,beka,iqhosha,umqheba,umda,kwm,uhombiso
-Keywords[zh_CN]=twin,window,manager,border,style,theme,look,feel,layout,button,handle,edge,kwm,decoration,窗口,管理器,边框,样式,主题,观感,布局,按钮,处理,边缘,装饰
-Keywords[zh_TW]=twin,window,manager,border,style,theme,look,feel,layout,button,handle,edge,kwm,decoration,視窗,管理員,邊框,風格,佈景主題,外觀,感覺,佈局,按鈕,邊緣,裝飾
-Keywords[zu]=twin,i-window,imenenja,umngcele,isitayela,bona,izwa, isendlalelo,inkinobho,isibambo,unqenqema,kwm,umhlobiso
-Categories=Qt;KDE;X-KDE-settings-looknfeel;
diff --git a/kwin/kcmkwin/kwindecoration/kwindecoration.h b/kwin/kcmkwin/kwindecoration/kwindecoration.h
deleted file mode 100644
index f6b535024..000000000
--- a/kwin/kcmkwin/kwindecoration/kwindecoration.h
+++ /dev/null
@@ -1,148 +0,0 @@
-/*
- This is the new twindecoration kcontrol module
-
- Copyright (c) 2001
- Karol Szwed <gallium@kde.org>
- http://gallium.n3.net/
-
- Supports new twin configuration plugins, and titlebar button position
- modification via dnd interface.
-
- Based on original "twintheme" (Window Borders)
- Copyright (C) 2001 Rik Hemsley (rikkus) <rik@kde.org>
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-
-*/
-
-#ifndef KWINDECORATION_H
-#define KWINDECORATION_H
-
-#include <kcmodule.h>
-#include <dcopobject.h>
-#include <buttons.h>
-#include <kconfig.h>
-#include <klibloader.h>
-
-#include <kdecoration.h>
-
-#include "twindecorationIface.h"
-
-class KComboBox;
-class TQCheckBox;
-class TQLabel;
-class TQTabWidget;
-class TQVBox;
-class TQSlider;
-
-class KDecorationPlugins;
-class KDecorationPreview;
-
-// Stores themeName and its corresponding library Name
-struct DecorationInfo
-{
- TQString name;
- TQString libraryName;
-};
-
-
-class KWinDecorationModule : public KCModule, virtual public KWinDecorationIface, public KDecorationDefines
-{
- Q_OBJECT
-
- public:
- KWinDecorationModule(TQWidget* parent, const char* name, const TQStringList &);
- ~KWinDecorationModule();
-
- virtual void load();
- virtual void save();
- virtual void defaults();
-
- TQString quickHelp() const;
-
- virtual void dcopUpdateClientList();
-
- signals:
- void pluginLoad( KConfig* conf );
- void pluginSave( KConfig* conf );
- void pluginDefaults();
-
- protected slots:
- // Allows us to turn "save" on
- void slotSelectionChanged();
- void slotChangeDecoration( const TQString & );
- void slotBorderChanged( int );
- void slotButtonsChanged();
-
- private:
- void readConfig( KConfig* conf );
- void writeConfig( KConfig* conf );
- void findDecorations();
- void createDecorationList();
- void updateSelection();
- TQString decorationLibName( const TQString& name );
- TQString decorationName ( TQString& libName );
- static TQString styleToConfigLib( TQString& styleLib );
- void resetPlugin( KConfig* conf, const TQString& currentDecoName = TQString::null );
- void resetKWin();
- void checkSupportedBorderSizes();
- static int borderSizeToIndex( BorderSize size, TQValueList< BorderSize > sizes );
- static BorderSize indexToBorderSize( int index, TQValueList< BorderSize > sizes );
-
- TQTabWidget* tabWidget;
-
- // Page 1
- KComboBox* decorationList;
- TQValueList<DecorationInfo> decorations;
-
- KDecorationPreview* preview;
- KDecorationPlugins* plugins;
- KConfig twinConfig;
-
- TQCheckBox* cbUseCustomButtonPositions;
- // TQCheckBox* cbUseMiniWindows;
- TQCheckBox* cbShowToolTips;
- TQLabel* lBorder;
- TQComboBox* cBorder;
- BorderSize border_size;
-
- TQObject* pluginObject;
- TQWidget* pluginConfigWidget;
- TQString currentLibraryName;
- TQString oldLibraryName;
- TQObject* (*allocatePlugin)( KConfig* conf, TQWidget* parent );
-
- // Page 2
- ButtonPositionWidget *buttonPositionWidget;
- TQVBox* buttonPage;
-
- // Page 3
- TQVBox *shadowPage;
- KColorButton *inactiveShadowColourButton, *shadowColourButton;
- TQCheckBox *cbShadowDocks, *cbShadowOverrides, *cbShadowTopMenus;
- TQCheckBox *cbInactiveShadow, *cbWindowShadow;
- TQGroupBox *activeShadowSettings, *inactiveShadowSettings;
- TQGroupBox *whichShadowSettings;
- TQSlider *inactiveShadowOpacitySlider, *shadowOpacitySlider;
- TQSpinBox *inactiveShadowOpacitySpinBox, *shadowOpacitySpinBox;
- TQSpinBox *inactiveShadowXOffsetSpinBox, *shadowXOffsetSpinBox;
- TQSpinBox *inactiveShadowYOffsetSpinBox, *shadowYOffsetSpinBox;
- TQSpinBox *inactiveShadowThicknessSpinBox, *shadowThicknessSpinBox;
-};
-
-
-#endif
-// vim: ts=4
-// kate: space-indent off; tab-width 4;
diff --git a/kwin/kcmkwin/kwindecoration/kwindecorationIface.h b/kwin/kcmkwin/kwindecoration/kwindecorationIface.h
deleted file mode 100644
index f50082648..000000000
--- a/kwin/kcmkwin/kwindecoration/kwindecorationIface.h
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
- This is the new twindecoration kcontrol module
-
- Copyright (c) 2001
- Karol Szwed (gallium) <karlmail@usa.net>
- http://gallium.n3.net/
-
- Supports new twin configuration plugins, and titlebar button position
- modification via dnd interface.
-
- Based on original "twintheme" (Window Borders)
- Copyright (C) 2001 Rik Hemsley (rikkus) <rik@kde.org>
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-
-*/
-
-#ifndef __KWINDECORATIONIFACE_H
-#define __KWINDECORATIONIFACE_H
-
-#include <dcopobject.h>
-
-class KWinDecorationIface: virtual public DCOPObject
-{
- K_DCOP
- public:
-
- k_dcop:
- virtual void dcopUpdateClientList()=0;
-};
-
-#endif
diff --git a/kwin/kcmkwin/kwindecoration/pixmaps.h b/kwin/kcmkwin/kwindecoration/pixmaps.h
deleted file mode 100644
index 710e01425..000000000
--- a/kwin/kcmkwin/kwindecoration/pixmaps.h
+++ /dev/null
@@ -1,110 +0,0 @@
-/*
- This is the new twindecoration kcontrol module
-
- Copyright (c) 2004, Sandro Giessl <sandro@giessl.com>
- Copyright (c) 2001
- Karol Szwed <gallium@kde.org>
- http://gallium.n3.net/
-
- Supports new twin configuration plugins, and titlebar button position
- modification via dnd interface.
-
- Based on original "twintheme" (Window Borders)
- Copyright (C) 2001 Rik Hemsley (rikkus) <rik@kde.org>
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-
-*/
-
-// Button icon bitmap data which is hopefully generic enough to be recognized by everyone.
-
-// close.xbm:
-#define close_width 12
-#define close_height 12
-static unsigned char close_bits[] = {
- 0x00, 0x00, 0x06, 0x06, 0x0e, 0x07, 0x9c, 0x03, 0xf8, 0x01, 0xf0, 0x00,
- 0xf0, 0x00, 0xf8, 0x01, 0x9c, 0x03, 0x0e, 0x07, 0x06, 0x06, 0x00, 0x00 };
-
-// help.xbm:
-#define help_width 12
-#define help_height 12
-static unsigned char help_bits[] = {
- 0x00, 0x00, 0x00, 0x00, 0xf8, 0x00, 0xfc, 0x01, 0x8c, 0x01, 0xc0, 0x01,
- 0xe0, 0x00, 0x60, 0x00, 0x00, 0x00, 0x60, 0x00, 0x60, 0x00, 0x00, 0x00 };
-
-// keepaboveothers.xbm:
-#define keepaboveothers_width 12
-#define keepaboveothers_height 12
-static unsigned char keepaboveothers_bits[] = {
- 0x00, 0x00, 0x60, 0x00, 0xf0, 0x00, 0xf8, 0x01, 0x60, 0x00, 0xfe, 0x07,
- 0xfe, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 };
-
-// keepbelowothers.xbm:
-#define keepbelowothers_width 12
-#define keepbelowothers_height 12
-static unsigned char keepbelowothers_bits[] = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x07,
- 0xfe, 0x07, 0x60, 0x00, 0xf8, 0x01, 0xf0, 0x00, 0x60, 0x00, 0x00, 0x00 };
-
-// maximize.xbm:
-#define maximize_width 12
-#define maximize_height 12
-static unsigned char maximize_bits[] = {
- 0x00, 0x00, 0xfe, 0x07, 0xfe, 0x07, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04,
- 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0xfe, 0x07, 0x00, 0x00 };
-
-// menu.xbm:
-#define menu_width 12
-#define menu_height 12
-static unsigned char menu_bits[] = {
- 0x00, 0x00, 0xfc, 0x03, 0xf4, 0x02, 0x04, 0x02, 0xf4, 0x02, 0x04, 0x02,
- 0xf4, 0x02, 0x04, 0x02, 0xf4, 0x02, 0x04, 0x02, 0xfc, 0x03, 0x00, 0x00 };
-
-// minimize.xbm:
-#define minimize_width 12
-#define minimize_height 12
-static unsigned char minimize_bits[] = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x07, 0xfe, 0x07, 0x00, 0x00 };
-
-// onalldesktops.xbm:
-#define onalldesktops_width 12
-#define onalldesktops_height 12
-static unsigned char onalldesktops_bits[] = {
- 0x00, 0x00, 0x60, 0x00, 0x60, 0x00, 0x60, 0x00, 0x60, 0x00, 0xfe, 0x07,
- 0xfe, 0x07, 0x60, 0x00, 0x60, 0x00, 0x60, 0x00, 0x60, 0x00, 0x00, 0x00 };
-
-// resize.xbm:
-#define resize_width 12
-#define resize_height 12
-static unsigned char resize_bits[] = {
- 0x00, 0x00, 0xfe, 0x07, 0x42, 0x04, 0x42, 0x04, 0x42, 0x04, 0x42, 0x04,
- 0x7e, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0xfe, 0x07, 0x00, 0x00 };
-
-// shade.xbm:
-#define shade_width 12
-#define shade_height 12
-static unsigned char shade_bits[] = {
- 0x00, 0x00, 0xfe, 0x07, 0xfe, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 };
-
-// spacer.xbm:
-#define spacer_width 12
-#define spacer_height 12
-static unsigned char spacer_bits[] = {
- 0x00, 0x00, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x54, 0x03,
- 0xac, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x00, 0x00 };
-
-// vim: ts=4
diff --git a/kwin/kcmkwin/kwindecoration/preview.cpp b/kwin/kcmkwin/kwindecoration/preview.cpp
deleted file mode 100644
index ee8c59c75..000000000
--- a/kwin/kcmkwin/kwindecoration/preview.cpp
+++ /dev/null
@@ -1,507 +0,0 @@
-/*
- *
- * Copyright (c) 2003 Lubos Lunak <l.lunak@kde.org>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- */
-
-#include "preview.h"
-
-#include <kapplication.h>
-#include <klocale.h>
-#include <kconfig.h>
-#include <kglobal.h>
-#include <tqlabel.h>
-#include <tqstyle.h>
-#include <kiconloader.h>
-
-#include <X11/Xlib.h>
-#include <X11/extensions/shape.h>
-
-#include <kdecorationfactory.h>
-#include <kdecoration_plugins_p.h>
-
-// FRAME the preview doesn't update to reflect the changes done in the kcm
-
-KDecorationPreview::KDecorationPreview( TQWidget* parent, const char* name )
- : TQWidget( 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 TQLabel( i18n( "No preview available.\n"
- "Most probably there\n"
- "was a problem loading the plugin." ), this );
-
- no_preview->tqsetAlignment( AlignCenter );
-
- setMinimumSize( 100, 100 );
- no_preview->resize( size());
- }
-
-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]; // 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( TQResizeEvent* e )
- {
- TQWidget::resizeEvent( e );
- positionPreviews();
- }
-
-void KDecorationPreview::positionPreviews()
- {
- int titleBarHeight, leftBorder, rightBorder, xoffset,
- dummy1, dummy2, dummy3;
- TQRect geometry;
- TQSize size;
-
- no_preview->resize( this->size() );
-
- if ( !deco[Active] || !deco[Inactive] )
- return;
-
- // don't have more than one reference to the same dummy variable in one borders() call.
- deco[Active]->borders( dummy1, dummy2, titleBarHeight, dummy3 );
- deco[Inactive]->borders( leftBorder, rightBorder, dummy1, dummy2 );
-
- titleBarHeight = kMin( int( titleBarHeight * .9 ), 30 );
- xoffset = kMin( kMax( 10, TQApplication::reverseLayout()
- ? leftBorder : rightBorder ), 30 );
-
- // Resize the active window
- size = TQSize( width() - xoffset, height() - titleBarHeight )
- .expandedTo( deco[Active]->tqminimumSize() );
- geometry = TQRect( TQPoint( 0, titleBarHeight ), size );
- deco[Active]->widget()->setGeometry( TQStyle::tqvisualRect( geometry, this ) );
-
- // Resize the inactive window
- size = TQSize( width() - xoffset, height() - titleBarHeight )
- .expandedTo( deco[Inactive]->tqminimumSize() );
- geometry = TQRect( TQPoint( xoffset, 0 ), size );
- deco[Inactive]->widget()->setGeometry( TQStyle::tqvisualRect( geometry, this ) );
- }
-
-void KDecorationPreview::setPreviewMask( const TQRegion& reg, int mode, bool active )
- {
- TQWidget *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
- {
- TQMemArray< TQRect > rects = reg.tqrects();
- 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;
- }
- if( active )
- mask = reg; // keep tqshape of the active window for unobscuredRegion()
- }
-
-TQRect KDecorationPreview::windowGeometry( bool active ) const
- {
- TQWidget *widget = active ? deco[Active]->widget() : deco[Inactive]->widget();
- return widget->geometry();
- }
-
-void KDecorationPreview::setTempBorderSize(KDecorationPlugins* plugin, KDecorationDefines::BorderSize size)
- {
- options->setCustomBorderSize(size);
- if (plugin->factory()->reset(KDecorationDefines::SettingBorder) )
- {
- // can't handle the change, recreate decorations then
- recreateDecoration(plugin);
- }
- else
- {
- // handles the update, only update position...
- positionPreviews();
- }
- }
-
-void KDecorationPreview::setTempButtons(KDecorationPlugins* plugin, bool customEnabled, const TQString &left, const TQString &right)
- {
- options->setCustomTitleButtonsEnabled(customEnabled);
- options->setCustomTitleButtons(left, right);
- if (plugin->factory()->reset(KDecorationDefines::SettingButtons) )
- {
- // can't handle the change, recreate decorations then
- recreateDecoration(plugin);
- }
- else
- {
- // handles the update, only update position...
- positionPreviews();
- }
- }
-
-TQRegion KDecorationPreview::unobscuredRegion( bool active, const TQRegion& r ) const
- {
- if( active ) // this one is not obscured
- return r;
- else
- {
- // copied from KWin core's code
- TQRegion ret = r;
- TQRegion r2 = mask;
- if( r2.isEmpty())
- r2 = TQRegion( windowGeometry( true ));
- r2.translate( windowGeometry( true ).x() - windowGeometry( false ).x(),
- windowGeometry( true ).y() - windowGeometry( false ).y());
- ret -= r2;
- return ret;
- }
- }
-
-KDecorationPreviewBridge::KDecorationPreviewBridge( KDecorationPreview* p, bool a )
- : preview( p ), active( a )
- {
- }
-
-TQWidget* 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::isSetShade() 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;
- }
-
-TQIconSet KDecorationPreviewBridge::icon() const
- {
- return TQIconSet( KGlobal::iconLoader()->loadIcon( "xapp", KIcon::NoGroup, 16 ),
- KGlobal::iconLoader()->loadIcon( "xapp", KIcon::NoGroup, 32 ));
- }
-
-TQString KDecorationPreviewBridge::caption() const
- {
- return active ? i18n( "Active Window" ) : i18n( "Inactive Window" );
- }
-
-void KDecorationPreviewBridge::processMousePressEvent( TQMouseEvent* )
- {
- }
-
-void KDecorationPreviewBridge::showWindowMenu( const TQRect &)
- {
- }
-
-void KDecorationPreviewBridge::showWindowMenu( TQPoint )
- {
- }
-
-void KDecorationPreviewBridge::performWindowOperation( WindowOperation )
- {
- }
-
-void KDecorationPreviewBridge::setMask( const TQRegion& reg, int mode )
- {
- preview->setPreviewMask( reg, mode, active );
- }
-
-bool KDecorationPreviewBridge::isPreview() const
- {
- return true;
- }
-
-TQRect KDecorationPreviewBridge::geometry() const
- {
- return preview->windowGeometry( active );
- }
-
-TQRect KDecorationPreviewBridge::iconGeometry() const
- {
- return TQRect();
- }
-
-TQRegion KDecorationPreviewBridge::unobscuredRegion( const TQRegion& r ) const
- {
- return preview->unobscuredRegion( active, r );
- }
-
-TQWidget* KDecorationPreviewBridge::workspaceWidget() const
- {
- return preview;
- }
-
-WId KDecorationPreviewBridge::windowId() const
- {
- return 0; // no decorated window
- }
-
-void KDecorationPreviewBridge::closeWindow()
- {
- }
-
-void KDecorationPreviewBridge::maximize( MaximizeMode )
- {
- }
-
-void KDecorationPreviewBridge::minimize()
- {
- }
-
-void KDecorationPreviewBridge::showContextHelp()
- {
- }
-
-void KDecorationPreviewBridge::setDesktop( int )
- {
- }
-
-void KDecorationPreviewBridge::titlebarDblClickOperation()
- {
- }
-
-void KDecorationPreviewBridge::titlebarMouseWheelOperation( int )
- {
- }
-
-void KDecorationPreviewBridge::setShade( bool )
- {
- }
-
-void KDecorationPreviewBridge::setKeepAbove( bool )
- {
- }
-
-void KDecorationPreviewBridge::setKeepBelow( bool )
- {
- }
-
-int KDecorationPreviewBridge::currentDesktop() const
- {
- return 1;
- }
-
-void KDecorationPreviewBridge::helperShowHide( bool )
- {
- }
-
-void KDecorationPreviewBridge::grabXServer( bool )
- {
- }
-
-KDecorationPreviewOptions::KDecorationPreviewOptions()
- {
- customBorderSize = BordersCount; // invalid
- customButtonsChanged = false; // invalid
- customButtons = true;
- customTitleButtonsLeft = TQString::null; // invalid
- customTitleButtonsRight = TQString::null; // invalid
-
- d = new KDecorationOptionsPrivate;
- d->defaultKWinSettings();
- updateSettings();
- }
-
-KDecorationPreviewOptions::~KDecorationPreviewOptions()
- {
- delete d;
- }
-
-unsigned long KDecorationPreviewOptions::updateSettings()
- {
- KConfig cfg( "twinrc", true );
- unsigned long changed = 0;
- changed |= d->updateKWinSettings( &cfg );
-
- // set custom border size/buttons
- if (customBorderSize != BordersCount)
- d->border_size = customBorderSize;
- if (customButtonsChanged)
- d->custom_button_positions = customButtons;
- if (customButtons) {
- if (!customTitleButtonsLeft.isNull() )
- d->title_buttons_left = customTitleButtonsLeft;
- if (!customTitleButtonsRight.isNull() )
- d->title_buttons_right = customTitleButtonsRight;
- } else {
- d->title_buttons_left = "MS";
- d->title_buttons_right = "HIAX";
- }
-
- return changed;
- }
-
-void KDecorationPreviewOptions::setCustomBorderSize(BorderSize size)
- {
- customBorderSize = size;
-
- updateSettings();
- }
-
-void KDecorationPreviewOptions::setCustomTitleButtonsEnabled(bool enabled)
-{
- customButtonsChanged = true;
- customButtons = enabled;
-
- updateSettings();
-}
-
-void KDecorationPreviewOptions::setCustomTitleButtons(const TQString &left, const TQString &right)
- {
- customTitleButtonsLeft = left;
- customTitleButtonsRight = right;
-
- updateSettings();
- }
-
-bool KDecorationPreviewPlugins::provides( Requirement )
- {
- return false;
- }
-
-#include "preview.moc"
diff --git a/kwin/kcmkwin/kwindecoration/preview.h b/kwin/kcmkwin/kwindecoration/preview.h
deleted file mode 100644
index 2a753db69..000000000
--- a/kwin/kcmkwin/kwindecoration/preview.h
+++ /dev/null
@@ -1,150 +0,0 @@
-/*
- *
- * Copyright (c) 2003 Lubos Lunak <l.lunak@kde.org>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- */
-
-#ifndef KWINDECORATION_PREVIEW_H
-#define KWINDECORATION_PREVIEW_H
-
-#include <tqwidget.h>
-#include <kdecoration_p.h>
-#include <kdecoration_plugins_p.h>
-
-class TQLabel;
-
-class KDecorationPreviewBridge;
-class KDecorationPreviewOptions;
-
-class KDecorationPreview
- : public TQWidget
- {
- 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( TQWidget* parent = NULL, const char* name = NULL );
- virtual ~KDecorationPreview();
- bool recreateDecoration( KDecorationPlugins* plugin );
- void enablePreview();
- void disablePreview();
- void setPreviewMask( const TQRegion&, int, bool );
- TQRegion unobscuredRegion( bool, const TQRegion& ) const;
- TQRect windowGeometry( bool ) const;
- void setTempBorderSize(KDecorationPlugins* plugin, KDecorationDefines::BorderSize size);
- void setTempButtons(KDecorationPlugins* plugin, bool customEnabled, const TQString &left, const TQString &right);
- protected:
- virtual void resizeEvent( TQResizeEvent* );
- private:
- void positionPreviews();
- KDecorationPreviewOptions* options;
- KDecorationPreviewBridge* bridge[NumWindows];
- KDecoration* deco[NumWindows];
- TQLabel* no_preview;
- TQRegion mask;
- };
-
-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 isSetShade() 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 TQIconSet icon() const;
- virtual TQString caption() const;
- virtual void processMousePressEvent( TQMouseEvent* );
- virtual void showWindowMenu( const TQRect &);
- virtual void showWindowMenu( TQPoint );
- virtual void performWindowOperation( WindowOperation );
- virtual void setMask( const TQRegion&, int );
- virtual bool isPreview() const;
- virtual TQRect geometry() const;
- virtual TQRect iconGeometry() const;
- virtual TQRegion unobscuredRegion( const TQRegion& r ) const;
- virtual TQWidget* workspaceWidget() const;
- virtual WId windowId() 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 titlebarMouseWheelOperation( int delta );
- virtual void setShade( bool set );
- virtual void setKeepAbove( bool );
- virtual void setKeepBelow( bool );
- virtual int currentDesktop() const;
- virtual TQWidget* initialParentWidget() const;
- virtual Qt::WFlags initialWFlags() const;
- virtual void helperShowHide( bool show );
- virtual void grabXServer( bool grab );
- private:
- KDecorationPreview* preview;
- bool active;
- };
-
-class KDecorationPreviewOptions
- : public KDecorationOptions
- {
- public:
- KDecorationPreviewOptions();
- virtual ~KDecorationPreviewOptions();
- virtual unsigned long updateSettings();
-
- void setCustomBorderSize(BorderSize size);
- void setCustomTitleButtonsEnabled(bool enabled);
- void setCustomTitleButtons(const TQString &left, const TQString &right);
-
- private:
- BorderSize customBorderSize;
- bool customButtonsChanged;
- bool customButtons;
- TQString customTitleButtonsLeft;
- TQString customTitleButtonsRight;
- };
-
-class KDecorationPreviewPlugins
- : public KDecorationPlugins
- {
- public:
- KDecorationPreviewPlugins( KConfig* cfg );
- virtual bool provides( Requirement );
- };
-
-inline KDecorationPreviewPlugins::KDecorationPreviewPlugins( KConfig* cfg )
- : KDecorationPlugins( cfg )
- {
- }
-
-#endif
diff --git a/kwin/kcmkwin/kwinoptions/AUTHORS b/kwin/kcmkwin/kwinoptions/AUTHORS
deleted file mode 100644
index 0615c59db..000000000
--- a/kwin/kcmkwin/kwinoptions/AUTHORS
+++ /dev/null
@@ -1,12 +0,0 @@
-Please use http://bugs.kde.org to report bugs.
-The following authors may have retired by the time you read this :-)
-
-KWM Configuration Module:
-
- Pat Dowler (dowler@pt1B1106.FSH.UVic.CA)
-
- Bernd Wuebben <wuebben@kde.org>
-
-Conversion to kcontrol applet:
-
- Matthias Hoelzer (hoelzer@physik.uni-wuerzburg.de)
diff --git a/kwin/kcmkwin/kwinoptions/CMakeLists.txt b/kwin/kcmkwin/kwinoptions/CMakeLists.txt
deleted file mode 100644
index 591883e21..000000000
--- a/kwin/kcmkwin/kwinoptions/CMakeLists.txt
+++ /dev/null
@@ -1,40 +0,0 @@
-#################################################
-#
-# (C) 2010-2011 Serghei Amelian
-# serghei (DOT) amelian (AT) gmail.com
-#
-# Improvements and feedback are welcome
-#
-# This file is released under GPL >= 2
-#
-#################################################
-
-include_directories(
- ${CMAKE_CURRENT_BINARY_DIR}
- ${CMAKE_BINARY_DIR}
- ${TDE_INCLUDE_DIR}
- ${TQT_INCLUDE_DIRS}
-)
-
-link_directories(
- ${TQT_LIBRARY_DIRS}
-)
-
-
-##### other data ################################
-
-install( FILES twinoptions.desktop DESTINATION ${XDG_APPS_INSTALL_DIR} )
-
-install( FILES
- twinactions.desktop twinadvanced.desktop twinfocus.desktop
- twinmoving.desktop twintranslucency.desktop
- DESTINATION ${APPS_INSTALL_DIR}/.hidden )
-
-
-##### kcm_twinoptions (module) ##################
-
-tde_add_kpart( kcm_twinoptions AUTOMOC
- SOURCES windows.cpp mouse.cpp main.cpp
- LINK tdeui-shared
- DESTINATION ${PLUGIN_INSTALL_DIR}
-)
diff --git a/kwin/kcmkwin/kwinoptions/ChangeLog b/kwin/kcmkwin/kwinoptions/ChangeLog
deleted file mode 100644
index 0b923864c..000000000
--- a/kwin/kcmkwin/kwinoptions/ChangeLog
+++ /dev/null
@@ -1,51 +0,0 @@
-1999-03-06 Mario Weilguni <mweilguni@kde.org>
-
- * changes for Qt 2.0
-
-1998-11-29 Alex Zepeda <garbanzo@hooked.net>
-
- * pics/Makefile.am, pics/mini/Makefile.am: Install icons from their
- "proper" subdirectories.
-
-1998-11-20 Cristian Tibirna <ctibirna@gch.ulaval.ca>
-
- * advanced.[cpp,h]: fixed bugs. Mostly a disgusting one:
- no lists saving for the special options (Decor, Focus a.o.)
-
-1998-11-09 Cristian Tibirna <ctibirna@gch.ulaval.ca>
-
- * advanced.[cpp,h] : new tab for some of the last of the
- kwm's options which remained out of the GUI config:
- CtrlTab, TraverseAll, AltTabeMode, Button3Grab and
- the filter lists for decorations, focus, stickyness,
- session management ignore ( I kinda disklike the solution
- I got for the latest)
-
-1998-11-06 Cristian Tibirna <ctibirna@gch.ulaval.ca>
-
- * titlebar.[cpp,h] : added title alignment config
-
-1998-10-23 Cristian Tibirna <ctibirna@gch.ulaval.ca>
-
- * titlebar.cpp: completed what Matthias started (took out
- useless checks)
- * widows.cpp: make autoRaise toggling clearer
-
-1998-10-22 Matthias Ettrich <ettrich@kde.org>
-
- * titlebar.cpp: less options on titlebar doubleclick
-
-1998-10-21 Cristian Tibirna <ctibirna@gch.ulaval.ca>
-
- * desktop.[cpp,h]: now with consistent layout use
- resizeEvent() deleted
-
-1998-10-19 Cristian Tibirna <ctibirna@gch.ulaval.ca>
-
- * windows.[cpp,h]: now with consistent layout use
- resizeEvent() deleted
-
-1998-10-18 Cristian Tibirna <ctibirna@gch.ulaval.ca>
-
- * titlebar.[cpp,h]: fixed the (in)activetitleebar pixmap selection
- 1998-10-21 (still buggy, don't quite understand why)
diff --git a/kwin/kcmkwin/kwinoptions/Makefile.am b/kwin/kcmkwin/kwinoptions/Makefile.am
deleted file mode 100644
index d2b4e6583..000000000
--- a/kwin/kcmkwin/kwinoptions/Makefile.am
+++ /dev/null
@@ -1,18 +0,0 @@
-METASOURCES = AUTO
-INCLUDES = $(all_includes)
-
-kde_module_LTLIBRARIES = kcm_twinoptions.la
-
-kcm_twinoptions_la_SOURCES = windows.cpp mouse.cpp main.cpp
-kcm_twinoptions_la_LDFLAGS = -module -avoid-version $(all_libraries) -no-undefined
-kcm_twinoptions_la_LIBADD = $(LIB_TDEUI)
-
-noinst_HEADERS = windows.h mouse.h
-
-messages:
- $(XGETTEXT) *.cpp -o $(podir)/kcmkwm.pot
-
-twin_kcmtwin_options_data_DATA = twinactions.desktop twinadvanced.desktop twinfocus.desktop twinmoving.desktop twintranslucency.desktop
-twin_kcmtwin_options_datadir = $(kde_appsdir)/.hidden
-
-xdg_apps_DATA = twinoptions.desktop
diff --git a/kwin/kcmkwin/kwinoptions/kwinactions.desktop b/kwin/kcmkwin/kwinoptions/kwinactions.desktop
deleted file mode 100644
index 8f0b7b0ba..000000000
--- a/kwin/kcmkwin/kwinoptions/kwinactions.desktop
+++ /dev/null
@@ -1,233 +0,0 @@
-[Desktop Entry]
-Icon=kcmkwm
-Type=Application
-Exec=kcmshell twinactions
-DocPath=kcontrol/windowmanagement/index.html#action-actions
-
-X-KDE-ModuleType=Library
-X-KDE-Library=twinoptions
-X-KDE-FactoryName=twinactions
-
-Name=Actions
-Name[af]=Aksies
-Name[ar]=الأفعال
-Name[be]=Дзеянні
-Name[bg]=Действия
-Name[bn]=কাজ
-Name[br]=Oberoù
-Name[bs]=Akcije
-Name[ca]=Accions
-Name[cs]=Činnosti
-Name[csb]=Dzejaniô
-Name[cy]=Gweithredoedd
-Name[da]=Handlinger
-Name[de]=Aktionen
-Name[el]=Ενέργειες
-Name[eo]=Agoj
-Name[es]=Acciones
-Name[et]=Tegevused
-Name[eu]=Ekintzak
-Name[fa]=کنشها
-Name[fi]=Toiminnot
-Name[fo]=Tiltøk
-Name[fy]=Aksjes
-Name[ga]=Gníomhartha
-Name[gl]=Accións
-Name[he]=פעולות
-Name[hi]=क्रियाएँ
-Name[hr]=Aktivnosti
-Name[hu]=Műveletek
-Name[is]=Aðgerðir
-Name[it]=Azioni
-Name[ja]=動作
-Name[ka]=ქცევა
-Name[kk]=Амалдар
-Name[km]=អំពើ
-Name[ko]=동작
-Name[lo]=ແອບພີເຄຊັ້ນ
-Name[lt]=Veiksmai
-Name[lv]=Darbības
-Name[mk]=Акции
-Name[mn]=Үйлдлүүл
-Name[ms]=Tindakan
-Name[mt]=Azzjonijiet
-Name[nb]=Handlinger
-Name[nds]=Akschonen
-Name[ne]=कार्य
-Name[nl]=Acties
-Name[nn]=Handlingar
-Name[nso]=Dikgato
-Name[pa]=ਕਾਰਵਾਈਆਂ
-Name[pl]=Czynności
-Name[pt]=Acções
-Name[pt_BR]=Ações
-Name[ro]=Acțiuni
-Name[ru]=Действия
-Name[rw]=Ibikorwa
-Name[se]=Doaimmat
-Name[sk]=Akcie
-Name[sl]=Dejanja
-Name[sr]=Акције
-Name[sr@Latn]=Akcije
-Name[ss]=Tento
-Name[sv]=Åtgärder
-Name[ta]=செயல்கள்
-Name[te]=చర్యలు
-Name[tg]=Амалиёт
-Name[th]=การกระทำ
-Name[tr]=Eylemler
-Name[tt]=Ğämällär
-Name[uk]=Дії
-Name[uz]=Amallar
-Name[uz@cyrillic]=Амаллар
-Name[ven]=Nyito
-Name[vi]=Gõ phím
-Name[wa]=Accions
-Name[xh]=Iintshukumo
-Name[zh_CN]=动作
-Name[zh_TW]=動作
-Name[zu]=Iminyakazo
-
-Comment=Configure keyboard and mouse settings
-Comment[af]=Konfigureer sleutelbord en muis instellings
-Comment[ar]=إعداد لوحة المفاتيح و الفأرة
-Comment[be]=Настаўленні клавіятуры і мышы
-Comment[bg]=Настройване на действията с клавиатурата и мишката
-Comment[bn]=কীবোর্ড এবং মাউস সেটিংস কনফিগার করুন
-Comment[br]=Kefluniañ ar stokellaoueg hag al logodenn
-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[csb]=Kònfigùracëjô nastôwù klawiaturë ë mëszë
-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]=Ρυθμίστε το πληκτρολόγιο και το ποντίκι
-Comment[eo]=Agordu la klavaron kaj la muson
-Comment[es]=Configuración del teclado y del ratón
-Comment[et]=Klaviatuuri ja hiire seadistamine
-Comment[eu]=Konfiguratu teklatua eta saguaren ezarpenak
-Comment[fa]=پیکربندی تنظیمات صفحه کلید و موشی
-Comment[fi]=Muokkaa näppäimistön ja hiiren asetuksia
-Comment[fr]=Configuration des réglages du clavier et de la souris
-Comment[fy]=Hjir kinne jo de ynstellings fan toetseboerd en mûs ynstelle
-Comment[ga]=Cumraigh socruithe an mhéarchláir agus na luiche
-Comment[gl]=Configurar as opcións do teclado e o rato
-Comment[he]=שינוי הגדרות המקלדת והעכבר
-Comment[hi]=कुंजीपट तथा माउस विन्यास कॉन्फ़िगर करें
-Comment[hr]=Konfiguriranje postavki tipkovnice i miša
-Comment[hu]=A billentyűzet- és egérkezelés beállításai
-Comment[is]=Stilla lyklaborð og mús
-Comment[it]=Configura le impostazioni della tastiera e del mouse
-Comment[ja]=キーボードとマウスの設定
-Comment[ka]=კლავიატურის და თაგუნას პარამეტრების კონფიგურაცია
-Comment[kk]=Перенетақта мен тышқанның параметрлерін баптау
-Comment[km]=កំណត់​រចនាសម្ព័ន្ធ​ការ​កំណត់​ក្ដារចុច និង​កណ្ដុរ
-Comment[ko]=키보드와 마우스 설정
-Comment[lo]=ປັບແຕ່ງການຕັ້ງຄ່າລະບົບດັດສະນີ
-Comment[lt]=Konfigūruoti klaviatūros ir pelės nustatymus
-Comment[lv]=Šeit Jūs varat konfigurēt tastatūras un peles parametrus
-Comment[mk]=Конфигурирајте ги поставувањата на тастатурата и глушецот
-Comment[mn]=Гар ба Хулгана тохируулах
-Comment[mt]=Ikkonfigura t-tastiera u l-maws
-Comment[nb]=Innstillinger for tastatur og mus
-Comment[nds]=Tastatuur un Muus instellen
-Comment[ne]=कुञ्जीपाटी र माउस सेटिङ कन्फिगर गर्नुहोस्
-Comment[nl]=Hier kunt u de instellingen van toetsenbord en muis instellen
-Comment[nn]=Innstillingar for tastatur og mus
-Comment[nso]=Beakanya dipeakanyo tsa legotlo le keyboard
-Comment[pa]=ਕੀਬੋਰਡ ਅਤੇ ਮਾਊਸ ਸੈਟਿੰਗ ਦੀ ਸੰਰਚਨਾ
-Comment[pl]=Konfiguracja ustawień klawiatury i myszy
-Comment[pt]=Configuração das opções do teclado e do rato
-Comment[pt_BR]=Configura as preferências de teclado e mouse
-Comment[ro]=Configurează setările de tastatură și mouse
-Comment[ru]=Настройка параметров клавиатуры и мыши
-Comment[rw]= Kuboneza mwandikisho n'amagenamiterere imbeba
-Comment[se]=Heivet boallobeavddi ja sáhpána
-Comment[sk]=Nastavenie klávesnice a myši
-Comment[sl]=Nastavitve tipkovnice in miške
-Comment[sr]=Подешавање поставки тастатуре и миша
-Comment[sr@Latn]=Podešavanje postavki tastature i miša
-Comment[sv]=Anpassa inställningar för tangentbord och mus
-Comment[ta]=விசைப்பலகையையும் சுட்டியையும் வடிவமை
-Comment[tg]=Танзимоти забонак ва муш
-Comment[th]=ปรับแต่งค่าแป้นพิมพ์และเม้าส์
-Comment[tr]=Klavye ve fare ayarlarını buradan yapabilirsiniz
-Comment[tt]=Töylek belän küse eşläwen caylaw
-Comment[uk]=Налаштування клавіатури та мишки
-Comment[uz]=Sichqoncha va tugmatagni moslash
-Comment[uz@cyrillic]=Сичқонча ва тугматагни мослаш
-Comment[ven]=Dzudzanyani mavhekanyele a mausu na khiibodo
-Comment[vi]=Cấu hình bàn phím và chuột
-Comment[wa]=Apontiaedjes del sori eyet del taprece
-Comment[xh]=Qwalasela izicwangciso zebhodi yezitshixho neze mouse
-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[ar]=ظلل,كبر كبّر,صغر صغّر,خفض,عمليات,قائمة,تغيير القياس,تظليل,تكبير,تصغير,الى الأسفل,قائمة العمليات,شريط العنوان,تحجيم
-Keywords[be]=Згарнуць,Найбольшыць,Найменшыць,Змяніць памер,Меню аперацыяў,Меню дзеянняў,Загаловак,shade,maximise,maximize,minimize,minimise,lower,operations menu,titlebar,resize
-Keywords[bg]=сгъване, максимизиране, минимизиране, заглавие, промяна, размер, 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[csb]=ceniô,maksymalizacëjô,minimalizacëjô,niżi,menu dzejaniów,titlowô lëstew,zmiana miarë
-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]=τύλιγμα,μεγιστοποίηση,μεγιστοποίηση,ελαχιστοποίηση,ελαχιστοποίηση,κατέβασμα,μενού χειρισμών,μπάρα τίτλου,αλλαγή μεγέθους
-Keywords[eo]=maksimigi,minimumigi,menuo,titolo,grandecŝanĝi,grandigi
-Keywords[es]=recoger,maximizar,minimizar,pasar al frente,pasar atrás,operaciones,menñu barra de título,redimensionarmenu,titlebar,resize
-Keywords[et]=varjamine,maksimeerimine,minimeerimine,toimingute menüü,langetamine,tõstmine,tiitliriba,suuruse muutmine
-Keywords[eu]=bildu,maximizatu,minimizatu,atzera eraman,eragiketak, menua,titulu-barra,tamaina aldatu
-Keywords[fa]=سایه، بیشینه‌ساز‌ی، بیشینه‌ساز‌ی، کمینه‌ساز‌ی، کمینه‌ساز‌ی، پایین‌تر، گزینگان عملیات، میله عنوان، تغییر اندازه
-Keywords[fi]=varjosta,suurenna,pienennä,laske,toimintovalikko,otsikkopalkki,vaihda kokoa
-Keywords[fr]=fondu,maximiser,enrouler,réduire,abaisser, menu des opérations,barre de titre,redimensionner
-Keywords[fy]=shade,oprollen,maximaliseren,minimaliseren,naar achtergrond,lower,menu,titelbalk,grootte wijzigen,oprôlje,maksimalisearje,minimalisearje,nei eftergrûn,grutte
-Keywords[ga]=scáthaigh,uasmhéadaigh,íosmhéadaigh,íoslaghdaigh,laghdaigh,roghchlár oibríochta,barra teidil,athraigh méid
-Keywords[gl]=sombra,maximizar,maximizar,minimizar,baixar,menú de operacións,barra de título,redimensionar
-Keywords[he]=גלילה,הגדלה,מזעור,שליחה לרקע,תפריט פעולות,שורת כותרת,שינוי גודל,shade,maximise,maximize,minimize,minimise,lower,operations menu,titlebar,resize
-Keywords[hi]=शेड,अधिकतम,बड़ा,न्यूनतम,छोटा,नीचे,ऑपरेशन्स मेन्यू,शीर्षक-पट्टी,नयाआकार
-Keywords[hr]=shade,maximise,maximize,minimize,minimise,lower,operations menu,titlebar,resize,sjena,maksimiziranje,minimiziranje,postupci izbornika,naslov,naslovna traka,promjena veličine
-Keywords[hu]=felgördítés,maximalizálás,maximalizált,minimalizálás,minimalizált,hátraengedés,műveletek menü,címsor,átméretezés
-Keywords[is]=rúlla upp,skyggja,hámarka,lágmarka,sökkva,aðgerðavalmynd, titilrönd,breyta stærð
-Keywords[it]=arrotola,massimizza,ingrandisci,minimizza,alza,abbassa,menu operazioni, barra del titolo,titolo,ridimensiona,sposta
-Keywords[ja]=シェード,最大化,最小化,後面へ,操作メニュー,タイトルバー,サイズ変更,リサイズ
-Keywords[km]=ស្រមោល,ពង្រីក​អតិបរមា,បង្រួម​អប្បបរមា,បន្ទាប់​ចុះ​ក្រោម,ម៉ឺនុយ​ប្រតិបត្តិការ,របារ​ចំណងជើង,ប្ដូរ​ទំហំ
-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[lv]=ēnot,maksimizēt,maksimizē,minimizet,minimizē,zemāks,darbības izvēlne,virsraksta josla,mainīt izmēru
-Keywords[mk]=shade,maximise,maximize,minimize,minimise,lower,operations menu,titlebar,resize,засени,рашири,спушти,мени со операции,насловна лента,промени големина
-Keywords[mn]=Цонхны сүүдэр,Томсгох,Жижигсгэх,Дээшээ/доошоо, Толгойн самбар,Хэмжээ өөрчилөх, Үйлдэл цэс
-Keywords[mt]=shade,maximise,maximize,minimize,minimise,lower,operations menu,titlebar,resize,massimizza,minimma,baxxi,ċekken,kabbar,daqqas
-Keywords[nb]=rulle opp,maksimere,minimere,endre størrelse,operasjoner,meny,tittel,skalere,vindu, tittellinje
-Keywords[nds]=inrullen,maximeren,minimeren,utrullen,Akschonenmenü,Titelbalken,Grött ännern
-Keywords[ne]=छायाँ, बढाउनु, बढाउनु, घटाउनु, घटाउनु,भन्दा तल, सञ्चालन मेनु, शीर्षकपट्टी, रिसाइज
-Keywords[nl]= shade,oprollen,maximaliseren,minimaliseren,naar achtergrond,lower,menu,tibelbalk,grootte wijzigen
-Keywords[nn]=rull opp,maksimer,minimer,senk,hev,operasjonsmeny,tittellinje,endra storleik,vindauge
-Keywords[nso]=ntshofatsa,oketsa,oketsa,fokotsa,fokotsa,isa fase,menu wa diphethagatso,bar ya leina,popoleswa
-Keywords[pa]=shade,maximise,maximize,minimize,minimise,lower,operations menu,titlebar,resize,ਨਿਊਨਤਮ,ਅਧਿਕਤਮ,ਕਾਰਵਾਈ ਮੇਨੂ,ਮੁੜ-ਅਕਾਰ
-Keywords[pl]=cień,maksymalizacja,minimalizacja,niżej,menu działań,belka tutułowa, zmiana rozmiaru
-Keywords[pt]=enrolar,maximizar,minimizar,baixar,menu de operações,barra de título,dimensionar
-Keywords[pt_BR]=esconder,maximizar,minimizar,menor,menu de operações,barra de operações,redimensionar
-Keywords[ro]=derulare,maximizare,minimizare,meniul de operații,bara de titlu,redimensionare
-Keywords[rw]=igicucu,kugira kinini,kugira gito,kugira gito,ntoya,ibikubiyemo by'ibikorwa,umwanyabikoresho,ihindurangero
-Keywords[se]=rulle bajáš,maksimere,minimere,vuolit,dáhpáhusat,fállu,fálut,namahusholga,namahus,skálere
-Keywords[sk]=zabalenie,maximalizácia,minimalizácia,presun dozadu,presun dopredu,operácie menu,titulok,zmena veľkosti
-Keywords[sl]=zvij,raztegni,povečaj,pomanjšaj,razpni,menu operacij,naslovna vrstica,velikost
-Keywords[sr]=shade,maximise,maximize,minimize,minimise,lower,operations menu,titlebar,resize,намотавање,максимизуј,минимизуј,ниже,мени операција,насловна линија,промена величине
-Keywords[sr@Latn]=shade,maximise,maximize,minimize,minimise,lower,operations menu,titlebar,resize,namotavanje,maksimizuj,minimizuj,niže,meni operacija,naslovna linija,promena veličine
-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[tt]=shade,maximise,maximize,minimize,minimise,lower,operations saylaq,titlebar,resize
-Keywords[uk]=згорнути,мінімізувати,максимізувати,опустити, меню операцій,смужка титулу,зміна розміру
-Keywords[uz]=soyalash,yoyish,yigʻish,orqaga,amallar menyusi,sarlavha,resize
-Keywords[uz@cyrillic]=соялаш,ёйиш,йиғиш,орқага,амаллар менюси,сарлавҳа,resize
-Keywords[ven]=kovhekana,engedza,engedza,fhungudza,fhungudza,fhasi,mashumele a menu, bara ya thoho,uitulula saizi
-Keywords[vi]=cuốn,phóng to,phóng to,thu nhỏ,thu nhỏ,hạ thấp,các thao tác trên thực đơn,tên thanh,thay đổi cỡ
-Keywords[wa]=ombe,ombion,å pus grand,, pus ptit,djivêyes des operåcions,bår di tite,candjî li grandeu
-Keywords[xh]=umthunzi,yandisa,yandisa,ncipisa nciphisa,yehlisa,menu zemisebenzi,iba yewonga,yenza ubungakanani kwakhona
-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
diff --git a/kwin/kcmkwin/kwinoptions/kwinadvanced.desktop b/kwin/kcmkwin/kwinoptions/kwinadvanced.desktop
deleted file mode 100644
index 541f93e7f..000000000
--- a/kwin/kcmkwin/kwinoptions/kwinadvanced.desktop
+++ /dev/null
@@ -1,232 +0,0 @@
-[Desktop Entry]
-Icon=kcmkwm
-Type=Application
-Exec=kcmshell twinadvanced
-DocPath=kcontrol/windowmanagement/index.html#action-advanced
-
-X-KDE-ModuleType=Library
-X-KDE-Library=twinoptions
-X-KDE-FactoryName=twinadvanced
-
-Name=Advanced
-Name[af]=Gevorderde
-Name[ar]=متقدم
-Name[be]=Адмысловыя
-Name[bg]=Допълнителни
-Name[bn]=অগ্রসর
-Name[br]=Barek
-Name[bs]=Napredno
-Name[ca]=Avançat
-Name[cs]=Pokročilé
-Name[csb]=Awansowóné
-Name[cy]=Uwch
-Name[da]=Avanceret
-Name[de]=Erweitert
-Name[el]=Προχωρημένα
-Name[eo]=Pliaj
-Name[es]=Avanzado
-Name[et]=Muu
-Name[eu]=Aurreratua
-Name[fa]=پیشرفته
-Name[fi]=Lisäasetukset
-Name[fo]=Tilkomið
-Name[fr]=Avancé
-Name[fy]=Avansearre
-Name[ga]=Casta
-Name[gl]=Avanzado
-Name[he]=מתקדם
-Name[hi]=विस्तृत
-Name[hr]=Napredno
-Name[hu]=Speciális
-Name[is]=Ítarlegt
-Name[it]=Avanzate
-Name[ja]=詳細
-Name[ka]=დამატებით
-Name[kk]=Қосымша
-Name[km]=កម្រិត​ខ្ពស់
-Name[ko]=고급
-Name[lo]=ັຝຣັ່ງ
-Name[lt]=Sudėtingiau
-Name[lv]=Paplašināts
-Name[mk]=Напредни
-Name[mn]=Өргөтгөсөн
-Name[ms]=Lanjutan
-Name[mt]=Avvanzat
-Name[nb]=Avansert
-Name[nds]=Verwiedert
-Name[ne]=उन्नत
-Name[nl]=Geavanceerd
-Name[nn]=Avansert
-Name[nso]=Beetswepele
-Name[pa]=ਤਕਨੀਕੀ
-Name[pl]=Zaawansowane
-Name[pt]=Avançado
-Name[pt_BR]=Avançado
-Name[ro]=Avansat
-Name[ru]=Дополнительно
-Name[rw]=Bihanitse
-Name[se]=Viiddiduvvon
-Name[sk]=Pokročilé
-Name[sl]=Napredno
-Name[sr]=Напредно
-Name[sr@Latn]=Napredno
-Name[ss]=Sembili
-Name[sv]=Avancerat
-Name[ta]=உயர்நிலை
-Name[te]=ఆధునిక
-Name[tg]=Пешрафта
-Name[th]=เพิ่มเติม
-Name[tr]=Gelişmiş
-Name[tt]=Kiñäytep
-Name[uk]=Додатково
-Name[uz]=Qoʻshimcha
-Name[uz@cyrillic]=Қўшимча
-Name[ven]=Zwa khwinesa
-Name[vi]=Nâng cao
-Name[wa]=Sipepieus
-Name[xh]=Ebhekisa phambili
-Name[zh_CN]=高级
-Name[zh_TW]=進階
-Name[zu]=Okwezinga eliphezulu
-
-Comment=Configure advanced window management features
-Comment[af]=Konfigureer gevorderde venster bestuuring funksies
-Comment[ar]=تهيئة ميزات النوافذ المتقدمة
-Comment[be]=Настаўленне адмысловых здольнасцяў кіравання вокнамі
-Comment[bg]=Настройване допълнителните параметри на прозорците
-Comment[bn]=উইণ্ডো ম্যানেজমেন্টের ক্ষুদ্রাতিক্ষুদ্র বৈশিষ্ট্য কনফিগার করুন
-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[csb]=Kònfigùracëjô awansowónëch òptacëji sprôwianiô òknama
-Comment[cy]=Ffurfweddu Nodweddion Uwch Trefnu Ffenestri
-Comment[da]=Indstil avancerede vindueshåndteringsegenskaber
-Comment[de]=Erweiterte Fensterverwaltung einrichten
-Comment[el]=Ρυθμίστε προχωρημένα χαρακτηριστικά της διαχείρισης παραθύρων
-Comment[eo]=Agordu la pli bonajn fenestroadministrilecojn
-Comment[es]=Configuración de las propiedades avanzadas del gestor de ventanas
-Comment[et]=Aknahalduri seadistamine
-Comment[eu]=Konfiguratu leiho kudeaketaren ezaugarri aurreratuak
-Comment[fa]=پیکربندی ویژگیهای مدیریت پنجرۀ پیشرفته
-Comment[fi]=Muokkaa ikkunoinnin ominaisuuksien lisäasetuksia
-Comment[fr]=Configuration des fonctionnalités de gestion avancée des fenêtres
-Comment[fy]=Hjir kinne jo de avansearre finsterbehearmooglikheden ynstelle
-Comment[ga]=Cumraigh ardghnéithe bhainisteoireacht na bhfuinneog
-Comment[gl]=Configurar as características avanzadas da xestión de fiestras
-Comment[he]=שינוי הגדרות מתקדמות של ניהול חלונות
-Comment[hi]=विस्तृत विंडो प्रबंधन विशेषता कॉन्फ़िगर करें
-Comment[hr]=Konfiguriranje naprednih svojstava upravitelja prozora
-Comment[hu]=Az ablakkezelés speciális beállításai
-Comment[is]=Stilla ítarlegri hegðan setustjóra
-Comment[it]=Configura le funzioni avanzate del gestore delle finestre
-Comment[ja]=ウィンドウ管理機能の詳細設定
-Comment[ka]=ფანჯრების მენეჯერის დამატებითი ფუნქციების კონფიგურაცია
-Comment[kk]=Терезе басқаруының қосымша параметрлерін баптау
-Comment[km]=កំណត់​រចនាសម្ព័ន្ធ​លក្ខណៈ​ពិសេស​ការ​គ្រប់គ្រង​បង្អួច​កម្រិត​ខ្ពស់
-Comment[ko]=고급 창 관리자 기능 설정하기
-Comment[lo]=ທ່ານສາມາດປັບແຕ່ງການທຳງານຂອງເຄື່ອງມືຈັດການເຊສຊົນໄດ້ທີ່ນີ້
-Comment[lt]=Konfigūruoti sudėtingesnes langų tvarkymo savybes
-Comment[lv]=Šeit Jūs varat konfigurēt logu pārvaldīšanas iespējas
-Comment[mk]=Конфигурирајте ги напредните можности за менаџмент на прозорците
-Comment[mn]=Өргөтгөсөн цонхны удирдлага тохируулах
-Comment[mt]=Setings avvanzati tal-immaniġġjar tal-windows
-Comment[nb]=Tilpass avansert vindusbehandling
-Comment[nds]=Verwiederte Finsterinstellen
-Comment[ne]=उन्नत सञ्झ्याल व्यवस्थापन आकृति कन्फिगर गर्नुहोस्
-Comment[nl]=Hier kunt u de geavanceerde vensterbeheermogelijkheden instellen
-Comment[nn]=Set opp avanserte vindaugshandsamarfunksjonar
-Comment[nso]=Beakanya dika tseo di beetswego pele tsa taolo ya window
-Comment[pa]=ਤਕਨੀਕੀ ਝਰੋਖਾ ਪਰਬੰਧਨ ਫੀਚਰ ਸੰਰਚਨਾ
-Comment[pl]=Konfiguracja zaawansowanych opcji zarządzania oknami
-Comment[pt]=Configuração das funcionalidades de gestão de janelas avançadas
-Comment[pt_BR]=Configura as características avançadas de gerenciamento de janela
-Comment[ro]=Configurează caracteristicile de management al ferestrelor
-Comment[ru]=Настройка дополнительных функций менеджера окон
-Comment[rw]=Kuboneza ibijyanye n'ubuyobozi buhanitse bw'idirishya
-Comment[se]=Heivet viiddiduvvon lásegieđahanfunkšuvnnaid
-Comment[sk]=Nastavenie pokročilých možností správy okien
-Comment[sl]=Nastavitve dodatnih možnosti upravljanja oken
-Comment[sr]=Подешавање напредних могућности управљања прозорима
-Comment[sr@Latn]=Podešavanje naprednih mogućnosti upravljanja prozorima
-Comment[sv]=Anpassa avancerade fönsterhanteringsfunktioner
-Comment[ta]=மேம்பட்ட சாளர மேலாளரின் தன்மைகளை வடிவமை
-Comment[tg]=Танзими мудирияти пешрафтаи тирезаҳо
-Comment[th]=ปรับแต่งคุณสมบัติเพิ่มเติมของการจัดการหน้าต่าง
-Comment[tr]=Gelişmiş pencere yönetim özelliklerini yapılandır
-Comment[tt]=Täräzä idäräçeneñ östämä çaraların caylaw
-Comment[uk]=Налаштування додаткових можливостей керування вікнами
-Comment[uz]=Oyna boshqaruvning koʻshimcha imkoniyatlarini moslash
-Comment[uz@cyrillic]=Ойна бошқарувнинг кўшимча имкониятларини мослаш
-Comment[ven]=Dzudzanyani zwitenwa zwa vhulanguli ha khwinesa
-Comment[vi]=Cấu hình các tính năng quản lý cửa sổ nâng cao
-Comment[wa]=Apontiaedje des spepieusès fonccionålités do manaedjaedje des purneas
-Comment[xh]=Qwalasela imisebenzi esemqoka ebhekisa phambili yophatho lwe window
-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[ar]=shading,border,hover,active borders,تظليل,حافة,الحواف النشطة
-Keywords[be]=Згортванне,Мяжа,Актыўныя межы,Актыўныя краі,shading,border,hover,active borders
-Keywords[bg]=рамка, сянка, фокус, активиране, shading, border, hover, active borders
-Keywords[ca]=plegat,vora,desplegat automàtic,vores actives
-Keywords[cs]=zarolování,vyrolování,okraj,přejezd myší,aktivní okraje
-Keywords[csb]=cenienié,grańce,przesëwanié nad,aktiwné grańce
-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,ενεργά όρια
-Keywords[eo]=bordo,ombro,ŝvebo
-Keywords[es]=recogiendo,borde,ratón sobre,bordes activos
-Keywords[et]=varjamine,piire,hover,aktiivsed piirded
-Keywords[eu]=biltzen,ertza,gainean,ertz aktiboak
-Keywords[fa]=سایه‌زنی، لبه، پلکیدن، لبه‌های فعال
-Keywords[fi]=varjostus,kehys,kellunta,aktiiviset kehykset
-Keywords[fr]=bordures,cacher,couvrir,bordures actives
-Keywords[fy]=oprollen,oprôlje,afrollen,ôfrôlje,hoover,actieve randen,aktive rânen,randen magnetisch,magnetische randen
-Keywords[ga]=scáthú,imlíne,foluain,imlínte beo
-Keywords[gl]=sombra,beira,beiras activas,flotar
-Keywords[he]=גלילה,מסגרת,גבול,ריחוף,גבולות פעילים,shading,border,hover,active borders
-Keywords[hi]=शेडिंग,किनारा,हावर,सक्रिय किनारे
-Keywords[hr]=shading,border,hover,active borders,osjenčavanje,obrubi,lebdjeće,aktivni obrubi
-Keywords[hu]=árnyékolás,szegély,lebegés,aktív szegélyek
-Keywords[is]=rúlla upp,skyggja,rammi,svif,hover,virkir rammar
-Keywords[it]=arrotola,bordi,passaggio del mouse,bordi attivi
-Keywords[ja]=畳む,境界,復元,アクティブ境界
-Keywords[km]=ស្រមោល,ស៊ុម,សំកាំង,ស៊ុម​សកម្ម
-Keywords[lt]=shading,border,hover,active borders, tik antraštės juosta, rėmelis, aktyvūs rėmeliai
-Keywords[lv]=ēnošana,mala,hover,aktīvās malas
-Keywords[mk]=shading,border,hover,active borders,засенчување,граница,лебди,активни граници
-Keywords[mn]=Сүүдэр,Идэвхитэй хүрээ,Арьс,Хүрээ
-Keywords[mt]=shading,border,hover,active borders,bordura
-Keywords[nb]=rull opp,sveve over,ramme,aktive rammer,kant
-Keywords[nds]=Inrullen,Utrullen,Rahmen,hover,aktiven Rahmen
-Keywords[ne]=छायाँ, किनारा, होभर, सक्रिय किनारा
-Keywords[nl]=oprollen,afrollen,rand,hoover,actieve randen,randen magnetisch,magnetische randen
-Keywords[nn]=rull opp,ramme,vindaugsramme,vindauge,mus over,aktive kantar
-Keywords[nso]=ntshofatsa,mollwane,hover,mellwane yeo e berekago
-Keywords[pl]=cieniowanie,granice,przesuwanie ponad,aktywne granice
-Keywords[pt]=enrolamento,contorno,passar por cima,contornos activos
-Keywords[pt_BR]=ocultamento,borda,pairar,bordas ativas
-Keywords[ro]=strîngere,margine,margini active
-Keywords[rw]=ubwijime,urubibi,kureremba,imbibi zikora
-Keywords[se]=shading,border,hover,active borders,aktiivalaš láse,láse,aktiivalaš ravddat
-Keywords[sk]=zabalenie,okraj,presun,aktívne okraje
-Keywords[sl]=senčenje,rob,meja,lebdenje,aktivni robovi
-Keywords[sr]=намотавање,ивица,лебдење,активне ивице
-Keywords[sr@Latn]=namotavanje,ivica,lebdenje,aktivne ivice
-Keywords[sv]=skuggning,kant,sväva,aktiva kanter
-Keywords[ta]=நிழலிடுதல்,விளிம்பு,ஹோவர், செயலில் உள்ள விளிம்புகள்
-Keywords[th]=พับเก็บ,กรอบ,อยู่เหนือ,กรอบที่ทำงาน
-Keywords[tr]=toplama,sınır,etkin kenarlıklar
-Keywords[uk]=згортання,рамка,проходження,активні рамки
-Keywords[uz]=soyalash,chegara,aktiv chegaralar,hover
-Keywords[uz@cyrillic]=соялаш,чегара,актив чегаралар,hover
-Keywords[ven]=murunzi,mukano,hover,mikano i tshilaho
-Keywords[vi]=che phủ,bờ,lượn,bờ hoạt động
-Keywords[wa]=ombe,ombraedje,boird,costé,hover,ovrants boirds
-Keywords[xh]=ulwenziwo lwesithuba,umda,ixhonyiwe,imida esebenzayo
-Keywords[zh_CN]=shading,border,hover,active borders,卷起,边框,悬停,激活边框
-Keywords[zh_TW]=shading,border,hover,active borders,收起,邊框,停留,作用中邊框
-Keywords[zu]=ukusitha,umngcele,didizela,imingcele enyakazayo
diff --git a/kwin/kcmkwin/kwinoptions/kwinfocus.desktop b/kwin/kcmkwin/kwinoptions/kwinfocus.desktop
deleted file mode 100644
index 541c82501..000000000
--- a/kwin/kcmkwin/kwinoptions/kwinfocus.desktop
+++ /dev/null
@@ -1,222 +0,0 @@
-[Desktop Entry]
-Icon=kcmkwm
-Type=Application
-Exec=kcmshell twinfocus
-DocPath=kcontrol/windowmanagement/index.html#action-focus
-
-X-KDE-ModuleType=Library
-X-KDE-Library=twinoptions
-X-KDE-FactoryName=twinfocus
-
-Name=Focus
-Name[af]=Fokus
-Name[ar]=التركيز
-Name[be]=Фокус
-Name[bg]=Фокус
-Name[bn]=ফোকাস
-Name[br]=Fokus
-Name[bs]=Fokus
-Name[cs]=Zaměření
-Name[csb]=Zrëszanié
-Name[cy]=Canolbwynt
-Name[da]=Fokus
-Name[de]=Aktivierung
-Name[el]=Εστίαση
-Name[eo]=Fokuso
-Name[es]=Foco
-Name[et]=Fookus
-Name[eu]=Fokua
-Name[fa]=کانون
-Name[fi]=Kohdistus
-Name[ga]=Fócas
-Name[gl]=Foco
-Name[he]=התמקדות
-Name[hi]=फ़ोकस
-Name[hr]=Fokus
-Name[hu]=Fókuszálás
-Name[id]=Fokus
-Name[is]=Virkni
-Name[ja]=フォーカス
-Name[ka]=ფოკუსი
-Name[kk]=Назар
-Name[km]=ផ្ដោត​អារម្មណ៍
-Name[ko]=초점
-Name[lo]=ຫີນ
-Name[lt]=Fokusas
-Name[lv]=Fokuss
-Name[mk]=Фокусирање
-Name[mn]=Идэвхижүүлэх
-Name[ms]=Fokus
-Name[nb]=Fokus
-Name[nds]=Fokus
-Name[ne]=फोकस
-Name[nn]=Fokus
-Name[nso]=Tebeledisiso
-Name[pa]=ਕੇਂਦਰ
-Name[pl]=Ognisko
-Name[pt]=Foco
-Name[pt_BR]=Foco
-Name[ru]=Фокус
-Name[rw]=Igaragaza rikeye
-Name[se]=Fohkus
-Name[sk]=Fokus
-Name[sl]=Fokus
-Name[sr]=Фокус
-Name[sr@Latn]=Fokus
-Name[sv]=Fokus
-Name[ta]=முனைப்படுத்து
-Name[te]=ఫొకస్
-Name[tg]=Марказ
-Name[th]=โฟกัส
-Name[tr]=Odaklama
-Name[tt]=Eş Üzäge
-Name[uk]=Фокус
-Name[uz]=Fokus
-Name[uz@cyrillic]=Фокус
-Name[ven]=U thetshelesa
-Name[vi]=Chọn
-Name[zh_CN]=焦点
-Name[zh_TW]=焦點
-Name[zu]=Ukunaka
-
-Comment=Configure the window focus policy
-Comment[af]=Konfigureer die venster fokus beleid
-Comment[ar]=قم بإعداد سياسة التركيز على النوافذ
-Comment[be]=Настаўленні выкарыстання фокусу
-Comment[bg]=Настройване активирането на прозорците
-Comment[bn]=উইণ্ডো ফোকাস পলিসি কনফিগার করুন
-Comment[br]=Kefluniañ politikerez fokus ar prenestr
-Comment[bs]=Podesite politiku fokusa prozora
-Comment[ca]=Aquí podeu configurar la política del focus
-Comment[cs]=Nastavení způsobu zaměřování oken
-Comment[csb]=Kònfigùracëjô zrëszaniô òknów
-Comment[cy]=Ffurfweddu'r polisi canolbyntio ffenestri
-Comment[da]=Indstil vinduers fokuspolitik
-Comment[de]=Fensteraktivierung einrichten
-Comment[el]=Ρυθμίστε τον τρόπο εστίασης των παραθύρων
-Comment[eo]=Agordu la fenestran fokusdirektivon
-Comment[es]=Configuración de la política de enfocado de ventanas
-Comment[et]=Akendele fookuse andmise reeglid
-Comment[eu]=Konfiguratu leihoen fokuaren portaera
-Comment[fa]=پیکربندی خط مشی کانون پنجره
-Comment[fi]=Ikkunoiden kohdistustapa
-Comment[fr]=Configuration de la politique de focus des fenêtres
-Comment[fy]=Hjir kinne jo it fokusbeliid fan finsters ynstelle
-Comment[ga]=Cumraigh an polasaí um fhócas fuinneoige
-Comment[gl]=Configurar política de outorgación do foco ás fiestras
-Comment[he]=קביעת מדיניות ההתמקדות של חלונות
-Comment[hi]=विंडो फ़ोकस पॉलिसी कॉन्फ़िगर करें
-Comment[hr]=Konfiguriranje pravila za fokusiranje prozora
-Comment[hu]=Az ablakok fókuszálási jellemzőinek beállításai
-Comment[is]=Stilla virkni stefnu
-Comment[it]=Configura la politica del focus delle finestre
-Comment[ja]=ウィンドウのフォーカスポリシーの設定
-Comment[kk]=Терезедегі назар тартібін баптау
-Comment[km]=កំណត់​រចនាសម្ព័ន្ធ​គោលការណ៍​ផ្ដោត​អារម្មណ៍​របស់​បង្អួច
-Comment[ko]=창 초점 정책 설정하기
-Comment[lo]=ປັກອີນສອດສ່ອງຊີພີຍູ
-Comment[lt]=Konfigūruoti langų fokusavimo taisykles
-Comment[lv]=Konfigurē logu fokusēšanās politiku
-Comment[mk]=Конфигурирајте ја политиката на фокусирање на прозорците
-Comment[mn]=Цонх идэвхижүүлэлт тохируулах
-Comment[mt]=Ikkonfigura kif jieħdu l-focus il-windows
-Comment[nb]=Tilpass praksisen for vindusfokus
-Comment[nds]=Regeln för den Finsterfokus instellen
-Comment[ne]=सञ्झ्याल फोकस नीति कन्फिगर गर्नुहोस्
-Comment[nl]=Hier kunt u het vensterfocusbeleid instellen
-Comment[nn]=Set opp praksisen for vindaugsfokus
-Comment[nso]=Beakanya molao wa tebeledisiso ya window
-Comment[pa]=ਝਰੋਖਾ ਕੇਂਦਰ ਨੀਤੀ ਸੰਰਚਨਾ
-Comment[pl]=Konfiguracja przenoszenia ogniska
-Comment[pt]=Configuração da política de foco (primeiro plano) das janelas
-Comment[pt_BR]=Configura a política de foco de janela
-Comment[ro]=Configurează politica de focus a ferestrelor
-Comment[ru]=Настройка политики фокусирования окон
-Comment[rw]=Kuboneza politiki y'igaragazarikeye ry'idirishya
-Comment[se]=Heivet lásefohkusa doaibmanvuogi
-Comment[sk]=Nastavenie politiky aktivácie okien
-Comment[sl]=Nastavitve ravnanja s fokusom okna
-Comment[sr]=Подешавање начина фокусирања прозора
-Comment[sr@Latn]=Podešavanje načina fokusiranja prozora
-Comment[sv]=Anpassa policy för fönsterfokus
-Comment[ta]=சாளர துவக்க முறையை வடிவமை
-Comment[tg]=Танзими сиёсати маркази тиреза
-Comment[th]=ปรับแต่งรูปแบบการได้รับโฟกัสของหน้าต่าง
-Comment[tr]=Pencere odaklama yöntemini yapılandır
-Comment[tt]=Täräzä terelätü tärtiben caylaw
-Comment[uk]=Налаштування поведінку фокусу вікна
-Comment[uz]=Oynani fokuslash qoidasini moslash
-Comment[uz@cyrillic]=Ойнани фокуслаш қоидасини мослаш
-Comment[ven]=Dzudzanyani wa muano wa window
-Comment[vi]=Cấu hình cách chọn cửa sổ
-Comment[wa]=Aponteye li dujhance di focus di purnea
-Comment[xh]=Qwalasela inkqubo yobekiso lwe window
-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[be]=Фокус,Рамяшчэнне,Клавіятура,Усе працоўныя сталы,focus,placement,auto raise,raise,click raise,keyboard,CDE,alt-tab,all desktop
-Keywords[bg]=фокус, активиране, автоматично, щракане, focus, placement, auto raise, raise, click raise, keyboard, CDE, alt-tab, all desktop
-Keywords[ca]=focus,emplaçament,elevar automàticament,elevar,elevar 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[csb]=focus, ùmieszczanié, aùtomatné przenoszenié,pòdnoszenié,pòdnoszenié przë klëkniãcô,klawiatura,CDE,alt-tab,wszëtczé biurka,wszëtczé pùltë
-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 desktoppe
-Keywords[de]=Fokus,Aktivierung,Platzierung,Autom. Aktivierung,Nach oben/unten, Klick,Tastatur,CDE
-Keywords[el]=εστίαση,τοποθέτηση,αυτόματη ανύψωση,ανύψωση,ανύψωση με πάτημα,πληκτρολόγιο,CDE,alt-tab,all desktop
-Keywords[eo]=fokuso,lokado,aŭto-altigo,altigo,kliki,kilk altigo,klavaro,CDE,alt-tab,ĉiuj tabuloj
-Keywords[es]=foco,ubicación,auto psara al frente,pasar al frente,pulsar,teclado,CDE,alt-tab,todo el escritorio
-Keywords[et]=fookus,asetus,klikk,klõps,klaviatuur,CDE,alt-tab
-Keywords[eu]=fokua,kokapena,auto aurrera ekarri,aurrera ekarri,klik eta aurrera eraman,teklatua,CDE,alt-tab,mahaigain guztiak
-Keywords[fa]=کانون، جای‌دهی، بالا بردن خودکار، بالا بردن، بالا بردن فشار، صفحه کلید، CDE، دگرساز-جهش، همۀ رومیزیها
-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[fy]=focus,fokus,finster,aandacht,oandacht,plaatsing,pleatsing,voorgrond,foargrûn,achtergrond,eftergrûn,klikken,toetsenbord,toetseboerd,CDE,alt-tab,alle bureaubladen,alle buroblêden
-Keywords[ga]=fócas,láithriú,uathardaigh,ardaigh,gliogardaigh,méarchlár,CDE,alt-tab,gach deasc
-Keywords[gl]=foco,emprazamento,auto subir,subir,premer para subir,teclado,CDE,alt-tab,todo o escritório
-Keywords[he]=התמקדות,מיקום,הבאה אוטומטית לחזית,הבאה לחזית,לחיצה להבאה לחזית,מקלדת,כל שולחנות העבודה, focus,placement,auto raise,raise, click raise,keyboard,CDE,alt-tab,all desktop
-Keywords[hi]=फ़ोकस, स्थिति,स्वतः ऊपर उठाएँ,ऊपर उठाएँ,क्लिक ऊपर उठाएँ,कुंजीपट,सीडीई,ऑल्ट-टेब,सभी डेस्कटॉप
-Keywords[hr]=focus,placement,auto raise,raise,click raise,keyboard,CDE,alt-tab,all desktop,fokus,smještaj,automatska pojava,pojava,pojava klikanjem,tipkovnica,sve radne površine
-Keywords[hu]=fókusz,elhelyezés,automatikus előrehozás,előrehozás,előrehozás kattintásra,billentyűzet,CDE,Alt+Tab,minden munkaasztal
-Keywords[id]=fokus,penempatan,auto raise,raise,click raise,keyboard,CDE,alt-tab,all desktop
-Keywords[is]=fókus,staðsetning,fleyta upp sjálfkrafa, fleyta upp,smellur fleytir upp,lyklaborð,CDE,alt-tab,öll skjáborð
-Keywords[it]=focus,piazzamento,alza automaticamente,alza,clic per alzare,tastiera, CDE,alt-tab,tutti i desktop
-Keywords[ja]=フォーカス,配置,自動的に前面に,前面に,クリックして前面に,キーボード,CDE,alt-tab,すべてのデスクトップ
-Keywords[km]=ផ្តោត​អារម្មណ៍,ការ​ដាក់,លើក​ឡើង​ស្វ័យប្រវត្តិ,លើកឡើង,ចុច លើកឡើង,ក្ដារចុច,CDE,ជំនួស-ថេប,ផ្ទៃតុ​ទាំងអស់
-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[lv]=fokuss,novietojums,automātiska pacelšanās,pacelšanās,klikšķaraise,tastatūra,CDE,alt-tab,visas darbavirsmas
-Keywords[mk]=focus,placement,auto raise,raise,click raise,keyboard,CDE,alt-tab,all desktop,фокус,позиција,авто подигање,подигање,клик подигање,сите десктопи
-Keywords[mn]=Хараа,Идэвхижүүлэл,Зайчлал,Авто.Идэвхижүүлэлт, Дээшээ/доошоо,Товшилт,Гар,КДE
-Keywords[mt]=focus,placement,auto raise,raise,click raise,keyboard,CDE,alt-tab,all desktop,tella',tastiera
-Keywords[nb]=fokus,plassering,autohev,hev,klikk og hev,tastatur,CDE,bytt vindu,alle skrivebord
-Keywords[nds]=aktiveren,Fokus,Platzeren,automaatsch fokusseren,aktiveren,klick fokusseren,Tastatuur,CDE,ALT-TAB,all Schriefdischen
-Keywords[ne]=फोकस, स्थापना, स्वत: बृद्धि, बृद्धि, बृद्धि क्लिक गर्नुहोस्, कुञ्जीपाटी,CDE,अल्ट-ट्याब, सबै डेस्कटप
-Keywords[nl]=focus,aandacht,plaatsing,voorgrond,achtergrond,klikken,toetsenbord,CDE,alt-tab,alle bureaubladen
-Keywords[nn]=fokus,plassering,autohev,hev,klikk og hev,tastatur,CDE,byt vindauge,alle skrivebord
-Keywords[nso]=tebeledisiso,peo,kgodiso ya go itirisa,kgodiso,tobetsa kgodiso,keyboard,CDE,alt-tab,desktop kamoka
-Keywords[pl]=ognisko,umiejscawianie,automatyczne podnoszenie,podnoszenie, podniesienie przy kliknięciu,klawiatura,CDE,alt-tab,wszystkie biurka,wszystkie pulpity
-Keywords[pt]=foco,colocação,auto-elevar,elevar,elevar com 'click',teclado,CDE,alt-tab,todos os ecrãs
-Keywords[pt_BR]=foco,posição,auto elevar,elevar,teclado,CDE,alt-tab,todas as áreas de trabalho
-Keywords[ro]=focus,plasare,ridicare automată,clic,tastatură,CDE,alt-tab,toate ecranele
-Keywords[rw]=igaragazarikeye,ishyira mu mwanya,byizamura,kuzamura,Kanda kuzamura,Mwandikisho,CDE,Alt - tab,Ibiro byose
-Keywords[se]=fohkus,auto lokten,lokten,coahkkal ja lokte,boallobeavdi,CDE,molssu lássii,buot čállinbeavddi
-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]=focus,placement,auto raise,raise,click raise,keyboard,CDE,alt-tab,all desktop,фокус,смештање,аутоматско подизање,подизање,тастатура,alt-tab, сви радна површина
-Keywords[sr@Latn]=focus,placement,auto raise,raise,click raise,keyboard,CDE,alt-tab,all desktop,fokus,smeštanje,automatsko podizanje,podizanje,tastatura,alt-tab, svi radna površina
-Keywords[sv]=fokus,placering,autohöjning,höjning,höjning med klick,tangentbord,CDE,alt-tab,alla skrivbord
-Keywords[ta]=ஒருமுகப்படுத்துதல்,இடம், தானாக மேலெழும்பு, மேலேழும்புதல், மேல் க்ளிக்செய்,விசைப்பலகை,CDE,alt-tab,எல்லா மேல்மேசை
-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[uz]=avto-oldinga,oldinga,bosib oldinga,CDE,alt-tab,hamma ish stollari,fokuslash,tugmatag,joylashish
-Keywords[uz@cyrillic]=авто-олдинга,олдинга,босиб олдинга,CDE,alt-tab,ҳамма иш столлари,фокуслаш,тугматаг,жойлашиш
-Keywords[ven]=thetshelesa,u vhetshela,u vusa,vusa,putedzani u vusa,khiibodo,CDE,alt-tab,desktop dzothe
-Keywords[vi]=chọn,di chuyển,tự nâng lên,nâng lên,nhấn nâng lên,bàn phím,CDE,alt-tab,tất cả màn hình nền
-Keywords[wa]=focus,plaece,rimonte tot seu,rimonter,rimonte s' on clitche,taprece,CDE,ALT-TAB,tos les scribannes
-Keywords[xh]=ucaco,ubuyiselo,phakamisa ngokuzenzekelayo,phakamisa,nqakraza phakamisa, ibhodi yezitshixho,CDE,alt-tab,zonke ii desktop
-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
diff --git a/kwin/kcmkwin/kwinoptions/kwinmoving.desktop b/kwin/kcmkwin/kwinoptions/kwinmoving.desktop
deleted file mode 100644
index 9ba6aec20..000000000
--- a/kwin/kcmkwin/kwinoptions/kwinmoving.desktop
+++ /dev/null
@@ -1,229 +0,0 @@
-[Desktop Entry]
-Icon=kcmkwm
-Type=Application
-Exec=kcmshell twinmoving
-DocPath=kcontrol/windowmanagement/index.html#action-moving
-
-X-KDE-ModuleType=Library
-X-KDE-Library=twinoptions
-X-KDE-FactoryName=twinmoving
-
-Name=Moving
-Name[af]=Beweeg
-Name[ar]=تحريك
-Name[be]=Перамяшчэнне
-Name[bg]=Преместване
-Name[bn]=সরানো হচ্ছে
-Name[br]=O tilec'hiañ
-Name[bs]=Pomjeranje
-Name[ca]=Moviment
-Name[cs]=Přesouvání
-Name[csb]=Przesëwanié
-Name[cy]=Symud
-Name[da]=Flytter
-Name[de]=Verschieben
-Name[el]=Μετακίνηση
-Name[eo]=Movanta
-Name[es]=Moviendo
-Name[et]=Liigutamine
-Name[eu]=Mugitzen
-Name[fa]=حرکت
-Name[fi]=Siirtäminen
-Name[fo]=Flytir
-Name[fr]=Déplacement
-Name[fy]=Ferpleatsing
-Name[ga]=Bogadh
-Name[gl]=Movemento
-Name[he]=הזזה
-Name[hi]=खिसक रहा है
-Name[hr]=Pomicanje
-Name[hu]=Mozgatás
-Name[id]=Pindah
-Name[is]=Færa
-Name[it]=Spostamento
-Name[ja]=移動
-Name[ka]=გადაადგილება
-Name[kk]=Жылжыту
-Name[km]=ការ​ផ្លាស់ទី
-Name[ko]=이동
-Name[lo]=ລອກອິນ
-Name[lt]=Perkėlimas
-Name[lv]=Pārvietošana
-Name[mk]=Движење
-Name[mn]=Шилжүүлэх
-Name[mt]=Tmexxija
-Name[nb]=Flytting
-Name[nds]=Verschuven
-Name[ne]=सार्दा
-Name[nl]=Verplaatsing
-Name[nn]=Flytting
-Name[nso]=Sutha
-Name[pa]=ਏਧਰ-ਓਧਰ
-Name[pl]=Przesuwanie
-Name[pt]=Mover
-Name[pt_BR]=Movendo
-Name[ro]=Mutare
-Name[ru]=Перемещение
-Name[rw]=Kwimura
-Name[se]=Lihkadeamen
-Name[sk]=Presun
-Name[sl]=Premikanje
-Name[sr]=Померање
-Name[sr@Latn]=Pomeranje
-Name[sv]=Förflyttning
-Name[ta]=நகர்கிறது
-Name[te]=కదలిక
-Name[tg]=Ҳаракат
-Name[th]=การย้าย
-Name[tr]=Taşıma
-Name[tt]=Küçerü
-Name[uz]=Koʻchirish
-Name[uz@cyrillic]=Кўчириш
-Name[ven]=U tshimbila
-Name[vi]=Di chuyển
-Name[wa]=Bodjî
-Name[xh]=Iyahamba
-Name[zh_CN]=移动
-Name[zh_TW]=移動
-Name[zu]=Iyanyakaza
-
-Comment=Configure the way that windows are moved
-Comment[af]=Konfigureer die weg wat vensters word verskuif
-Comment[ar]=تعريف الطريقة التي تتحرك فيها النوافذ
-Comment[be]=Настаўленні перамяшчэння вокнаў
-Comment[bg]=Настройване преместването на прозорците
-Comment[bn]=উইণ্ডো কিভাবে সরানো হবে তা কনফিগার করুন
-Comment[br]=Kefluniañ an daoare e vez fiñvalet ar prenester
-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[csb]=Kònfigùracëjô sztélu przesëwaniô òknów
-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]=Ρυθμίστε τον τρόπο με τον οποίο μετακινούνται τα παράθυρα
-Comment[eo]=Agordu la manieron, per kiu oni movas la fenestrojn
-Comment[es]=Configuración del modo de movimiento de las ventanas
-Comment[et]=Akende liigutamise viisi seadistamine
-Comment[eu]=Konfiguratu leihoak mugitzeko era
-Comment[fa]=پیکربندی روشی که پنجره‌ها حرکت می‌کنند
-Comment[fi]=Ikkunoiden siirtäminen
-Comment[fr]=Configuration de la manière dont les fenêtres sont déplacées
-Comment[fy]=Hjir kinne jo de wize wêrop finsters har ferpleatse ynstelle
-Comment[ga]=Cumraigh conas a aistrítear fuinneoga
-Comment[gl]=Aqui pode configurar o xeito en que se moven as fiestras
-Comment[he]=שינוי הדרך שבה חלונות מוזזים
-Comment[hi]=कॉन्फ़िगर करें कि विंडो किस तरह खिसके
-Comment[hr]=Konfiguriranje načina pomicanja prozora
-Comment[hu]=Az ablakmozgatás beállításai
-Comment[is]=Stilla hvernig gluggar eru hreyfðir
-Comment[it]=Configura il modo in cui vengono spostate le finestre
-Comment[ja]=ウィンドウの移動の仕方の設定
-Comment[ka]=ფანჯრების გადაადგილების კონფიგურაცია
-Comment[kk]=Терезені жылжыту тәсілін баптау
-Comment[km]=កំណត់​រចនាសម្ព័ន្ធ​របៀប​ដែល​បង្អួច​ត្រូវ​បាន​ផ្លាស់ទី
-Comment[ko]=창이 움직이는 방법 설정하기
-Comment[lo]=ປັບແຕ່ງການຕັ້ງຄ່າລະບົບແຄຊທີ່ນີ่້
-Comment[lt]=Konfigūruoti langų perkėlimą
-Comment[lv]=Šeit Jūs varat konfigurēt kā tiek pārvietoti logi
-Comment[mk]=Конфигурирајте го начинот на кој се движат прозорците
-Comment[mn]=Цонхыг яааж шилжүүлэхийг тогтоох
-Comment[mt]=Ikkonfigura kif tmexxi l-windows
-Comment[nb]=Velg hvordan vinduer skal flyttes
-Comment[nds]=Instellen, woans de Finstern beweegt warrt
-Comment[ne]=सञ्झ्यालहरू सार्ने तरिका कन्फिगर गर्नुहोस्
-Comment[nl]=Hier kunt u de wijze waarop vensters worden verplaatst instellen
-Comment[nn]=Vel korleis vindauga skal flyttast
-Comment[nso]=Beakanya ka mokgwa wo window yeo e suthiswago kagona
-Comment[pa]=ਝਰੋਖੇ ਦੇ ਹਿੱਲਣ ਦੇ ਢੰਗ ਦੀ ਸੰਰਚਨਾ
-Comment[pl]=Konfiguracja stylu przesuwania okien
-Comment[pt]=Configuração da forma como as janelas são movidas
-Comment[pt_BR]=Configura o modo como as janelas são movidas
-Comment[ro]=Configurează modul în care sînt mutate ferestrele
-Comment[ru]=Настройка способа перемещения окон
-Comment[rw]=Kuboneza uburyo amadirishya yimurwa
-Comment[se]=Heivet mo láset lihkaduvvot
-Comment[sk]=Nastavenie presunu okien
-Comment[sl]=Nastavitve načinov premikanja okna
-Comment[sr]=Подешавање начина на који се прозори померају
-Comment[sr@Latn]=Podešavanje načina na koji se prozori pomeraju
-Comment[sv]=Anpassa hur fönster flyttas
-Comment[ta]=சாளரம் நகர்ரும் விதத்தை அமை
-Comment[tg]=Танзими навъи ҳаракати тирезаҳо
-Comment[th]=ปรับแต่งลักษณะวิธีการย้ายหน้าต่าง
-Comment[tr]=Pencerelerin taşınması yöntemini yapılandır
-Comment[tt]=Täräzä küçerü ısulın caylaw
-Comment[uk]=Тут можна налаштувати поведінку при пересуванні вікон
-Comment[uz]=Oynalarni koʻchirish yoʻlini moslash
-Comment[uz@cyrillic]=Ойналарни кўчириш йўлини мослаш
-Comment[ven]=Dzudzanyani ndila ine windoow ya tshimbidzhwa zwone
-Comment[vi]=Cấu hình cách di chuyển cửa sổ
-Comment[wa]=Apontyî l' manire di bodjî des purneas
-Comment[xh]=Qwalasela iindlela ii windows ezshukunyiswa ngayo
-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[be]=Перамяшчэнне,Каскадам,Найбольшыць,Найменшыць,Мяжа,moving,smart,cascade,maximize,maximise,snap zone,snap,border
-Keywords[bg]=преместване, прозорци, прозорец, промяна, размер, размера, moving, smart, cascade, maximize, maximise, snap zone, snap, border
-Keywords[ca]=moviment,astut,cascada,maximitza,zona d'atracció,atracció,vora
-Keywords[cs]=přesun,chytré,kaskáda,maximalizace,zóna,okraje
-Keywords[csb]=przesëwanié,kaskadowò,masymilizacëjô,òbéńda chwëtaniô,chwëtanié,grańca
-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]=μετακίνηση,έξυπνη,διαδοχικός,μεγιστοποίηση,μεγιστοποίηση,ζώνη αρπαγής,αρπαγή,περίγραμμα
-Keywords[eo]=movanta,maksimigi,bordo
-Keywords[es]=moviendo,inteligente,cascada,maximizar,zona de adhesión,adhesión,adherir,borde
-Keywords[et]=liigutamine,tark,kaskaad,maksimeerimine,haaramise tsoon,haaramine,piire
-Keywords[eu]=mugitzen,fina,kaskadan,maximizatu,itsasketa eremua, itsasketa,ertza
-Keywords[fa]=حرکت، هوشمند، آبشاری، بیشینه‌ساز‌ی، بیشینه‌ساز‌ی، منطقۀ پرش، پرش، لبه
-Keywords[fi]=liikkuva,älykäs,sarjoita,suurenna,kehys
-Keywords[fr]=déplacement,cascade,maximiser,minimiser,coller,zone d'attraction,bordure
-Keywords[fy]=verplaatsing,ferpleatse,intelligen,yntelligint,tûk,plaatsing,pleatsing,trapsgewijs,trepfoarm,maximaliseren,maksimalisearje,randen magnetisch,magnetisch veld,rand,râne,magnetische randen
-Keywords[gl]=movemento,pequeno,fervenza,maximizar,maximizar,zona de suxección,suexección,beira
-Keywords[he]=הזזה,חכם,מדורג,הגדלה,אזור הצמדה,הצמדה,גבול, moving,smart,cascade,maximize,maximise,snap zone,snap,border
-Keywords[hi]=खिसकता,चतुर,कास्केड,अधिकतम,न्यूनतम,स्नैप ज़ोन,स्नेप,किनारा
-Keywords[hr]=moving,smart,cascade,maximize,maximise,snap zone,snap,border,pomicanje,pametno,kaskadno,maksimiziranje,snap zona,snap,obrub
-Keywords[hu]=mozgatás,intelligens,lépcsőzetes,maximalizálás,illeszkedési zóna,illeszkedés,szegély
-Keywords[id]=pindah,smart,cascade,maksimum,minimum,snap zone,snap,border
-Keywords[is]=færi,snjallt,stafla,hámarka,gripsvæði,grip,rammi,jaðar
-Keywords[it]=spostamento,intelligente,cascata,massimizza,zona magnetica,bordi,bordi magnetici
-Keywords[ja]=移動,スマート,カスケード,最大化,スナップゾーン,スナップ境界
-Keywords[km]=ការ​ផ្លាស់ទី,ឆ្លាត,ល្បាក់,ពង្រីក​អប្បបរមា,តំបន់​ខ្ទាស់,ខ្ទាស់,ស៊ុម
-Keywords[lt]=moving,smart,cascade,maximize,maximise,snap zone,snap,border, perkėlimas,išmoningas,kaskada,išdidinti,rėmelis,riba
-Keywords[lv]=pārvietošana,gudra,kaskāde,maksimizē,maksimizēšana,pielipsanas zona,pielipt,mala
-Keywords[mk]=moving,smart,cascade,maximize,maximise,snap zone,snap,border, движење,паметно,каскадно,рашири,спушти,граница
-Keywords[mn]=Шилжүүлэх,Ухаалаг,Зайчилах,Томсгох,Жижигсгэх,Талбай,Хүрээ
-Keywords[mt]=moving,smart,cascade,maximize,maximise,snap zone,snap,border,tmexxija,kaskada,massimizza,faqqa',bordura
-Keywords[nb]=flytting,smart,overlapping,maksimer,kantlås,vindu
-Keywords[nds]=bewegen,verschuven,plietsch,maximeren,minimeren,Andockrebeet,andocken,Rahmen
-Keywords[ne]=सार्ने, छरितो, क्यासकेड, बढाउनु, बढाउनु, स्न्याप जोन, स्न्याप, किनारा
-Keywords[nl]=verplaatsing,intelligent,plaatsing,trapsgewijs,maximaliseren,randen magnetisch,magnetisch veld,rand,magnetische randen
-Keywords[nn]=flytting,smart,overlapping,maksimer,kantlås,vindauge
-Keywords[nso]=sutha,botsana,phororo,oketsa,oketsa,lefelo la thwantsho ya menwana, thwantsho ya menwana,mollwane
-Keywords[pa]=moving,smart,cascade,maximize,maximise,snap zone,snap,ਹਾਸ਼ੀਆ
-Keywords[pl]=przesuwanie,sprytne,kaskadowo,maksymalizacja,obszar chwytania,chwytanie, granica
-Keywords[pt]=mover,inteligente,cascata,maximizar,zona de atracção,atracção,contorno
-Keywords[pt_BR]=movendo,pequeno,cascata,maximizar,zona rápida,zona de encaixe,borda
-Keywords[ro]=mutare,isteț,cascadă,maximizare,margine
-Keywords[rw]=kwimura,cyiza,urukurikirane,kugira kinini ,gukata agace,gukata, impera
-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]=moving,smart,cascade,maximize,maximise,snap zone,snap,border,померање,паметно,каскадно,максимизуј,snap zone,snap,ивица
-Keywords[sr@Latn]=moving,smart,cascade,maximize,maximise,snap zone,snap,border,pomeranje,pametno,kaskadno,maksimizuj,snap zone,snap,ivica
-Keywords[sv]=förflyttning,smart,kaskad,maximera,bindningszon,bind,kant
-Keywords[ta]=நகரும்,புத்திசாலி,மேலுக்குமேல், பெரிதாக்கு,பெரிதாக்கு,நிழற் படமெடுப்பு பகுதி,நிழற்படம்,விளிம்பு
-Keywords[th]=การย้าย,ฉลาด,จัดเป็นขั้นๆ,ขยายเต็มจอ,ขยายเต็มหน้าจอ,snap zone,snap,border
-Keywords[tr]=taşıma,taşınma,akıllı,kenar
-Keywords[uk]=пересування,кмітливий,каскад,максимізувати,зона захоплення,захоплення,рамка
-Keywords[uz]=snap zone,snap,border,koʻchirish,ixcham,oynalarni tartiblash,yoyish
-Keywords[uz@cyrillic]=snap zone,snap,border,кўчириш,ихчам,ойналарни тартиблаш,ёйиш
-Keywords[ven]=tshimbila,zwavhudi,cascade,engedza,engedza,fhethu ha snap,snap,mukano+-
-Keywords[vi]=di chuyển,thông minh,tầng,phóng to,phóng to,vùng thả,thả,bờ
-Keywords[wa]=bodjî,malén,a pertinne,, pus grand,nap zone,snap,båoird
-Keywords[xh]=iyashukuma,iyabukeka,cascade,yenza nkulu,yenza nkulu,yandisa,snap zone,snap,umda
-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
diff --git a/kwin/kcmkwin/kwinoptions/kwinoptions.desktop b/kwin/kcmkwin/kwinoptions/kwinoptions.desktop
deleted file mode 100644
index e520dcc88..000000000
--- a/kwin/kcmkwin/kwinoptions/kwinoptions.desktop
+++ /dev/null
@@ -1,225 +0,0 @@
-[Desktop Entry]
-Icon=kcmkwm
-Type=Application
-Exec=kcmshell twinoptions
-DocPath=kcontrol/windowmanagement/index.html
-
-X-KDE-ModuleType=Library
-X-KDE-Library=twinoptions
-X-KDE-FactoryName=twinoptions
-
-Name=Window Behavior
-Name[af]=Venster Gedrag
-Name[ar]=سلوك النوافذ
-Name[az]=Pəncərə Davranışı
-Name[be]=Паводзіны вокнаў
-Name[bg]=Прозорци
-Name[bn]=উইণ্ডো আচরণ
-Name[br]=Emzalc'h ar prenester
-Name[bs]=Ponašanje prozora
-Name[ca]=Comportament de les finestres
-Name[cs]=Chování oken
-Name[csb]=Ùchòwanié òkna
-Name[cy]=Ymddygiad Ffenestri
-Name[da]=Vinduesopførsel
-Name[de]=Fenstereigenschaften
-Name[el]=Συμπεριφορά παραθύρων
-Name[en_GB]=Window Behaviour
-Name[eo]=Fenestrokonduto
-Name[es]=Comportamiento de la ventana
-Name[et]=Akende käitumine
-Name[eu]=Leihoen portaera
-Name[fa]=رفتار پنجره
-Name[fi]=Ikkunoiden käyttäytyminen
-Name[fr]=Comportement des fenêtres
-Name[fy]=Finstergedrach
-Name[ga]=Oibriú na bhFuinneoga
-Name[gl]=Comportamento das Fiestras
-Name[he]=פעולת חלונות
-Name[hi]=विंडो बर्ताव
-Name[hr]=Ponašanje prozora
-Name[hu]=Ablakműveletek
-Name[is]=Hegðun glugga
-Name[it]=Comportamento delle finestre
-Name[ja]=ウィンドウの挙動
-Name[ka]=ფანჯრის ქცევა
-Name[kk]=Терезе қасиеттері
-Name[km]=ឥរិយាបថ​បង្អួច
-Name[ko]=창 동작
-Name[lo]=ພິດຕິກຳຂອງຫນ້າຕ່າງ
-Name[lt]=Langų elgsena
-Name[lv]=Loga izturēšanās
-Name[mk]=Однесување на прозорци
-Name[mn]=Цонхны байдал
-Name[mt]=Imġieba tal-Window
-Name[nb]=Vindusoppførsel
-Name[nds]=Finsterbedregen
-Name[ne]=सञ्झ्याल व्यवहार
-Name[nl]=Venstergedrag
-Name[nn]=Vindaugsåtferd
-Name[nso]=Mekgwa ya Window
-Name[oc]=Comportament de las finestras
-Name[pa]=ਝਰੋਖਾ ਵਿਵਹਾਰ
-Name[pl]=Okna
-Name[pt]=Comportamento das Janelas
-Name[pt_BR]=Comportamento da Janela
-Name[ro]=Comportament fereastră
-Name[ru]=Поведение окна
-Name[rw]=Imyitwarire y'Idirishya
-Name[se]=Láseláhtten
-Name[sk]=Správanie okien
-Name[sl]=Obnašanje oken
-Name[sr]=Понашање прозора
-Name[sr@Latn]=Ponašanje prozora
-Name[ss]=Kutiphatsa kweliwindi
-Name[sv]=Fönsterbeteende
-Name[ta]=சாளர நடத்தை
-Name[tg]=Рафтори тиреза
-Name[th]=พฤติกรรมของหน้าต่าง
-Name[tr]=Pencere Davranışı
-Name[tt]=Täräzä Çağılışı
-Name[uk]=Поведінка вікон
-Name[uz]=Oynaning xususiyatlari
-Name[uz@cyrillic]=Ойнанинг хусусиятлари
-Name[ven]=Maitele a windo
-Name[vi]=Ứng xử của Cửa sổ
-Name[wa]=Dujhance des purneas
-Name[xh]=Ukuziphatha kwe Window
-Name[zh_CN]=窗口行为
-Name[zh_TW]=視窗行為
-Name[zu]=Ukuziphatha kwe-Window
-
-Comment=Configure the window behavior
-Comment[af]=Stel die venster gedrag op
-Comment[ar]=إعداد سلوك النافذة
-Comment[be]=Настаўленні паводзінаў вокнаў
-Comment[bg]=Настройване поведението на прозорците
-Comment[bn]=উইণ্ডোটির আচরণ কনফিগার করুন
-Comment[br]=Kefluniañ emzalc'h ar prenester
-Comment[bs]=Podesite ponašanje prozora
-Comment[ca]=Configura el comportament de finestra
-Comment[cs]=Nastavení chování oken
-Comment[csb]=Kònfigùracëjô ùchòwaniô òkna
-Comment[cy]=Ffurfweddu ymddygiad y ffenestr
-Comment[da]=Indstil vinduets opførsel
-Comment[de]=Fensterverhalten festlegen
-Comment[el]=Ρύθμιση της συμπεριφοράς των παραθύρων
-Comment[en_GB]=Configure the window behaviour
-Comment[eo]=Agordas la konduton de la fenestro
-Comment[es]=Configuración del comportamiento de la ventana
-Comment[et]=Akende käitumise seadistamine
-Comment[eu]=Konfiguratu arakatzailearen portaera
-Comment[fa]=پیکربندی رفتار پنجره
-Comment[fi]=Ikkunoiden asetukset
-Comment[fr]=Configuration du comportement des fenêtres
-Comment[fy]=Stel it finstergedrach yn
-Comment[ga]=Cumraigh oibriú na bhfuinneog
-Comment[gl]=Configurar o comportamento das fiestras
-Comment[he]=שינוי הגדרות פעולת הדפדפן
-Comment[hi]=विंडो व्यवहार कॉन्फ़िगर करें
-Comment[hr]=Konfiguriranje ponašanja preglednika
-Comment[hu]=Az ablakok működési jellemzőinek beállítása
-Comment[is]=Stilla hegðan glugga
-Comment[it]=Configura il comportamento della finestra
-Comment[ja]=ウィンドウの挙動を設定
-Comment[ka]=ბრაუზერის ქცევის კონფიგურაცია
-Comment[kk]=Терезе қасиеттерін баптау
-Comment[km]=កំណត់​រចនាសម្ព័ន្ធ​ឥរិយាបថ​បង្អួច
-Comment[ko]=창 동작 설정
-Comment[lt]=Konfigūruoti lango elgseną
-Comment[lv]=Konfigurē loga izturēšanos
-Comment[mk]=Конфигурирајте го однесувањето на прозорците
-Comment[mt]=Ikkonfigura l-imġieba tal-windows
-Comment[nb]=Tilpass vinduets oppførsel
-Comment[nds]=Dat Finsterbedregen instellen
-Comment[ne]=सञ्झ्याल व्यवहार कन्फिगर गर्नुहोस्
-Comment[nl]=Stel het venstergedrag in
-Comment[nn]=Oppsett av nettlesaråtferda
-Comment[pa]=ਝਰੋਖਾ ਵਿਵਹਾਰ ਸੰਰਚਨਾ
-Comment[pl]=Konfiguracja zachowania okna
-Comment[pt]=Configurar o comportamento das janelas
-Comment[pt_BR]=Configura o comportamento das janelas
-Comment[ro]=Configurează comportamentul ferestrei
-Comment[ru]=Настройка поведения браузера
-Comment[rw]=Kuboneza imyitwarire y'idirishya
-Comment[se]=Heivet láseláhttema
-Comment[sk]=Nastavenie správania okna
-Comment[sl]=Nastavite obnašanje brskalnika
-Comment[sr]=Подешавање понашања прозора
-Comment[sr@Latn]=Podešavanje ponašanja prozora
-Comment[sv]=Anpassa fönsterbeteende
-Comment[ta]=º¡ÇÃò¾¢ý Àñ¨À ¯ûǨÁ
-Comment[th]=ปรับแต่งพฤติกรมของหน้าต่าง
-Comment[tr]=Pencere davranışlarını yapılandır
-Comment[tt]=Täräzä çağılışın caylaw
-Comment[uk]=Налаштування поведінки вікна
-Comment[uz]=Oynaning xususiyatlarini moslash
-Comment[uz@cyrillic]=Ойнанинг хусусиятларини мослаш
-Comment[vi]=Cấu hình cách cửa sổ ứng xử
-Comment[wa]=Apontyî l' dujhance des purneas
-Comment[zh_CN]=配置窗口行为
-Comment[zh_TW]=設定視窗行為
-
-Keywords=focus,placement,window behavior,animation,raise,auto raise,windows,frame,titlebar,doubleclick
-Keywords[ar]=تركيز ركز,موضع مكان,سلوك النافذة,تحريك,رفع, رفع تلقائي,نوافذ,إطار,شريط العنوان,نقر ثنائي
-Keywords[be]=Фокус,Размяшчэнне,Паводзіны акна,Анімацыя,Вокны,Акно,Фрэйм,Загаловак,Двайны націск мышы,focus,placement,window behavior,animation,raise,auto raise,windows,frame,titlebar,doubleclick
-Keywords[bg]=фокус, поведение, прозорец, активиране, заглавие, focus, placement, window behaviour, animation, raise, auto raise, windows, frame, titlebar, doubleclick
-Keywords[bs]=focus,placement,window behavior,animation,raise,auto raise,windows,frame,titlebar,doubleclick,fokus,smještaj,ponašanje prozora,animacija,podigni,automatski podigni,prozori,okvir,naslovna trak,dvoklik,dvostruki klik
-Keywords[ca]=focus,emplaçament,comportament de la finestra,animació,eleva,eleva automàticament,finestres,marc,barra del títol,doble clic
-Keywords[cs]=Zaměření,Umístění oken,Chování oken,Animace,Okna,Rámeček,Titulek,Dvojklik
-Keywords[csb]=zrëszanié,aktiwòwanié,ùkłôdanié òknów,ùchòwanié òknów,animacëjô,aùtomatné aktiwòwanié,òkna,òkno,rama,tilowô lëstew,dëbeltné klëkniãce
-Keywords[cy]=canolbwynt,lleoliad,ymddygiad ffenestr,bywluniad,codi,hunan-godi,ffenestri,ffrâm,bar-teitl,clic dwbl,dwbl-glic
-Keywords[da]=fokus,placering,vinduesopførsel,animering,Hæv,autohæv,vinduer,ramme,titellinje,dobbeltklik
-Keywords[de]=Aktivierung,Platzierung,Fensterverhalten,Animation,Nach vorn/hinten, Fenster,Rahmen,Umrandung,Titelleiste,Doppelklick
-Keywords[el]=εστίαση,τοποθέτηση,συμπεριφορά παραθύρων,εφέ κίνησης,ανύψωση,αυτόματη ανύψωση,παράθυρα,πλαίσιο,μπάρα τίτλου,διπλό κλικ
-Keywords[en_GB]=focus,placement,window behaviour,animation,raise,auto raise,windows,frame,titlebar,doubleclick
-Keywords[eo]=fokuso,lokigo,fenestrokonduto,spektaklo,malfonigo,aŭtomalfonigo,fenestro,kadro,titollistelo,duklako
-Keywords[es]=foco,ubicación,posición,ventana,comportamiento,animación,frente,pasar al frente,ventanas,marco,barra de título,doble pulsación
-Keywords[et]=fookus,asetus,akende käitumine,animatsioon,tõstmine,automaatne tõstmine,aknad,raam,tiitliriba,topeltklikk,topeltklõps
-Keywords[eu]=fokua,kokalekua,leihoaren portaera,animazioa,aurrera ekarri,auto aurrera ekarri,leihoak,markoa,titulu-barra,klik bikoitza
-Keywords[fa]=کانون، جای‌دهی، رفتار پنجره، پویانمایی، بالا بردن، بالا بردن خودکار، پنجره‌ها، قاب، میله عنوان، دو بار فشار
-Keywords[fi]=fokus,sijoittaminen,ikkunan toiminta,animaatio,nosto,automaattinosto,ikkunat,kehys,otsikkorivi,tuplanapsautus,kaksoisnapsautus
-Keywords[fr]=focus,gestion du focus,fenêtre,placement des fenêtres,comportement des fenêtres,animation,fenêtres,barre de titre,double clic,souris,boutons de la souris,dessus,dessous,raise,auto raise
-Keywords[fy]=focusbeleid,vensterplaatsing,finsterferpleatsing,venstergedrag,finstergedrach,focus,window,finster,plaatsing,pleatsing,plaatsingbeleid,pleatsingbelied,animatie,animaasje,voorgrond,foargrûn,vensters,finsters,frame,kader,dubbelklikken,dûbelklikke,fokusbeliid
-Keywords[ga]=fócas,láithriú,oibriú na bhfuinneog,beochan,ardaigh,uathardaigh,fuinneoga,fráma,ceannteideal,déchliceáil
-Keywords[gl]=foco,emprazamento,comportamento da fiestra,animación,subir,auto subir,fiestras,marco,barra de título,dobre presión
-Keywords[he]=התמקדות,מיקום,פעולת חלונות,אנימציה,הנפשה,הבאה לחזית,הבאה אוטומטית לחזית,חלונות,גבול,מסגרת,שורת כותרת,לחיצה כפולה, focus,placement,window behavior,animation,raise,auto raise,windows,frame,titlebar,doubleclick
-Keywords[hi]=फोकस,प्लेसमेंट,विंडो व्यवहार,एनिमेशन,ऊपर उठाएँ,स्वतः ऊपर उठाएँ,विंडोज़,फ्रेम,शीर्षक-पट्टी,डबल-क्लिक
-Keywords[hr]=focus,placement,window behavior,animation,raise,auto raise,windows,frame,titlebar,doubleclick,fokus,smještaj,ponašanje prozora,animacija,pojava,podizanje,automatska pojava,prozori,okvir,naslovna traka,dvostruko klikanje
-Keywords[hu]=fókusz,elhelyezés,ablakelhelyezés,animáció,felemelés,automatikus felemelés,ablakok,keret,címsor,dupla kattintás
-Keywords[is]=virkni glugga,staðsetning,hegðun,högun glugga,hækka,hækka sjálfkrafa,gluggar,titilslá,titilrönd,tvísmella
-Keywords[it]=focus,piazzamento,comportamento finestre,animazione,alza,alza automaticamente,finestre,cornice,barra del titolo,doppio clic
-Keywords[ja]=フォーカス,配置,ウィンドウの挙動,アニメーション,前面へ,自動的に前面へ,ウィンドウ,フレーム,タイトルバー,ダブルクリック
-Keywords[km]=ផ្ដោត​អារម្មណ៍,ការ​ដាក់,ឥរិយាបថ​បង្អួច,ចលនា,លើកឡើង,លើក​ឡើង​ស្វ័យប្រវត្តិ,បង្អួច,ស៊ុម,របារ​ចំណងជើង,ចុច​ទ្វេដង
-Keywords[lt]=focus,placement,window behaviour,animation,raise,auto raise,windows,frame,titlebar,doubleclick,lango išdėstymas,elgesys,langai,rėmelis,lango antraštė
-Keywords[lv]=fokuss,novietojums,loga izturēšanās,animācija,celt,auto celt,logi,kadrs,virsraksta josla,dubultklikšķis
-Keywords[mk]=focus,placement,window behavior,animation,raise,auto raise,windows,frame,titlebar,doubleclick,фокус,позиционирање,однесување на прозорците, анимација,подигање,авто подигање,прозорци,рамка,насловна лента,двоен клик
-Keywords[mt]=focus,placement,window behaviour,animation,raise,auto raise,windows,frame,titlebar,doubleclick
-Keywords[nb]=fokus,plassering,vindusoppførsel,animasjon,hev,autohev,vinduer,ramme,tittelliste,dobbeltklikk
-Keywords[nds]=Fokus,Platzeren,Finsterbedregen,Animatschoon,fokusseren,aktiveren,automaatsch fokusseren,Finster,Rahmen,Titelbalken,Dubbelklick
-Keywords[ne]=फोकस, स्थापना, सञ्झ्याल व्यवहार, एनिमेसन, बृद्धि, स्वत: बृद्धि, सञ्झ्याल, फ्रेम, शीर्षकपट्टी, डबल क्लिक
-Keywords[nl]=focusbeleid,vensterplaatsing,venstergedrag,focus,window,plaatsing,plaatsingbeleid,animatie,voorgrond,vensters,frame,kader,dubbelklikken
-Keywords[nn]=fokus,plassering,vindaugsplassering,vindaugsåtferd,animasjon,hev,automatisk heving,vindauge,ramme,tittellinje,dobbeltklikk
-Keywords[pa]=focus,placement,window behavior,animation,raise,auto raise,windows,frame,titlebar,doubleclick,ਝਰੋਖਾ ਵਿਹਾਰ,ਸਜੀਵਤਾ,ਝਰੋਖੇ
-Keywords[pl]=uaktywnianie,układanie okien,zachowanie okien,animacja,automatyczne uaktywnienie,okno,okna,ramka,pasek tytułowy,podwójne kliknięcie
-Keywords[pt]=foco,posicionamento,comportamento das janelas,animação,elevar,auto-elevar,janelas,contorno,barra de título,duplo-carregar
-Keywords[pt_BR]=foco,posicionamento,comportamento das janelas,animação,elevar,auto-elevar,janelas, quadro,barra de título,clique duplo
-Keywords[ro]=focus,plasare,comportament fereastră,animație,ridicare,automat,ferestre,cadru,bară de titlu,dublu clic
-Keywords[rw]=igaragazarikeye, ugushyira mu mwanya,imyitwarire y'idirishya,ibyinisha,byizamura,amadirishya,ikadiri,umwanyabikoresho,gukandakabiri
-Keywords[se]=fohkus,sajádat,láseláhtten,animašuvdna,lokte,autolokte,láset,rámma,namahusholga,duppalcoahkkal
-Keywords[sk]=fokus,umiestnenie,správanie okien,animácia,zdvihnutie,automatické zdvihnutie,titulok,dvojité kliknutie,rámec,okná
-Keywords[sl]=fokus,postavitev,obnašanje okna,animacija,dvigni,okna,okvir,naslovna vrstica,dvojni klik
-Keywords[sr]=focus,placement,window behaviour,animation,raise,ауто raise,windows,frame,titlebar,doubleclick,фокус,понашање прозора,анимација,прозори,оквир,насловна линија,двоклик
-Keywords[sr@Latn]=focus,placement,window behaviour,animation,raise,auto raise,windows,frame,titlebar,doubleclick,fokus,ponašanje prozora,animacija,prozori,okvir,naslovna linija,dvoklik
-Keywords[sv]=fokus,placering,fönsterbeteende,animering,höj, autohöj,fönster,kant,namnlist,dubbelklick
-Keywords[ta]=பார்வை,இடம்,சாளரபண்பு,உயிர்சித்திரம்,மேலெழுப்பு, தானாக மேலெழுப்பு,சாளரங்கள்,சட்டம்,தலைப்புப்பட்டி,இரண்டு சொடுக்கு
-Keywords[th]=โฟกัส,การวางตำแหน่ง,พฤติกรรมของหน้าต่าง,อนิเมชั่น,ยกขึ้นไว้ด้านบน,ยกขึ้นไว้ด้านบนโดยอัตโนมัติ,หน้าต่าง,กรอบ,แถบหัวเรื่อง,ดับเบิลคลิก
-Keywords[tr]=odak,odak davranış biçimi,pencere yerleşimi,pencere davranışı,Yerleşim davranış biçimi,animasyon,kaldır,otomatik kaldır,çerçeve,çift tıkla
-Keywords[uk]=фокус,розташовування,поведінка вікна,анімація,підняти,піднімати автоматично,вікна,рамка,заголовок,подвійне клацання
-Keywords[uz]=fokuslash,joylashish,oynaning xususiyatlari,animatsiya,oldinga,avto-oldinga,oynalar,freym,sarlavha,ikki marta bosish
-Keywords[uz@cyrillic]=фокуслаш,жойлашиш,ойнанинг хусусиятлари,анимация,олдинга,авто-олдинга,ойналар,фрейм,сарлавҳа,икки марта босиш
-Keywords[vi]=chọn,dịch chuyển,ứng xử cửa sổ,hoạt hình,nâng lên,tự nâng lên,cửa sổ,khung,thanh tiêu đề,nhấn đúp
-Keywords[wa]=focus,plaece,dujhance des purneas,animåcion,rimonter,rimonte tot seu,purneas,cåde,bår di tite,clitchî deus côps,clitchî deus feyes
-Keywords[zh_CN]=focus,placement,window behavior,animation,raise,auto raise,windows,frame,titlebar,doubleclick,焦点,放置,窗口行为,动画,升起,自动升起,窗口,框架,标题栏,双击
-Keywords[zh_TW]=focus,placement,window behavior,animation,raise,auto raise,windows,frame,titlebar,doubleclick,焦點,放置,視窗行為,動畫,抬升,自動抬升,視窗,框架,標題列,雙擊
-Categories=Qt;KDE;X-KDE-settings-desktop;
diff --git a/kwin/kcmkwin/kwinoptions/kwintranslucency.desktop b/kwin/kcmkwin/kwinoptions/kwintranslucency.desktop
deleted file mode 100644
index 591cab231..000000000
--- a/kwin/kcmkwin/kwinoptions/kwintranslucency.desktop
+++ /dev/null
@@ -1,195 +0,0 @@
-[Desktop Entry]
-Icon=kcmkwm
-Type=Application
-Exec=kcmshell twintranslucency
-DocPath=kcontrol/windowmanagement/index.html#action-translucency
-
-X-KDE-ModuleType=Library
-X-KDE-Library=twinoptions
-X-KDE-FactoryName=twintranslucency
-
-Name=Translucency
-Name[af]=Deursigtigheid
-Name[ar]=الشفافية
-Name[be]=Празрыстасць
-Name[bg]=Полупрозрачност
-Name[bn]=সমস্বচ্ছতা
-Name[br]=Treuzwel
-Name[bs]=Prozirnost
-Name[ca]=Translucidesa
-Name[cs]=Průhlednost
-Name[csb]=Przezérnota
-Name[da]=Gennemsigtighed
-Name[de]=Transparenz
-Name[el]=Hμιδιαφάνεια
-Name[eo]=Travidebleco
-Name[es]=Translúcido
-Name[et]=Läbipaistvus
-Name[eu]=Gardentasuna
-Name[fa]=نیمۀ شفافی
-Name[fi]=Läpikuultavuus
-Name[fr]=Transparence
-Name[fy]=Trochsichtichheid
-Name[ga]=Tréshoilseacht
-Name[gl]=Translucidez
-Name[he]=שקיפות
-Name[hr]=Prozirnost
-Name[hu]=Áttetszőség
-Name[id]=Tembus Pandang
-Name[is]=Gegnsæi
-Name[it]=Trasparenza
-Name[ja]=透過性
-Name[ka]=ნახევრადგამჭირვალეობა
-Name[kk]=Мөлдірлігі
-Name[km]=ភាព​ថ្លា
-Name[ko]=반투명
-Name[lt]=Permatomumas
-Name[mk]=Провидност
-Name[nb]=Gjennomsiktighet
-Name[nds]=Dörschienen
-Name[ne]=स्वच्छता
-Name[nl]=Transparantie
-Name[nn]=Gjennomsiktig
-Name[pa]=ਪਾਰਦਰਸ਼ੀ
-Name[pl]=Przezroczystość
-Name[pt]=Transparência
-Name[pt_BR]=Translúcido
-Name[ro]=Translucență
-Name[ru]=Полупрозрачность
-Name[rw]=Ukujyakwijima
-Name[se]=Čađačuovgi
-Name[sk]=Priesvitnosť
-Name[sl]=Prosojnost
-Name[sr]=Прозирност
-Name[sr@Latn]=Prozirnost
-Name[sv]=Genomskinlighet
-Name[ta]=ஒளிகசிவு
-Name[th]=ความโปร่งแสง
-Name[tr]=Şeffaflık
-Name[tt]=Ütäkürenü
-Name[uk]=Прозорість
-Name[uz]=Shaffoflik
-Name[uz@cyrillic]=Шаффофлик
-Name[vi]=Đục & Trong
-Name[wa]=Translucidaedje
-Name[zh_CN]=透明度
-Name[zh_TW]=透明度
-
-Comment=Configure window translucency and shadow management
-Comment[af]=Stel die venster deursigtigheid en skaduwee op
-Comment[ar]=إعداد تدبيرات شفافية و تظليل النافذة
-Comment[be]=Настаўленні празрыстасці вокнаў і кіраванне ценем
-Comment[bg]=Настройване на полупрозрачността и сенките на прозорците
-Comment[bn]=উইণ্ডোর সমস্বচ্ছতা এবং ছায়া কনফিগার করুন
-Comment[bs]=Podesite prozirnost prozora i podesite sjenke
-Comment[ca]=Configura la translucidesa de finestres i gestiona l'ombra
-Comment[cs]=Nastavení průhlednosti a stínování oken
-Comment[csb]=Kònfigùracëjô przezérnotë ë ceniów òknów
-Comment[da]=Indstil vinduets gennemsigtighed og skyggehåndtering
-Comment[de]=Einrichtung der Fenstertransparenz und Schatten
-Comment[el]=Ρύθμιση ημιδιαφάνειας παραθύρου και διαχείρισης σκίασης
-Comment[eo]=Agordu administradon de fenestro-travidebleco kaj ombreco.
-Comment[es]=Configurar la opacidad de la ventana y gestión de sombra
-Comment[et]=Akende läbipaistvuse ja varjude seadistamine
-Comment[eu]=Konfiguratu leiho gardentasunak eta itzalen kudeaketa
-Comment[fa]=پیکربندی مدیریت نیمۀ شفافی و سایۀ پنجره
-Comment[fi]=Muokkaa ikkunoinnin läpikuultavuus ja varjostus
-Comment[fr]=Configuration de la transparence et de l'ombre des fenêtres
-Comment[fy]=Finstertrochsichtichheid- en -skaadbehear ynstelle
-Comment[ga]=Cumraigh tréshoilseacht na fuinneoige agus bainisteoireacht scátha
-Comment[gl]=Configurar a xestión de sombras e translucidez das fiestras
-Comment[he]=תצורה של שקיפות החלונות וניהול ההצללות
-Comment[hr]=Konfiguriranje prozirnosti prozora i upravljanje sjenčanjem
-Comment[hu]=Az ablakkezelés áttetszőségi és árnyékolási beállításai
-Comment[is]=Stilla gegnsæi glugga og sýsla með skugga
-Comment[it]=Configura la trasparenza e le ombre delle finestre
-Comment[ja]=ウィンドウの透過性と影の設定
-Comment[ka]=ფანჯრების გამჭირვალობის და ჩრდილების კონფიგურაცია
-Comment[kk]=Терезенің мөлдірлігін және көлеңкесін баптау
-Comment[km]=កំណត់​រចនាសម្ព័ន្ធ​ការ​គ្រប់គ្រង​ភាព​ថ្លា និង​ស្រមោល​របស់​បង្អួច
-Comment[lt]=Konfigūruoti langų permatomumą ir šešėlius
-Comment[mk]=Конфигурирајте ги провидноста на прозорците и менаџментот на сенки
-Comment[nb]=Tilpass behandling av vindusgjennomsiktighet og -skygge
-Comment[nds]=Finsterdörschienen un -Schadden instellen
-Comment[ne]=सञ्झ्याल स्वच्छता र छायाँ व्यवस्थापन कन्फिगर गर्नुहोस्
-Comment[nl]=Venstertransparantie- en -schaduwbeheer instellen
-Comment[nn]=Oppsett av gjennomsiktige vindauge og vindaugsskugge
-Comment[pa]=ਝਰੋਖਾ ਪਾਰਦਰਸਤਾ ਅਤੇ ਛਾਂ ਪਰਬੰਧਨ ਸੰਰਚਨਾ
-Comment[pl]=Konfiguracja przezroczystości i cieni okien
-Comment[pt]=Configuração da transparência e sombras de janelas
-Comment[pt_BR]=Configura o gerenciamento de sombra e transparência da janela
-Comment[ro]=Configurează translucența și umbra ferestrelor
-Comment[ru]=Настройка полупрозрачности и теней окна
-Comment[rw]=Kuboneza ubuyobozi bw'ukujyakubonerana n'igicucu by'idirishya
-Comment[se]=Heivet lášečađačuovgivuođa ja suoivvanasgieđaheami
-Comment[sk]=Nastavenie priesvitnosti okien a správcu tieňovania
-Comment[sl]=Nastavitve prosojnosti oken in upravljanje s sencami
-Comment[sr]=Подешавање прозирности прозора и управљање сенкама
-Comment[sr@Latn]=Podešavanje prozirnosti prozora i upravljanje senkama
-Comment[sv]=Anpassa fönstergenomskinlighet och skugghantering
-Comment[ta]=சாளர ஒளிகசிவு மற்றும் நிழல் மேலாண்மையை வடிவமை
-Comment[th]=ปรับแต่งคุณสมบัติความโปร่งแสงและเงาของหน้าต่าง
-Comment[tr]=Pencere şeffaflığını ve gölge yönetimini yapılandır
-Comment[tt]=Täräzä ütäkürenüe belän külägäsen caylaw
-Comment[uk]=Налаштування прозорості вікон та керування затіненням
-Comment[uz]=Oynaning shaffofligini va soyasini moslash
-Comment[uz@cyrillic]=Ойнанинг шаффофлигини ва соясини мослаш
-Comment[vi]=Cấu hình độ đục và trong cùng với bóng râm của cửa sổ
-Comment[wa]=Apontiaedje des fonccionålités translucides et d' ombe do manaedjaedje des purneas
-Comment[zh_CN]=配置窗口透明度和阴影管理
-Comment[zh_TW]=設定視窗透明度與陰影管理功能
-
-Keywords=translucency,transparence,shadows
-Keywords[ar]=الشفافية,شفاف,أظلال
-Keywords[be]=Празрыстасць,Цені,translucency,transparence,shadows
-Keywords[bg]=полупрозрачност, прозрачност, сянка, сенки, translucency, transparence, shadows
-Keywords[bs]=translucency,transparence,shadows,providnost,sjene,sjenke,sjenka
-Keywords[ca]=translucidesa,transparència,ombres
-Keywords[cs]=průhlednost,průsvitnost,stín
-Keywords[csb]=przezérnota,półprzezérnota,przeswiécëna,ceniô,cenie
-Keywords[da]=gennemsigtighed,transparens,skygge
-Keywords[el]=ημιδιαφάνεια,διαφάνεια,σκιές
-Keywords[eo]=Travidebleco, ombroj
-Keywords[es]=translucido,transparente,sombras,opacidad
-Keywords[et]=läbipaistvus,läbipaistev,vari
-Keywords[eu]=gardena,gardentasunak,itzalak
-Keywords[fa]=نیمۀ شفافی، شفافیت، سایه‌ها
-Keywords[fi]=läpikuultavuus, läpinäkyvyys, varjot
-Keywords[fr]=translucidité,translucide,transparence,transparent,ombre
-Keywords[fy]=translucency,trochsichtich,ransparantie,schaduwen,skaden
-Keywords[ga]=tréshoilseacht,gléine,scáthanna
-Keywords[gl]=translucéncia,transparéncia,sombras
-Keywords[he]=translucency,transparence,shadows,הצללה,צל,צללים,שקוף,שקיפות
-Keywords[hr]=translucency,transparence,shadows,prozirnost,sjene,providnost
-Keywords[hu]=áttetszőség,áttetsző,árnyékok
-Keywords[id]=tembus pandang,transparan, bayangan
-Keywords[it]=trasparenza,ombre
-Keywords[ja]=透過性,透明,影
-Keywords[km]=ភាព​ថ្លា,ថ្លា,ស្រមោល
-Keywords[lt]=translucency,transparence,shadows,permatomumas,šešėliai
-Keywords[mk]=translucency,transparence,shadows,провидност,проѕирност,сенки
-Keywords[nb]=gjennomsiktighet,skygge
-Keywords[nds]=Transparenz,Schadden,Dörschienen
-Keywords[ne]=स्वच्छता,पारदर्शीता,छायाँ
-Keywords[nl]=translucency,transparantie,schaduwen
-Keywords[nn]=gjennomsiktig,skugge
-Keywords[pa]=translucency,transparence,ਛਾਂ
-Keywords[pl]=przezroczystość,półprzezroczystość,prześwitywanie,cień,cienie
-Keywords[pt]=transparência,sombras
-Keywords[pt_BR]=translúcido,transparência,sombras
-Keywords[ro]=translucență,transparență,umbre
-Keywords[rw]=ukujyakwijima,ukubonerana,ibicucu
-Keywords[sl]=prosojnost,prozornost,sence
-Keywords[sr]=translucency,transparence,shadows,провидност,сенке
-Keywords[sr@Latn]=translucency,transparence,shadows,providnost,senke
-Keywords[sv]=genomskinlighet,skuggor
-Keywords[ta]=ஒளிகசிவு,ஊடகத்தன்மை,நிழல்கள்
-Keywords[th]=ความโปร่งแสง,ความโปร่งใส,เงา
-Keywords[tr]=şeffaflık,şeffaf,gölge,opak,opasite
-Keywords[uk]=translucency,transparence,shadows,прозорість,напівпрозорість,тіні
-Keywords[uz]=shaffof,soya
-Keywords[uz@cyrillic]=шаффоф,соя
-Keywords[vi]=mờ đục,trong suốt,bóng râm
-Keywords[wa]=translucency,transparince,translucide,translucidaedje
-Keywords[zh_CN]=透明度,阴影,translucency,transparence,shadows
-Keywords[zh_TW]=translucency,transparence,shadows,透明,陰影
diff --git a/kwin/kcmkwin/kwinoptions/main.cpp b/kwin/kcmkwin/kwinoptions/main.cpp
deleted file mode 100644
index a10269eca..000000000
--- a/kwin/kcmkwin/kwinoptions/main.cpp
+++ /dev/null
@@ -1,262 +0,0 @@
-/*
- *
- * Copyright (c) 2001 Waldo Bastian <bastian@kde.org>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- */
-
-#include <tqlayout.h>
-
-#include <dcopclient.h>
-
-#include <kapplication.h>
-#include <kglobal.h>
-#include <klocale.h>
-#include <kconfig.h>
-#include <kgenericfactory.h>
-#include <kaboutdata.h>
-#include <kdialog.h>
-
-#include "mouse.h"
-#include "windows.h"
-
-#include "main.h"
-
-extern "C"
-{
- KDE_EXPORT KCModule *create_twinfocus(TQWidget *parent, const char *name)
- {
- //CT there's need for decision: kwm or twin?
- KGlobal::locale()->insertCatalogue("kcmkwm");
- KConfig *c = new KConfig("twinrc", false, true);
- return new KFocusConfig(true, c, parent, name);
- }
-
- KDE_EXPORT KCModule *create_twinactions(TQWidget *parent, const char *name)
- {
- //CT there's need for decision: kwm or twin?
- KGlobal::locale()->insertCatalogue("kcmkwm");
- return new KActionsOptions( parent, name);
- }
-
- KDE_EXPORT KCModule *create_twinmoving(TQWidget *parent, const char *name)
- {
- //CT there's need for decision: kwm or twin?
- KGlobal::locale()->insertCatalogue("kcmkwm");
- KConfig *c = new KConfig("twinrc", false, true);
- return new KMovingConfig(true, c, parent, name);
- }
-
- KDE_EXPORT KCModule *create_twinadvanced(TQWidget *parent, const char *name)
- {
- //CT there's need for decision: kwm or twin?
- KGlobal::locale()->insertCatalogue("kcmkwm");
- KConfig *c = new KConfig("twinrc", false, true);
- return new KAdvancedConfig(true, c, parent, name);
- }
-
- KDE_EXPORT KCModule *create_twintranslucency(TQWidget *parent, const char *name)
- {
- //CT there's need for decision: kwm or twin?
- KGlobal::locale()->insertCatalogue("kcmkwm");
- KConfig *c = new KConfig("twinrc", false, true);
- return new KTranslucencyConfig(true, c, parent, name);
- }
-
- KDE_EXPORT KCModule *create_twinoptions ( TQWidget *parent, const char* name)
- {
- //CT there's need for decision: kwm or twin?
- KGlobal::locale()->insertCatalogue("kcmkwm");
- return new KWinOptions( parent, name);
- }
-}
-
-KWinOptions::KWinOptions(TQWidget *parent, const char *name)
- : KCModule(parent, name)
-{
- mConfig = new KConfig("twinrc", false, true);
-
- TQVBoxLayout *layout = new TQVBoxLayout(this);
- tab = new TQTabWidget(this);
- layout->addWidget(tab);
-
- mFocus = new KFocusConfig(false, mConfig, this, "KWin Focus Config");
- mFocus->layout()->setMargin( KDialog::marginHint() );
- tab->addTab(mFocus, i18n("&Focus"));
- connect(mFocus, TQT_SIGNAL(changed(bool)), this, TQT_SLOT(moduleChanged(bool)));
-
- mTitleBarActions = new KTitleBarActionsConfig(false, mConfig, this, "KWin TitleBar Actions");
- mTitleBarActions->layout()->setMargin( KDialog::marginHint() );
- tab->addTab(mTitleBarActions, i18n("&Titlebar Actions"));
- connect(mTitleBarActions, TQT_SIGNAL(changed(bool)), this, TQT_SLOT(moduleChanged(bool)));
-
- mWindowActions = new KWindowActionsConfig(false, mConfig, this, "KWin Window Actions");
- mWindowActions->layout()->setMargin( KDialog::marginHint() );
- tab->addTab(mWindowActions, i18n("Window Actio&ns"));
- connect(mWindowActions, TQT_SIGNAL(changed(bool)), this, TQT_SLOT(moduleChanged(bool)));
-
- mMoving = new KMovingConfig(false, mConfig, this, "KWin Moving");
- mMoving->layout()->setMargin( KDialog::marginHint() );
- tab->addTab(mMoving, i18n("&Moving"));
- connect(mMoving, TQT_SIGNAL(changed(bool)), this, TQT_SLOT(moduleChanged(bool)));
-
- mAdvanced = new KAdvancedConfig(false, mConfig, this, "KWin Advanced");
- mAdvanced->layout()->setMargin( KDialog::marginHint() );
- tab->addTab(mAdvanced, i18n("Ad&vanced"));
- connect(mAdvanced, TQT_SIGNAL(changed(bool)), this, TQT_SLOT(moduleChanged(bool)));
-
- mTranslucency = new KTranslucencyConfig(false, mConfig, this, "KWin Translucency");
- mTranslucency->layout()->setMargin( KDialog::marginHint() );
- tab->addTab(mTranslucency, i18n("&Translucency"));
- connect(mTranslucency, TQT_SIGNAL(changed(bool)), this, TQT_SLOT(moduleChanged(bool)));
-
- KAboutData *about =
- new KAboutData(I18N_NOOP("kcmtwinoptions"), I18N_NOOP("Window Behavior Configuration Module"),
- 0, 0, KAboutData::License_GPL,
- I18N_NOOP("(c) 1997 - 2002 KWin and KControl Authors"));
-
- about->addAuthor("Matthias Ettrich",0,"ettrich@kde.org");
- about->addAuthor("Waldo Bastian",0,"bastian@kde.org");
- about->addAuthor("Cristian Tibirna",0,"tibirna@kde.org");
- about->addAuthor("Matthias Kalle Dalheimer",0,"kalle@kde.org");
- about->addAuthor("Daniel Molkentin",0,"molkentin@kde.org");
- about->addAuthor("Wynn Wilkes",0,"wynnw@caldera.com");
- about->addAuthor("Pat Dowler",0,"dowler@pt1B1106.FSH.UVic.CA");
- about->addAuthor("Bernd Wuebben",0,"wuebben@kde.org");
- about->addAuthor("Matthias Hoelzer-Kluepfel",0,"hoelzer@kde.org");
- setAboutData(about);
-}
-
-KWinOptions::~KWinOptions()
-{
- delete mConfig;
-}
-
-void KWinOptions::load()
-{
- mConfig->reparseConfiguration();
- mFocus->load();
- mTitleBarActions->load();
- mWindowActions->load();
- mMoving->load();
- mAdvanced->load();
- mTranslucency->load();
- emit KCModule::changed( false );
-}
-
-
-void KWinOptions::save()
-{
- mFocus->save();
- mTitleBarActions->save();
- mWindowActions->save();
- mMoving->save();
- mAdvanced->save();
- mTranslucency->save();
-
- emit KCModule::changed( false );
- // Send signal to twin
- mConfig->sync();
- if ( !kapp->dcopClient()->isAttached() )
- kapp->dcopClient()->attach();
- kapp->dcopClient()->send("twin*", "", "reconfigure()", TQString(""));
-}
-
-
-void KWinOptions::defaults()
-{
- mFocus->defaults();
- mTitleBarActions->defaults();
- mWindowActions->defaults();
- mMoving->defaults();
- mAdvanced->defaults();
- mTranslucency->defaults();
-}
-
-TQString KWinOptions::quickHelp() const
-{
- return i18n("<h1>Window Behavior</h1> Here you can customize the way windows behave when being"
- " moved, resized or clicked on. You can also specify a focus policy as well as a placement"
- " policy for new windows."
- " <p>Please note that this configuration will not take effect if you do not use"
- " KWin as your window manager. If you do use a different window manager, please refer to its documentation"
- " for how to customize window behavior.");
-}
-
-void KWinOptions::moduleChanged(bool state)
-{
- emit KCModule::changed(state);
-}
-
-
-KActionsOptions::KActionsOptions(TQWidget *parent, const char *name)
- : KCModule(parent, name)
-{
- mConfig = new KConfig("twinrc", false, true);
-
- TQVBoxLayout *layout = new TQVBoxLayout(this);
- tab = new TQTabWidget(this);
- layout->addWidget(tab);
-
- mTitleBarActions = new KTitleBarActionsConfig(false, mConfig, this, "KWin TitleBar Actions");
- mTitleBarActions->layout()->setMargin( KDialog::marginHint() );
- tab->addTab(mTitleBarActions, i18n("&Titlebar Actions"));
- connect(mTitleBarActions, TQT_SIGNAL(changed(bool)), this, TQT_SLOT(moduleChanged(bool)));
-
- mWindowActions = new KWindowActionsConfig(false, mConfig, this, "KWin Window Actions");
- mWindowActions->layout()->setMargin( KDialog::marginHint() );
- tab->addTab(mWindowActions, i18n("Window Actio&ns"));
- connect(mWindowActions, TQT_SIGNAL(changed(bool)), this, TQT_SLOT(moduleChanged(bool)));
-}
-
-KActionsOptions::~KActionsOptions()
-{
- delete mConfig;
-}
-
-void KActionsOptions::load()
-{
- mTitleBarActions->load();
- mWindowActions->load();
- emit KCModule::changed( false );
-}
-
-
-void KActionsOptions::save()
-{
- mTitleBarActions->save();
- mWindowActions->save();
-
- emit KCModule::changed( false );
- // Send signal to twin
- mConfig->sync();
- if ( !kapp->dcopClient()->isAttached() )
- kapp->dcopClient()->attach();
- kapp->dcopClient()->send("twin*", "", "reconfigure()", TQString(""));
-}
-
-
-void KActionsOptions::defaults()
-{
- mTitleBarActions->defaults();
- mWindowActions->defaults();
-}
-
-void KActionsOptions::moduleChanged(bool state)
-{
- emit KCModule::changed(state);
-}
-
-#include "main.moc"
diff --git a/kwin/kcmkwin/kwinoptions/main.h b/kwin/kcmkwin/kwinoptions/main.h
deleted file mode 100644
index 2465c6766..000000000
--- a/kwin/kcmkwin/kwinoptions/main.h
+++ /dev/null
@@ -1,100 +0,0 @@
-/*
- * main.h
- *
- * Copyright (c) 2001 Waldo Bastian <bastian@kde.org>
- *
- * Requires the Qt widget libraries, available at no cost at
- * http://www.troll.no/
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- */
-
-
-#ifndef __MAIN_H__
-#define __MAIN_H__
-
-#include <tqtabwidget.h>
-#include <kcmodule.h>
-
-class KConfig;
-class KFocusConfig;
-class KTitleBarActionsConfig;
-class KWindowActionsConfig;
-class KAdvancedConfig;
-class KTranslucencyConfig;
-
-class KWinOptions : public KCModule
-{
- Q_OBJECT
-
-public:
-
- KWinOptions(TQWidget *parent, const char *name);
- virtual ~KWinOptions();
-
- void load();
- void save();
- void defaults();
- TQString quickHelp() const;
-
-
-protected slots:
-
- void moduleChanged(bool state);
-
-
-private:
-
- TQTabWidget *tab;
-
- KFocusConfig *mFocus;
- KTitleBarActionsConfig *mTitleBarActions;
- KWindowActionsConfig *mWindowActions;
- KMovingConfig *mMoving;
- KAdvancedConfig *mAdvanced;
- KTranslucencyConfig *mTranslucency;
-
- KConfig *mConfig;
-};
-
-class KActionsOptions : public KCModule
-{
- Q_OBJECT
-
-public:
-
- KActionsOptions(TQWidget *parent, const char *name);
- virtual ~KActionsOptions();
-
- void load();
- void save();
- void defaults();
-
-protected slots:
-
- void moduleChanged(bool state);
-
-
-private:
-
- TQTabWidget *tab;
-
- KTitleBarActionsConfig *mTitleBarActions;
- KWindowActionsConfig *mWindowActions;
-
- KConfig *mConfig;
-};
-
-#endif
diff --git a/kwin/kcmkwin/kwinoptions/mouse.cpp b/kwin/kcmkwin/kwinoptions/mouse.cpp
deleted file mode 100644
index 30692d87f..000000000
--- a/kwin/kcmkwin/kwinoptions/mouse.cpp
+++ /dev/null
@@ -1,856 +0,0 @@
-/*
- *
- * Copyright (c) 1998 Matthias Ettrich <ettrich@kde.org>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- */
-
-#include <tqlabel.h>
-#include <tqcombobox.h>
-#include <tqwhatsthis.h>
-#include <tqlayout.h>
-#include <tqvgroupbox.h>
-#include <tqgrid.h>
-#include <tqsizepolicy.h>
-#include <tqbitmap.h>
-#include <tqhgroupbox.h>
-#include <tqtooltip.h>
-
-#include <dcopclient.h>
-#include <klocale.h>
-#include <kapplication.h>
-#include <kconfig.h>
-#include <kdialog.h>
-#include <kglobalsettings.h>
-#include <kseparator.h>
-
-#include <X11/X.h>
-#include <X11/Xlib.h>
-#include <X11/Xutil.h>
-
-#include <stdlib.h>
-
-#include "mouse.h"
-#include "mouse.moc"
-
-
-namespace {
-
-char const * const cnf_Max[] = {
- "MaximizeButtonLeftClickCommand",
- "MaximizeButtonMiddleClickCommand",
- "MaximizeButtonRightClickCommand",
-};
-
-char const * const tbl_Max[] = {
- "Maximize",
- "Maximize (vertical only)",
- "Maximize (horizontal only)",
- "" };
-
-TQPixmap maxButtonPixmaps[3];
-
-void createMaxButtonPixmaps()
-{
- char const * maxButtonXpms[][3 + 13] = {
- {0, 0, 0,
- "...............",
- ".......#.......",
- "......###......",
- ".....#####.....",
- "..#....#....#..",
- ".##....#....##.",
- "###############",
- ".##....#....##.",
- "..#....#....#..",
- ".....#####.....",
- "......###......",
- ".......#.......",
- "..............."},
- {0, 0, 0,
- "...............",
- ".......#.......",
- "......###......",
- ".....#####.....",
- ".......#.......",
- ".......#.......",
- ".......#.......",
- ".......#.......",
- ".......#.......",
- ".....#####.....",
- "......###......",
- ".......#.......",
- "..............."},
- {0, 0, 0,
- "...............",
- "...............",
- "...............",
- "...............",
- "..#.........#..",
- ".##.........##.",
- "###############",
- ".##.........##.",
- "..#.........#..",
- "...............",
- "...............",
- "...............",
- "..............."},
- };
-
- TQString baseColor(". c " + KGlobalSettings::baseColor().name());
- TQString textColor("# c " + KGlobalSettings::textColor().name());
- for (int t = 0; t < 3; ++t)
- {
- maxButtonXpms[t][0] = "15 13 2 1";
- maxButtonXpms[t][1] = baseColor.ascii();
- maxButtonXpms[t][2] = textColor.ascii();
- maxButtonPixmaps[t] = TQPixmap(maxButtonXpms[t]);
- maxButtonPixmaps[t].setMask(maxButtonPixmaps[t].createHeuristicMask());
- }
-}
-
-} // namespace
-
-void KTitleBarActionsConfig::paletteChanged()
-{
- createMaxButtonPixmaps();
- for (int b = 0; b < 3; ++b)
- for (int t = 0; t < 3; ++t)
- coMax[b]->changeItem(maxButtonPixmaps[t], t);
-
-}
-
-KTitleBarActionsConfig::KTitleBarActionsConfig (bool _standAlone, KConfig *_config, TQWidget * parent, const char *)
- : KCModule(parent, "kcmkwm"), config(_config), standAlone(_standAlone)
-{
- TQString strWin1, strWin2, strWin3, strAllKey, strAll1, strAll2, strAll3;
- TQVBoxLayout *layout = new TQVBoxLayout(this, 0, KDialog::spacingHint());
- TQGrid *grid;
- TQGroupBox *box;
- TQLabel *label;
- TQString strMouseButton1, strMouseButton3, strMouseWheel;
- TQString txtButton1, txtButton3, txtButton4;
- TQStringList items;
- bool leftHandedMouse = ( KGlobalSettings::mouseSettings().handed == KGlobalSettings::KMouseSettings::LeftHanded);
-
-/** Titlebar doubleclick ************/
-
- TQHBoxLayout *hlayout = new TQHBoxLayout(layout);
-
- label = new TQLabel(i18n("&Titlebar double-click:"), this);
- hlayout->addWidget(label);
- TQWhatsThis::add( label, i18n("Here you can customize mouse click behavior when double clicking on the"
- " titlebar of a window.") );
-
- TQComboBox* combo = new TQComboBox(this);
- 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->tqsetSizePolicy(TQSizePolicy(TQSizePolicy::MinimumExpanding, TQSizePolicy::Fixed));
- connect(combo, TQT_SIGNAL(activated(int)), TQT_SLOT(changed()));
- hlayout->addWidget(combo);
- coTiDbl = combo;
- TQWhatsThis::add(combo, i18n("Behavior on <em>double</em> click into the titlebar."));
-
- label->setBuddy(combo);
-
-/** Mouse Wheel Events **************/
- TQHBoxLayout *hlayoutW = new TQHBoxLayout(layout);
- strMouseWheel = i18n("Titlebar wheel event:");
- label = new TQLabel(strMouseWheel, this);
- hlayoutW->addWidget(label);
- txtButton4 = i18n("Handle mouse wheel events");
- TQWhatsThis::add( label, txtButton4);
-
- // Titlebar and frame mouse Wheel
- TQComboBox* comboW = new TQComboBox(this);
- comboW->insertItem(i18n("Raise/Lower"));
- comboW->insertItem(i18n("Shade/Unshade"));
- comboW->insertItem(i18n("Maximize/Restore"));
- comboW->insertItem(i18n("Keep Above/Below"));
- comboW->insertItem(i18n("Move to Previous/Next Desktop"));
- comboW->insertItem(i18n("Change Opacity"));
- comboW->insertItem(i18n("Nothing"));
- comboW->tqsetSizePolicy(TQSizePolicy(TQSizePolicy::MinimumExpanding, TQSizePolicy::Fixed));
- connect(comboW, TQT_SIGNAL(activated(int)), TQT_SLOT(changed()));
- hlayoutW->addWidget(comboW);
- coTiAct4 = comboW;
- TQWhatsThis::add(comboW, txtButton4);
- label->setBuddy(comboW);
-
-/** Titlebar and frame **************/
-
- box = new TQVGroupBox( i18n("Titlebar && Frame"), this, "Titlebar and Frame");
- box->layout()->setMargin(KDialog::marginHint());
- box->layout()->setSpacing(KDialog::spacingHint());
- layout->addWidget(box);
- TQWhatsThis::add( box, i18n("Here you can customize mouse click behavior when clicking on the"
- " titlebar or the frame of a window.") );
-
- grid = new TQGrid(4, Qt::Vertical, box);
-
-
- new TQLabel(grid); // dummy
-
- strMouseButton1 = i18n("Left button:");
- txtButton1 = i18n("In this row you can customize left click behavior when clicking into"
- " the titlebar or the frame.");
-
- strMouseButton3 = i18n("Right button:");
- txtButton3 = i18n("In this row you can customize right click behavior when clicking into"
- " the titlebar or the frame." );
-
- if ( leftHandedMouse )
- {
- tqSwap(strMouseButton1, strMouseButton3);
- tqSwap(txtButton1, txtButton3);
- }
-
- label = new TQLabel(strMouseButton1, grid);
- TQWhatsThis::add( label, txtButton1);
-
- label = new TQLabel(i18n("Middle button:"), grid);
- TQWhatsThis::add( label, i18n("In this row you can customize middle click behavior when clicking into"
- " the titlebar or the frame.") );
-
- label = new TQLabel(strMouseButton3, grid);
- TQWhatsThis::add( label, txtButton3);
-
-
- label = new TQLabel(i18n("Active"), grid);
- label->tqsetAlignment(AlignCenter);
- TQWhatsThis::add( label, i18n("In this column you can customize mouse clicks into the titlebar"
- " or the frame of an active window.") );
-
- // Titlebar and frame, active, mouse button 1
- combo = new TQComboBox(grid);
- combo->insertItem(i18n("Raise"));
- combo->insertItem(i18n("Lower"));
- combo->insertItem(i18n("Operations Menu"));
- combo->insertItem(i18n("Toggle Raise & Lower"));
- combo->insertItem(i18n("Nothing"));
- connect(combo, TQT_SIGNAL(activated(int)), TQT_SLOT(changed()));
- coTiAct1 = combo;
-
- txtButton1 = i18n("Behavior on <em>left</em> click into the titlebar or frame of an "
- "<em>active</em> window.");
-
- txtButton3 = i18n("Behavior on <em>right</em> click into the titlebar or frame of an "
- "<em>active</em> window.");
-
- // Be nice to left handed users
- if ( leftHandedMouse ) tqSwap(txtButton1, txtButton3);
-
- TQWhatsThis::add(combo, txtButton1);
-
- // Titlebar and frame, active, mouse button 2
-
- items << i18n("Raise")
- << i18n("Lower")
- << i18n("Operations Menu")
- << i18n("Toggle Raise & Lower")
- << i18n("Nothing")
- << i18n("Shade");
-
- combo = new TQComboBox(grid);
- combo->insertStringList(items);
- connect(combo, TQT_SIGNAL(activated(int)), TQT_SLOT(changed()));
- coTiAct2 = combo;
- TQWhatsThis::add(combo, i18n("Behavior on <em>middle</em> click into the titlebar or frame of an <em>active</em> window."));
-
- // Titlebar and frame, active, mouse button 3
- combo = new TQComboBox(grid);
- combo->insertStringList(items);
- connect(combo, TQT_SIGNAL(activated(int)), TQT_SLOT(changed()));
- coTiAct3 = combo;
- TQWhatsThis::add(combo, txtButton3 );
-
- txtButton1 = i18n("Behavior on <em>left</em> click into the titlebar or frame of an "
- "<em>inactive</em> window.");
-
- txtButton3 = i18n("Behavior on <em>right</em> click into the titlebar or frame of an "
- "<em>inactive</em> window.");
-
- // Be nice to left handed users
- if ( leftHandedMouse ) tqSwap(txtButton1, txtButton3);
-
- label = new TQLabel(i18n("Inactive"), grid);
- label->tqsetAlignment(AlignCenter);
- TQWhatsThis::add( label, i18n("In this column you can customize mouse clicks into the titlebar"
- " or the frame of an inactive window.") );
-
- items.clear();
- items << i18n("Activate & Raise")
- << i18n("Activate & Lower")
- << i18n("Activate")
- << i18n("Shade")
- << i18n("Operations Menu")
- << i18n("Raise")
- << i18n("Lower")
- << i18n("Nothing");
-
- combo = new TQComboBox(grid);
- combo->insertStringList(items);
- connect(combo, TQT_SIGNAL(activated(int)), TQT_SLOT(changed()));
- coTiInAct1 = combo;
- TQWhatsThis::add(combo, txtButton1);
-
- combo = new TQComboBox(grid);
- combo->insertStringList(items);
- connect(combo, TQT_SIGNAL(activated(int)), TQT_SLOT(changed()));
- coTiInAct2 = combo;
- TQWhatsThis::add(combo, i18n("Behavior on <em>middle</em> click into the titlebar or frame of an <em>inactive</em> window."));
-
- combo = new TQComboBox(grid);
- combo->insertStringList(items);
- connect(combo, TQT_SIGNAL(activated(int)), TQT_SLOT(changed()));
- coTiInAct3 = combo;
- TQWhatsThis::add(combo, txtButton3);
-
-/** Maximize Button ******************/
-
- box = new TQHGroupBox(i18n("Maximize Button"), this, "Maximize Button");
- box->layout()->setMargin(KDialog::marginHint());
- box->layout()->setSpacing(KDialog::spacingHint());
- layout->addWidget(box);
- TQWhatsThis::add( box,
- i18n("Here you can customize behavior when clicking on the maximize button.") );
-
- TQString strMouseButton[] = {
- i18n("Left button:"),
- i18n("Middle button:"),
- i18n("Right button:")};
-
- TQString txtButton[] = {
- i18n("Behavior on <em>left</em> click onto the maximize button." ),
- i18n("Behavior on <em>middle</em> click onto the maximize button." ),
- i18n("Behavior on <em>right</em> click onto the maximize button." )};
-
- if ( leftHandedMouse ) // Be nice to lefties
- {
- tqSwap(strMouseButton[0], strMouseButton[2]);
- tqSwap(txtButton[0], txtButton[2]);
- }
-
- createMaxButtonPixmaps();
- for (int b = 0; b < 3; ++b)
- {
- if (b != 0) new TQWidget(box); // Spacer
-
- TQLabel * label = new TQLabel(strMouseButton[b], box);
- TQWhatsThis::add( label, txtButton[b] );
- label ->tqsetSizePolicy( TQSizePolicy( TQSizePolicy::Fixed, TQSizePolicy::Minimum ));
-
- coMax[b] = new ToolTipComboBox(box, tbl_Max);
- for (int t = 0; t < 3; ++t) coMax[b]->insertItem(maxButtonPixmaps[t]);
- connect(coMax[b], TQT_SIGNAL(activated(int)), TQT_SLOT(changed()));
- connect(coMax[b], TQT_SIGNAL(activated(int)), coMax[b], TQT_SLOT(changed()));
- TQWhatsThis::add( coMax[b], txtButton[b] );
- coMax[b]->tqsetSizePolicy( TQSizePolicy( TQSizePolicy::Fixed, TQSizePolicy::Minimum ));
- }
-
- connect(kapp, TQT_SIGNAL(kdisplayPaletteChanged()), TQT_SLOT(paletteChanged()));
-
- layout->addStretch();
-
- load();
-}
-
-KTitleBarActionsConfig::~KTitleBarActionsConfig()
-{
- if (standAlone)
- delete config;
-}
-
-// do NOT change the texts below, they are written to config file
-// and are not shown in the GUI
-// they have to match the order of items in GUI elements though
-const char* const tbl_TiDbl[] = {
- "Maximize",
- "Maximize (vertical only)",
- "Maximize (horizontal only)",
- "Minimize",
- "Shade",
- "Lower",
- "OnAllDesktops",
- "Nothing",
- "" };
-
-const char* const tbl_TiAc[] = {
- "Raise",
- "Lower",
- "Operations menu",
- "Toggle raise and lower",
- "Nothing",
- "Shade",
- "" };
-
-const char* const tbl_TiInAc[] = {
- "Activate and raise",
- "Activate and lower",
- "Activate",
- "Shade",
- "Operations menu",
- "Raise",
- "Lower",
- "Nothing",
- "" };
-
-const char* const tbl_Win[] = {
- "Activate, raise and pass click",
- "Activate and pass click",
- "Activate",
- "Activate and raise",
- "" };
-
-const char* const tbl_AllKey[] = {
- "Meta",
- "Alt",
- "" };
-
-const char* const tbl_All[] = {
- "Move",
- "Activate, raise and move",
- "Toggle raise and lower",
- "Resize",
- "Raise",
- "Lower",
- "Minimize",
- "Nothing",
- "" };
-
-const char* tbl_TiWAc[] = {
- "Raise/Lower",
- "Shade/Unshade",
- "Maximize/Restore",
- "Above/Below",
- "Previous/Next Desktop",
- "Change Opacity",
- "Nothing",
- "" };
-
-const char* tbl_AllW[] = {
- "Raise/Lower",
- "Shade/Unshade",
- "Maximize/Restore",
- "Above/Below",
- "Previous/Next Desktop",
- "Change Opacity",
- "Nothing",
- "" };
-
-static const char* tbl_num_lookup( const char* const arr[], int pos )
-{
- for( int i = 0;
- arr[ i ][ 0 ] != '\0' && pos >= 0;
- ++i )
- {
- if( pos == 0 )
- return arr[ i ];
- --pos;
- }
- abort(); // should never happen this way
-}
-
-static int tbl_txt_lookup( const char* const arr[], const char* txt )
-{
- int pos = 0;
- for( int i = 0;
- arr[ i ][ 0 ] != '\0';
- ++i )
- {
- if( qstricmp( txt, arr[ i ] ) == 0 )
- return pos;
- ++pos;
- }
- return 0;
-}
-
-void KTitleBarActionsConfig::setComboText( TQComboBox* combo, const char*txt )
-{
- if( combo == coTiDbl )
- combo->setCurrentItem( tbl_txt_lookup( tbl_TiDbl, txt ));
- else if( combo == coTiAct1 || combo == coTiAct2 || combo == coTiAct3 )
- combo->setCurrentItem( tbl_txt_lookup( tbl_TiAc, txt ));
- else if( combo == coTiInAct1 || combo == coTiInAct2 || combo == coTiInAct3 )
- combo->setCurrentItem( tbl_txt_lookup( tbl_TiInAc, txt ));
- else if( combo == coTiAct4 )
- combo->setCurrentItem( tbl_txt_lookup( tbl_TiWAc, txt ));
- else if( combo == coMax[0] || combo == coMax[1] || combo == coMax[2] )
- {
- combo->setCurrentItem( tbl_txt_lookup( tbl_Max, txt ));
- static_cast<ToolTipComboBox *>(combo)->changed();
- }
- else
- abort();
-}
-
-const char* KTitleBarActionsConfig::functionTiDbl( int i )
-{
- return tbl_num_lookup( tbl_TiDbl, i );
-}
-
-const char* KTitleBarActionsConfig::functionTiAc( int i )
-{
- return tbl_num_lookup( tbl_TiAc, i );
-}
-
-const char* KTitleBarActionsConfig::functionTiInAc( int i )
-{
- return tbl_num_lookup( tbl_TiInAc, i );
-}
-
-const char* KTitleBarActionsConfig::functionTiWAc(int i)
-{
- return tbl_num_lookup( tbl_TiWAc, i );
-}
-
-const char* KTitleBarActionsConfig::functionMax( int i )
-{
- return tbl_num_lookup( tbl_Max, i );
-}
-
-void KTitleBarActionsConfig::load()
-{
- config->setGroup("Windows");
- setComboText(coTiDbl, config->readEntry("TitlebarDoubleClickCommand","Shade").ascii());
- for (int t = 0; t < 3; ++t)
- setComboText(coMax[t],config->readEntry(cnf_Max[t], tbl_Max[t]).ascii());
-
- config->setGroup( "MouseBindings");
- setComboText(coTiAct1,config->readEntry("CommandActiveTitlebar1","Raise").ascii());
- setComboText(coTiAct2,config->readEntry("CommandActiveTitlebar2","Lower").ascii());
- setComboText(coTiAct3,config->readEntry("CommandActiveTitlebar3","Operations menu").ascii());
- setComboText(coTiAct4,config->readEntry("CommandTitlebarWheel","Nothing").ascii());
- setComboText(coTiInAct1,config->readEntry("CommandInactiveTitlebar1","Activate and raise").ascii());
- setComboText(coTiInAct2,config->readEntry("CommandInactiveTitlebar2","Activate and lower").ascii());
- setComboText(coTiInAct3,config->readEntry("CommandInactiveTitlebar3","Operations menu").ascii());
-}
-
-void KTitleBarActionsConfig::save()
-{
- config->setGroup("Windows");
- config->writeEntry("TitlebarDoubleClickCommand", functionTiDbl( coTiDbl->currentItem() ) );
- for (int t = 0; t < 3; ++t)
- config->writeEntry(cnf_Max[t], functionMax(coMax[t]->currentItem()));
-
- config->setGroup("MouseBindings");
- config->writeEntry("CommandActiveTitlebar1", functionTiAc(coTiAct1->currentItem()));
- config->writeEntry("CommandActiveTitlebar2", functionTiAc(coTiAct2->currentItem()));
- config->writeEntry("CommandActiveTitlebar3", functionTiAc(coTiAct3->currentItem()));
- config->writeEntry("CommandInactiveTitlebar1", functionTiInAc(coTiInAct1->currentItem()));
- config->writeEntry("CommandTitlebarWheel", functionTiWAc(coTiAct4->currentItem()));
- config->writeEntry("CommandInactiveTitlebar2", functionTiInAc(coTiInAct2->currentItem()));
- config->writeEntry("CommandInactiveTitlebar3", functionTiInAc(coTiInAct3->currentItem()));
-
- if (standAlone)
- {
- config->sync();
- if ( !kapp->dcopClient()->isAttached() )
- kapp->dcopClient()->attach();
- kapp->dcopClient()->send("twin*", "", "reconfigure()", TQString(""));
- }
-}
-
-void KTitleBarActionsConfig::defaults()
-{
- setComboText(coTiDbl, "Shade");
- setComboText(coTiAct1,"Raise");
- setComboText(coTiAct2,"Lower");
- setComboText(coTiAct3,"Operations menu");
- setComboText(coTiAct4,"Nothing");
- setComboText(coTiInAct1,"Activate and raise");
- setComboText(coTiInAct2,"Activate and lower");
- setComboText(coTiInAct3,"Operations menu");
- for (int t = 0; t < 3; ++t)
- setComboText(coMax[t], tbl_Max[t]);
-}
-
-
-KWindowActionsConfig::KWindowActionsConfig (bool _standAlone, KConfig *_config, TQWidget * parent, const char *)
- : KCModule(parent, "kcmkwm"), config(_config), standAlone(_standAlone)
-{
- TQString strWin1, strWin2, strWin3, strAllKey, strAll1, strAll2, strAll3, strAllW;
- TQVBoxLayout *layout = new TQVBoxLayout(this, 0, KDialog::spacingHint());
- TQGrid *grid;
- TQGroupBox *box;
- TQLabel *label;
- TQString strMouseButton1, strMouseButton3;
- TQString txtButton1, txtButton3;
- TQStringList items;
- bool leftHandedMouse = ( KGlobalSettings::mouseSettings().handed == KGlobalSettings::KMouseSettings::LeftHanded);
-
-/** Inactive inner window ******************/
-
- box = new TQVGroupBox(i18n("Inactive Inner Window"), this, "Inactive Inner Window");
- box->layout()->setMargin(KDialog::marginHint());
- box->layout()->setSpacing(KDialog::spacingHint());
- layout->addWidget(box);
- TQWhatsThis::add( box, i18n("Here you can customize mouse click behavior when clicking on an inactive"
- " inner window ('inner' means: not titlebar, not frame).") );
-
- grid = new TQGrid(3, Qt::Vertical, box);
-
- strMouseButton1 = i18n("Left button:");
- txtButton1 = i18n("In this row you can customize left click behavior when clicking into"
- " the titlebar or the frame.");
-
- strMouseButton3 = i18n("Right button:");
- txtButton3 = i18n("In this row you can customize right click behavior when clicking into"
- " the titlebar or the frame." );
-
- if ( leftHandedMouse )
- {
- tqSwap(strMouseButton1, strMouseButton3);
- tqSwap(txtButton1, txtButton3);
- }
-
- strWin1 = i18n("In this row you can customize left click behavior when clicking into"
- " an inactive inner window ('inner' means: not titlebar, not frame).");
-
- strWin3 = i18n("In this row you can customize right click behavior when clicking into"
- " an inactive inner window ('inner' means: not titlebar, not frame).");
-
- // Be nice to lefties
- if ( leftHandedMouse ) tqSwap(strWin1, strWin3);
-
- label = new TQLabel(strMouseButton1, grid);
- TQWhatsThis::add( label, strWin1 );
-
- label = new TQLabel(i18n("Middle button:"), grid);
- strWin2 = i18n("In this row you can customize middle click behavior when clicking into"
- " an inactive inner window ('inner' means: not titlebar, not frame).");
- TQWhatsThis::add( label, strWin2 );
-
- label = new TQLabel(strMouseButton3, grid);
- TQWhatsThis::add( label, strWin3 );
-
- items.clear();
- items << i18n("Activate, Raise & Pass Click")
- << i18n("Activate & Pass Click")
- << i18n("Activate")
- << i18n("Activate & Raise");
-
- TQComboBox* combo = new TQComboBox(grid);
- combo->insertStringList(items);
- connect(combo, TQT_SIGNAL(activated(int)), TQT_SLOT(changed()));
- coWin1 = combo;
- TQWhatsThis::add( combo, strWin1 );
-
- combo = new TQComboBox(grid);
- combo->insertStringList(items);
- connect(combo, TQT_SIGNAL(activated(int)), TQT_SLOT(changed()));
- coWin2 = combo;
- TQWhatsThis::add( combo, strWin2 );
-
- combo = new TQComboBox(grid);
- combo->insertStringList(items);
- connect(combo, TQT_SIGNAL(activated(int)), TQT_SLOT(changed()));
- coWin3 = combo;
- TQWhatsThis::add( combo, strWin3 );
-
-
-/** Inner window, titlebar and frame **************/
-
- box = new TQVGroupBox(i18n("Inner Window, Titlebar && Frame"), this, "Inner Window, Titlebar and Frame");
- box->layout()->setMargin(KDialog::marginHint());
- box->layout()->setSpacing(KDialog::spacingHint());
- layout->addWidget(box);
- TQWhatsThis::add( box, i18n("Here you can customize KDE's behavior when clicking somewhere into"
- " a window while pressing a modifier key."));
-
- grid = new TQGrid(5, Qt::Vertical, box);
-
- // Labels
- label = new TQLabel(i18n("Modifier key:"), grid);
-
- strAllKey = i18n("Here you select whether holding the Meta key or Alt key "
- "will allow you to perform the following actions.");
- TQWhatsThis::add( label, strAllKey );
-
-
- strMouseButton1 = i18n("Modifier key + left button:");
- strAll1 = i18n("In this row you can customize left click behavior when clicking into"
- " the titlebar or the frame.");
-
- strMouseButton3 = i18n("Modifier key + right button:");
- strAll3 = i18n("In this row you can customize right click behavior when clicking into"
- " the titlebar or the frame." );
-
- if ( leftHandedMouse )
- {
- tqSwap(strMouseButton1, strMouseButton3);
- tqSwap(strAll1, strAll3);
- }
-
- label = new TQLabel(strMouseButton1, grid);
- TQWhatsThis::add( label, strAll1);
-
- label = new TQLabel(i18n("Modifier key + middle button:"), grid);
- strAll2 = i18n("Here you can customize KDE's behavior when middle clicking into a window"
- " while pressing the modifier key.");
- TQWhatsThis::add( label, strAll2 );
-
- label = new TQLabel(strMouseButton3, grid);
- TQWhatsThis::add( label, strAll3);
-
- label = new TQLabel(i18n("Modifier key + mouse wheel:"), grid);
- strAllW = i18n("Here you can customize KDE's behavior when scrolling with the mouse wheel"
- " in a window while pressing the modifier key.");
- TQWhatsThis::add( label, strAllW);
-
- // Combo's
- combo = new TQComboBox(grid);
- combo->insertItem(i18n("Meta"));
- combo->insertItem(i18n("Alt"));
- connect(combo, TQT_SIGNAL(activated(int)), TQT_SLOT(changed()));
- coAllKey = combo;
- TQWhatsThis::add( combo, strAllKey );
-
- 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 TQComboBox(grid);
- combo->insertStringList(items);
- connect(combo, TQT_SIGNAL(activated(int)), TQT_SLOT(changed()));
- coAll1 = combo;
- TQWhatsThis::add( combo, strAll1 );
-
- combo = new TQComboBox(grid);
- combo->insertStringList(items);
- connect(combo, TQT_SIGNAL(activated(int)), TQT_SLOT(changed()));
- coAll2 = combo;
- TQWhatsThis::add( combo, strAll2 );
-
- combo = new TQComboBox(grid);
- combo->insertStringList(items);
- connect(combo, TQT_SIGNAL(activated(int)), TQT_SLOT(changed()));
- coAll3 = combo;
- TQWhatsThis::add( combo, strAll3 );
-
- combo = new TQComboBox(grid);
- combo->insertItem(i18n("Raise/Lower"));
- combo->insertItem(i18n("Shade/Unshade"));
- combo->insertItem(i18n("Maximize/Restore"));
- combo->insertItem(i18n("Keep Above/Below"));
- combo->insertItem(i18n("Move to Previous/Next Desktop"));
- combo->insertItem(i18n("Change Opacity"));
- combo->insertItem(i18n("Nothing"));
- connect(combo, TQT_SIGNAL(activated(int)), TQT_SLOT(changed()));
- coAllW = combo;
- TQWhatsThis::add( combo, strAllW );
-
- layout->addStretch();
-
- load();
-}
-
-KWindowActionsConfig::~KWindowActionsConfig()
-{
- if (standAlone)
- delete config;
-}
-
-void KWindowActionsConfig::setComboText( TQComboBox* combo, const char*txt )
-{
- if( combo == coWin1 || combo == coWin2 || combo == coWin3 )
- combo->setCurrentItem( tbl_txt_lookup( tbl_Win, txt ));
- else if( combo == coAllKey )
- combo->setCurrentItem( tbl_txt_lookup( tbl_AllKey, txt ));
- else if( combo == coAll1 || combo == coAll2 || combo == coAll3 )
- combo->setCurrentItem( tbl_txt_lookup( tbl_All, txt ));
- else if( combo == coAllW )
- combo->setCurrentItem( tbl_txt_lookup( tbl_AllW, txt ));
- else
- abort();
-}
-
-const char* KWindowActionsConfig::functionWin( int i )
-{
- return tbl_num_lookup( tbl_Win, i );
-}
-
-const char* KWindowActionsConfig::functionAllKey( int i )
-{
- return tbl_num_lookup( tbl_AllKey, i );
-}
-
-const char* KWindowActionsConfig::functionAll( int i )
-{
- return tbl_num_lookup( tbl_All, i );
-}
-
-const char* KWindowActionsConfig::functionAllW(int i)
-{
- return tbl_num_lookup( tbl_AllW, i );
-}
-
-void KWindowActionsConfig::load()
-{
- config->setGroup( "MouseBindings");
- 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());
- setComboText(coAllKey,config->readEntry("CommandAllKey","Alt").ascii());
- setComboText(coAll1,config->readEntry("CommandAll1","Move").ascii());
- setComboText(coAll2,config->readEntry("CommandAll2","Toggle raise and lower").ascii());
- setComboText(coAll3,config->readEntry("CommandAll3","Resize").ascii());
- setComboText(coAllW,config->readEntry("CommandAllWheel","Nothing").ascii());
-}
-
-void KWindowActionsConfig::save()
-{
- config->setGroup("MouseBindings");
- config->writeEntry("CommandWindow1", functionWin(coWin1->currentItem()));
- config->writeEntry("CommandWindow2", functionWin(coWin2->currentItem()));
- config->writeEntry("CommandWindow3", functionWin(coWin3->currentItem()));
- config->writeEntry("CommandAllKey", functionAllKey(coAllKey->currentItem()));
- config->writeEntry("CommandAll1", functionAll(coAll1->currentItem()));
- config->writeEntry("CommandAll2", functionAll(coAll2->currentItem()));
- config->writeEntry("CommandAll3", functionAll(coAll3->currentItem()));
- config->writeEntry("CommandAllWheel", functionAllW(coAllW->currentItem()));
-
- if (standAlone)
- {
- config->sync();
- if ( !kapp->dcopClient()->isAttached() )
- kapp->dcopClient()->attach();
- kapp->dcopClient()->send("twin*", "", "reconfigure()", TQString(""));
- }
-}
-
-void KWindowActionsConfig::defaults()
-{
- setComboText(coWin1,"Activate, raise and pass click");
- setComboText(coWin2,"Activate and pass click");
- setComboText(coWin3,"Activate and pass click");
- setComboText(coAllKey,"Alt");
- setComboText (coAll1,"Move");
- setComboText(coAll2,"Toggle raise and lower");
- setComboText(coAll3,"Resize");
- setComboText(coAllW,"Nothing");
-}
diff --git a/kwin/kcmkwin/kwinoptions/mouse.h b/kwin/kcmkwin/kwinoptions/mouse.h
deleted file mode 100644
index 49591e5d8..000000000
--- a/kwin/kcmkwin/kwinoptions/mouse.h
+++ /dev/null
@@ -1,137 +0,0 @@
-/*
- * mouse.h
- *
- * Copyright (c) 1998 Matthias Ettrich <ettrich@kde.org>
- *
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- */
-
-#ifndef __KKWMMOUSECONFIG_H__
-#define __KKWMMOUSECONFIG_H__
-
-class KConfig;
-
-#include <tqwidget.h>
-#include <kcmodule.h>
-#include <tqcombobox.h>
-#include <tqtooltip.h>
-
-
-class ToolTipComboBox: public TQComboBox
-{
- Q_OBJECT
-
-public:
- ToolTipComboBox(TQWidget * owner, char const * const * toolTips_)
- : TQComboBox(owner)
- , toolTips(toolTips_) {}
-
-public slots:
- void changed() {TQToolTip::add( this, i18n(toolTips[currentItem()]) );}
-
-protected:
- char const * const * toolTips;
-};
-
-
-
-class KTitleBarActionsConfig : public KCModule
-{
- Q_OBJECT
-
-public:
-
- KTitleBarActionsConfig( bool _standAlone, KConfig *_config, TQWidget *parent=0, const char* name=0 );
- ~KTitleBarActionsConfig( );
-
- void load();
- void save();
- void defaults();
-
-public slots:
- void changed() { emit KCModule::changed(true); }
-
-private:
- TQComboBox* coTiDbl;
-
- TQComboBox* coTiAct1;
- TQComboBox* coTiAct2;
- TQComboBox* coTiAct3;
- TQComboBox* coTiAct4;
- TQComboBox* coTiInAct1;
- TQComboBox* coTiInAct2;
- TQComboBox* coTiInAct3;
-
- ToolTipComboBox * coMax[3];
-
- KConfig *config;
- bool standAlone;
-
- const char* functionTiDbl(int);
- const char* functionTiAc(int);
- const char* functionTiWAc(int);
- const char* functionTiInAc(int);
- const char* functionMax(int);
-
- void setComboText(TQComboBox* combo, const char* text);
- const char* fixup( const char* s );
-
-private slots:
- void paletteChanged();
-
-};
-
-class KWindowActionsConfig : public KCModule
-{
- Q_OBJECT
-
-public:
-
- KWindowActionsConfig( bool _standAlone, KConfig *_config, TQWidget *parent=0, const char* name=0 );
- ~KWindowActionsConfig( );
-
- void load();
- void save();
- void defaults();
-
-public slots:
- void changed() { emit KCModule::changed(true); }
-
-private:
- TQComboBox* coWin1;
- TQComboBox* coWin2;
- TQComboBox* coWin3;
-
- TQComboBox* coAllKey;
- TQComboBox* coAll1;
- TQComboBox* coAll2;
- TQComboBox* coAll3;
- TQComboBox* coAllW;
-
- KConfig *config;
- bool standAlone;
-
- const char* functionWin(int);
- const char* functionAllKey(int);
- const char* functionAll(int);
- const char* functionAllW(int);
-
- void setComboText(TQComboBox* combo, const char* text);
- const char* fixup( const char* s );
-};
-
-#endif
-
diff --git a/kwin/kcmkwin/kwinoptions/windows.cpp b/kwin/kcmkwin/kwinoptions/windows.cpp
deleted file mode 100644
index 80185a427..000000000
--- a/kwin/kcmkwin/kwinoptions/windows.cpp
+++ /dev/null
@@ -1,1712 +0,0 @@
-/*
- * windows.cpp
- *
- * Copyright (c) 1997 Patrick Dowler dowler@morgul.fsh.uvic.ca
- * Copyright (c) 2001 Waldo Bastian bastian@kde.org
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- *
- *
- */
-
-#include <config.h>
-
-#include <tqdir.h>
-#include <tqlayout.h>
-#include <tqslider.h>
-#include <tqwhatsthis.h>
-#include <tqvbuttongroup.h>
-#include <tqcheckbox.h>
-#include <tqradiobutton.h>
-#include <tqlabel.h>
-#include <tqcombobox.h>
-#include <kmessagebox.h>
-
-#include <kactivelabel.h>
-#include <klocale.h>
-#include <kcolorbutton.h>
-#include <kconfig.h>
-#include <knuminput.h>
-#include <kapplication.h>
-#include <kdialog.h>
-#include <dcopclient.h>
-#include <kglobal.h>
-#include <kprocess.h>
-#include <tqtabwidget.h>
-
-#include <X11/X.h>
-#include <X11/Xlib.h>
-#include <X11/Xutil.h>
-
-#include "windows.h"
-
-
-// twin config keywords
-#define KWIN_FOCUS "FocusPolicy"
-#define KWIN_PLACEMENT "Placement"
-#define KWIN_MOVE "MoveMode"
-#define KWIN_MINIMIZE_ANIM "AnimateMinimize"
-#define KWIN_MINIMIZE_ANIM_SPEED "AnimateMinimizeSpeed"
-#define KWIN_RESIZE_OPAQUE "ResizeMode"
-#define KWIN_GEOMETRY "GeometryTip"
-#define KWIN_AUTORAISE_INTERVAL "AutoRaiseInterval"
-#define KWIN_AUTORAISE "AutoRaise"
-#define KWIN_DELAYFOCUS_INTERVAL "DelayFocusInterval"
-#define KWIN_DELAYFOCUS "DelayFocus"
-#define KWIN_CLICKRAISE "ClickRaise"
-#define KWIN_ANIMSHADE "AnimateShade"
-#define KWIN_MOVE_RESIZE_MAXIMIZED "MoveResizeMaximizedWindows"
-#define KWIN_ALTTABMODE "AltTabStyle"
-#define KWIN_TRAVERSE_ALL "TraverseAll"
-#define KWIN_SHOW_POPUP "ShowPopup"
-#define KWIN_ROLL_OVER_DESKTOPS "RollOverDesktops"
-#define KWIN_SHADEHOVER "ShadeHover"
-#define KWIN_SHADEHOVER_INTERVAL "ShadeHoverInterval"
-#define KWIN_FOCUS_STEALING "FocusStealingPreventionLevel"
-#define KWIN_HIDE_UTILITY "HideUtilityWindowsForInactive"
-#define KWIN_SEPARATE_SCREEN_FOCUS "SeparateScreenFocus"
-#define KWIN_ACTIVE_MOUSE_SCREEN "ActiveMouseScreen"
-
-// kwm config keywords
-#define KWM_ELECTRIC_BORDER "ElectricBorders"
-#define KWM_ELECTRIC_BORDER_DELAY "ElectricBorderDelay"
-
-//CT 15mar 98 - magics
-#define KWM_BRDR_SNAP_ZONE "BorderSnapZone"
-#define KWM_BRDR_SNAP_ZONE_DEFAULT 10
-#define KWM_WNDW_SNAP_ZONE "WindowSnapZone"
-#define KWM_WNDW_SNAP_ZONE_DEFAULT 10
-
-#define MAX_BRDR_SNAP 100
-#define MAX_WNDW_SNAP 100
-#define MAX_EDGE_RES 1000
-
-
-KFocusConfig::~KFocusConfig ()
-{
- if (standAlone)
- delete config;
-}
-
-// removed the LCD display over the slider - this is not good GUI design :) RNolden 051701
-KFocusConfig::KFocusConfig (bool _standAlone, KConfig *_config, TQWidget * parent, const char *)
- : KCModule(parent, "kcmkwm"), config(_config), standAlone(_standAlone)
-{
- TQString wtstr;
- TQBoxLayout *lay = new TQVBoxLayout (this, 0, KDialog::spacingHint());
-
- //iTLabel = new TQLabel(i18n(" Allowed overlap:\n"
- // "(% of desktop space)"),
- // plcBox);
- //iTLabel->tqsetAlignment(AlignTop|AlignHCenter);
- //pLay->addWidget(iTLabel,1,1);
-
- //interactiveTrigger = new TQSpinBox(0, 500, 1, plcBox);
- //pLay->addWidget(interactiveTrigger,1,2);
-
- //pLay->addRowSpacing(2,KDialog::spacingHint());
-
- //lay->addWidget(plcBox);
-
- // focus policy
- fcsBox = new TQButtonGroup(i18n("Focus"),this);
- fcsBox->setColumnLayout( 0, Qt::Horizontal );
-
- TQBoxLayout *fLay = new TQVBoxLayout(fcsBox->tqlayout(),
- KDialog::spacingHint());
-
- TQBoxLayout *cLay = new TQHBoxLayout(fLay);
- TQLabel *fLabel = new TQLabel(i18n("&Policy:"), fcsBox);
- cLay->addWidget(fLabel, 0);
- focusCombo = new TQComboBox(false, fcsBox);
- focusCombo->insertItem(i18n("Click to Focus"), CLICK_TO_FOCUS);
- focusCombo->insertItem(i18n("Focus Follows Mouse"), FOCUS_FOLLOWS_MOUSE);
- focusCombo->insertItem(i18n("Focus Under Mouse"), FOCUS_UNDER_MOUSE);
- focusCombo->insertItem(i18n("Focus Strictly Under Mouse"), FOCUS_STRICTLY_UNDER_MOUSE);
- cLay->addWidget(focusCombo,1 ,Qt::AlignLeft);
- fLabel->setBuddy(focusCombo);
-
- // FIXME, when more policies have been added to KWin
- wtstr = i18n("The focus policy is used to determine the active window, i.e."
- " the window you can work in. <ul>"
- " <li><em>Click to focus:</em> A window becomes active when you click into it."
- " This is the behavior you might know from other operating systems.</li>"
- " <li><em>Focus follows mouse:</em> Moving the mouse pointer actively on to a"
- " normal window activates it. New windows will receive the focus,"
- " without you having to point the mouse at them explicitly."
- " Very practical if you are using the mouse a lot.</li>"
- " <li><em>Focus under mouse:</em> The window that happens to be under the"
- " mouse pointer is active. If the mouse points nowhere, the last window"
- " that was under the mouse has focus."
- " New windows will not automatically receive the focus.</li>"
- " <li><em>Focus strictly under mouse:</em> Only the window under the mouse pointer is"
- " active. If the mouse points nowhere, nothing has focus."
- " </ul>"
- "Note that 'Focus under mouse' and 'Focus strictly under mouse' prevent certain"
- " features such as the Alt+Tab walk through windows dialog in the KDE mode"
- " from working properly."
- );
- TQWhatsThis::add( focusCombo, wtstr);
- TQWhatsThis::add(fLabel, wtstr);
-
- connect(focusCombo, TQT_SIGNAL(activated(int)), this, TQT_SLOT(setAutoRaiseEnabled()) );
-
- // autoraise delay
- autoRaiseOn = new TQCheckBox(i18n("Auto &raise"), fcsBox);
- fLay->addWidget(autoRaiseOn);
- connect(autoRaiseOn,TQT_SIGNAL(toggled(bool)), this, TQT_SLOT(autoRaiseOnTog(bool)));
-
- autoRaise = new KIntNumInput(500, fcsBox);
- autoRaise->setLabel(i18n("Dela&y:"), Qt::AlignVCenter|Qt::AlignLeft);
- autoRaise->setRange(0, 3000, 100, true);
- autoRaise->setSteps(100,100);
- autoRaise->setSuffix(i18n(" msec"));
- fLay->addWidget(autoRaise);
-
- connect(focusCombo, TQT_SIGNAL(activated(int)), this, TQT_SLOT(setDelayFocusEnabled()) );
-
- delayFocusOn = new TQCheckBox(i18n("Delay focus"), fcsBox);
- fLay->addWidget(delayFocusOn);
- connect(delayFocusOn,TQT_SIGNAL(toggled(bool)), this, TQT_SLOT(delayFocusOnTog(bool)));
-
- delayFocus = new KIntNumInput(500, fcsBox);
- delayFocus->setLabel(i18n("Dela&y:"), Qt::AlignVCenter|Qt::AlignLeft);
- delayFocus->setRange(0, 3000, 100, true);
- delayFocus->setSteps(100,100);
- delayFocus->setSuffix(i18n(" msec"));
- fLay->addWidget(delayFocus);
-
- clickRaiseOn = new TQCheckBox(i18n("C&lick raise active window"), fcsBox);
- connect(clickRaiseOn,TQT_SIGNAL(toggled(bool)), this, TQT_SLOT(clickRaiseOnTog(bool)));
- fLay->addWidget(clickRaiseOn);
-
-// fLay->addColSpacing(0,QMAX(autoRaiseOn->tqsizeHint().width(),
-// clickRaiseOn->tqsizeHint().width()) + 15);
-
- TQWhatsThis::add( autoRaiseOn, i18n("When this option is enabled, a window in the background will automatically"
- " come to the front when the mouse pointer has been over it for some time.") );
- wtstr = i18n("This is the delay after which the window that the mouse pointer is over will automatically"
- " come to the front.");
- TQWhatsThis::add( autoRaise, wtstr );
-
- TQWhatsThis::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.") );
-
- TQWhatsThis::add( delayFocusOn, i18n("When this option is enabled, there will be a delay after which the"
- " window the mouse pointer is over will become active (receive focus).") );
- TQWhatsThis::add( delayFocus, i18n("This is the delay after which the window the mouse pointer is over"
- " will automatically receive focus.") );
-
- separateScreenFocus = new TQCheckBox( i18n( "S&eparate screen focus" ), fcsBox );
- fLay->addWidget( separateScreenFocus );
- wtstr = i18n( "When this option is enabled, focus operations are limited only to the active Xinerama screen" );
- TQWhatsThis::add( separateScreenFocus, wtstr );
-
- activeMouseScreen = new TQCheckBox( i18n( "Active &mouse screen" ), fcsBox );
- fLay->addWidget( activeMouseScreen );
- wtstr = i18n( "When this option is enabled, active Xinerama screen (where for example new windows appear)"
- " is the screen with the mouse pointer. When disabled, the active Xinerama screen is the screen"
- " with the focused window. This option is by default disabled for Click to focus and"
- " enabled for other focus policies." );
- TQWhatsThis::add( activeMouseScreen, wtstr );
- connect(focusCombo, TQT_SIGNAL(activated(int)), this, TQT_SLOT(updateActiveMouseScreen()));
-
- if (!TQApplication::desktop()->isVirtualDesktop() ||
- TQApplication::desktop()->numScreens() == 1) // No Ximerama
- {
- separateScreenFocus->hide();
- activeMouseScreen->hide();
- }
-
- lay->addWidget(fcsBox);
-
- kbdBox = new TQButtonGroup(i18n("Navigation"), this);
- kbdBox->setColumnLayout( 0, Qt::Horizontal );
- TQVBoxLayout *kLay = new TQVBoxLayout(kbdBox->tqlayout(), KDialog::spacingHint());
-
- altTabPopup = new TQCheckBox( i18n("Show window list while switching windows"), kbdBox );
- kLay->addWidget( altTabPopup );
-
- wtstr = i18n("Hold down the Alt key and press the Tab key repeatedly to walk"
- " through the windows on the current desktop (the Alt+Tab"
- " combination can be reconfigured).\n\n"
- "If this checkbox is checked"
- " a popup widget is shown, displaying the icons of all windows to"
- " walk through and the title of the currently selected one.\n\n"
- "Otherwise, the focus is passed to a new window each time Tab"
- " is pressed, with no popup widget. In addition, the previously"
- " activated window will be sent to the back in this mode.");
- TQWhatsThis::add( altTabPopup, wtstr );
- connect(focusCombo, TQT_SIGNAL(activated(int)), this, TQT_SLOT(updateAltTabMode()));
-
- traverseAll = new TQCheckBox( i18n( "&Traverse windows on all desktops" ), kbdBox );
- kLay->addWidget( traverseAll );
-
- wtstr = i18n( "Leave this option disabled if you want to limit walking through"
- " windows to the current desktop." );
- TQWhatsThis::add( traverseAll, wtstr );
-
- rollOverDesktops = new TQCheckBox( i18n("Desktop navi&gation wraps around"), kbdBox );
- kLay->addWidget(rollOverDesktops);
-
- wtstr = i18n( "Enable this option if you want keyboard or active desktop border navigation beyond"
- " the edge of a desktop to take you to the opposite edge of the new desktop." );
- TQWhatsThis::add( rollOverDesktops, wtstr );
-
- showPopupinfo = new TQCheckBox( i18n("Popup desktop name on desktop &switch"), kbdBox );
- kLay->addWidget(showPopupinfo);
-
- wtstr = i18n( "Enable this option if you wish to see the current desktop"
- " name popup whenever the current desktop is changed." );
- TQWhatsThis::add( showPopupinfo, wtstr );
-
- lay->addWidget(kbdBox);
-
- lay->addStretch();
-
- // Any changes goes to slotChanged()
- connect(focusCombo, TQT_SIGNAL(activated(int)), TQT_SLOT(changed()));
- connect(fcsBox, TQT_SIGNAL(clicked(int)), TQT_SLOT(changed()));
- connect(autoRaise, TQT_SIGNAL(valueChanged(int)), TQT_SLOT(changed()));
- connect(delayFocus, TQT_SIGNAL(valueChanged(int)), TQT_SLOT(changed()));
- connect(separateScreenFocus, TQT_SIGNAL(clicked()), TQT_SLOT(changed()));
- connect(activeMouseScreen, TQT_SIGNAL(clicked()), TQT_SLOT(changed()));
- connect(altTabPopup, TQT_SIGNAL(clicked()), TQT_SLOT(changed()));
- connect(traverseAll, TQT_SIGNAL(clicked()), TQT_SLOT(changed()));
- connect(rollOverDesktops, TQT_SIGNAL(clicked()), TQT_SLOT(changed()));
- connect(showPopupinfo, TQT_SIGNAL(clicked()), TQT_SLOT(changed()));
-
- load();
-}
-
-
-int KFocusConfig::getFocus()
-{
- return focusCombo->currentItem();
-}
-
-void KFocusConfig::setFocus(int foc)
-{
- focusCombo->setCurrentItem(foc);
-
- // this will disable/hide the auto raise delay widget if focus==click
- setAutoRaiseEnabled();
- updateAltTabMode();
-}
-
-void KFocusConfig::updateAltTabMode()
-{
- // not KDE-style Alt+Tab with unreasonable focus policies
- altTabPopup->setEnabled( focusCombo->currentItem() == 0 || focusCombo->currentItem() == 1 );
-}
-
-void KFocusConfig::setAutoRaiseInterval(int tb)
-{
- autoRaise->setValue(tb);
-}
-
-void KFocusConfig::setDelayFocusInterval(int tb)
-{
- delayFocus->setValue(tb);
-}
-
-int KFocusConfig::getAutoRaiseInterval()
-{
- return autoRaise->value();
-}
-
-int KFocusConfig::getDelayFocusInterval()
-{
- return delayFocus->value();
-}
-
-void KFocusConfig::setAutoRaise(bool on)
-{
- autoRaiseOn->setChecked(on);
-}
-
-void KFocusConfig::setDelayFocus(bool on)
-{
- delayFocusOn->setChecked(on);
-}
-
-void KFocusConfig::setClickRaise(bool on)
-{
- clickRaiseOn->setChecked(on);
-}
-
-void KFocusConfig::setAutoRaiseEnabled()
-{
- // the auto raise related widgets are: autoRaise
- if ( focusCombo->currentItem() != CLICK_TO_FOCUS )
- {
- autoRaiseOn->setEnabled(true);
- autoRaiseOnTog(autoRaiseOn->isChecked());
- }
- else
- {
- autoRaiseOn->setEnabled(false);
- autoRaiseOnTog(false);
- }
-}
-
-void KFocusConfig::setDelayFocusEnabled()
-{
- // the delayed focus related widgets are: delayFocus
- if ( focusCombo->currentItem() != CLICK_TO_FOCUS )
- {
- delayFocusOn->setEnabled(true);
- delayFocusOnTog(delayFocusOn->isChecked());
- }
- else
- {
- delayFocusOn->setEnabled(false);
- delayFocusOnTog(false);
- }
-}
-
-void KFocusConfig::autoRaiseOnTog(bool a) {
- autoRaise->setEnabled(a);
- clickRaiseOn->setEnabled( !a );
-}
-
-void KFocusConfig::delayFocusOnTog(bool a) {
- delayFocus->setEnabled(a);
-}
-
-void KFocusConfig::clickRaiseOnTog(bool ) {
-}
-
-void KFocusConfig::setSeparateScreenFocus(bool s) {
- separateScreenFocus->setChecked(s);
-}
-
-void KFocusConfig::setActiveMouseScreen(bool a) {
- activeMouseScreen->setChecked(a);
-}
-
-void KFocusConfig::updateActiveMouseScreen()
-{
- // on by default for non click to focus policies
- KConfigGroup cfg( config, "Windows" );
- if( !cfg.hasKey( KWIN_ACTIVE_MOUSE_SCREEN ))
- setActiveMouseScreen( focusCombo->currentItem() != 0 );
-}
-
-void KFocusConfig::setAltTabMode(bool a) {
- altTabPopup->setChecked(a);
-}
-
-void KFocusConfig::setTraverseAll(bool a) {
- traverseAll->setChecked(a);
-}
-
-void KFocusConfig::setRollOverDesktops(bool a) {
- rollOverDesktops->setChecked(a);
-}
-
-void KFocusConfig::setShowPopupinfo(bool a) {
- showPopupinfo->setChecked(a);
-}
-
-void KFocusConfig::load( void )
-{
- TQString key;
-
- config->setGroup( "Windows" );
-
- key = config->readEntry(KWIN_FOCUS);
- if( key == "ClickToFocus")
- setFocus(CLICK_TO_FOCUS);
- else if( key == "FocusFollowsMouse")
- setFocus(FOCUS_FOLLOWS_MOUSE);
- else if(key == "FocusUnderMouse")
- setFocus(FOCUS_UNDER_MOUSE);
- else if(key == "FocusStrictlyUnderMouse")
- setFocus(FOCUS_STRICTLY_UNDER_MOUSE);
-
- int k = config->readNumEntry(KWIN_AUTORAISE_INTERVAL,750);
- setAutoRaiseInterval(k);
-
- k = config->readNumEntry(KWIN_DELAYFOCUS_INTERVAL,750);
- setDelayFocusInterval(k);
-
- key = config->readEntry(KWIN_AUTORAISE);
- setAutoRaise(key == "on");
- key = config->readEntry(KWIN_DELAYFOCUS);
- setDelayFocus(key == "on");
- key = config->readEntry(KWIN_CLICKRAISE);
- setClickRaise(key != "off");
- setAutoRaiseEnabled(); // this will disable/hide the auto raise delay widget if focus==click
- setDelayFocusEnabled();
-
- setSeparateScreenFocus( config->readBoolEntry(KWIN_SEPARATE_SCREEN_FOCUS, false));
- // on by default for non click to focus policies
- setActiveMouseScreen( config->readBoolEntry(KWIN_ACTIVE_MOUSE_SCREEN, focusCombo->currentItem() != 0 ));
-
- key = config->readEntry(KWIN_ALTTABMODE, "KDE");
- setAltTabMode(key == "KDE");
-
- setRollOverDesktops( config->readBoolEntry(KWIN_ROLL_OVER_DESKTOPS, true ));
-
- config->setGroup( "PopupInfo" );
- setShowPopupinfo( config->readBoolEntry(KWIN_SHOW_POPUP, false ));
-
- config->setGroup( "TabBox" );
- setTraverseAll( config->readBoolEntry(KWIN_TRAVERSE_ALL, false ));
-
- config->setGroup("Desktops");
- emit KCModule::changed(false);
-}
-
-void KFocusConfig::save( void )
-{
- int v;
-
- config->setGroup( "Windows" );
-
- v = getFocus();
- if (v == CLICK_TO_FOCUS)
- config->writeEntry(KWIN_FOCUS,"ClickToFocus");
- else if (v == FOCUS_UNDER_MOUSE)
- config->writeEntry(KWIN_FOCUS,"FocusUnderMouse");
- else if (v == FOCUS_STRICTLY_UNDER_MOUSE)
- config->writeEntry(KWIN_FOCUS,"FocusStrictlyUnderMouse");
- else
- config->writeEntry(KWIN_FOCUS,"FocusFollowsMouse");
-
- v = getAutoRaiseInterval();
- if (v <0) v = 0;
- config->writeEntry(KWIN_AUTORAISE_INTERVAL,v);
-
- v = getDelayFocusInterval();
- if (v <0) v = 0;
- config->writeEntry(KWIN_DELAYFOCUS_INTERVAL,v);
-
- if (autoRaiseOn->isChecked())
- config->writeEntry(KWIN_AUTORAISE, "on");
- else
- config->writeEntry(KWIN_AUTORAISE, "off");
-
- if (delayFocusOn->isChecked())
- config->writeEntry(KWIN_DELAYFOCUS, "on");
- else
- config->writeEntry(KWIN_DELAYFOCUS, "off");
-
- if (clickRaiseOn->isChecked())
- config->writeEntry(KWIN_CLICKRAISE, "on");
- else
- config->writeEntry(KWIN_CLICKRAISE, "off");
-
- config->writeEntry(KWIN_SEPARATE_SCREEN_FOCUS, separateScreenFocus->isChecked());
- config->writeEntry(KWIN_ACTIVE_MOUSE_SCREEN, activeMouseScreen->isChecked());
-
- if (altTabPopup->isChecked())
- config->writeEntry(KWIN_ALTTABMODE, "KDE");
- else
- config->writeEntry(KWIN_ALTTABMODE, "CDE");
-
- config->writeEntry( KWIN_ROLL_OVER_DESKTOPS, rollOverDesktops->isChecked());
-
- config->setGroup( "PopupInfo" );
- config->writeEntry( KWIN_SHOW_POPUP, showPopupinfo->isChecked());
-
- config->setGroup( "TabBox" );
- config->writeEntry( KWIN_TRAVERSE_ALL , traverseAll->isChecked());
-
- config->setGroup("Desktops");
-
- if (standAlone)
- {
- config->sync();
- if ( !kapp->dcopClient()->isAttached() )
- kapp->dcopClient()->attach();
- kapp->dcopClient()->send("twin*", "", "reconfigure()", TQString(""));
- }
- emit KCModule::changed(false);
-}
-
-void KFocusConfig::defaults()
-{
- setAutoRaiseInterval(0);
- setDelayFocusInterval(0);
- setFocus(CLICK_TO_FOCUS);
- setAutoRaise(false);
- setDelayFocus(false);
- setClickRaise(true);
- setSeparateScreenFocus( false );
- // on by default for non click to focus policies
- setActiveMouseScreen( focusCombo->currentItem() != 0 );
- setAltTabMode(true);
- setTraverseAll( false );
- setRollOverDesktops(true);
- setShowPopupinfo(false);
- emit KCModule::changed(true);
-}
-
-KAdvancedConfig::~KAdvancedConfig ()
-{
- if (standAlone)
- delete config;
-}
-
-KAdvancedConfig::KAdvancedConfig (bool _standAlone, KConfig *_config, TQWidget *parent, const char *)
- : KCModule(parent, "kcmkwm"), config(_config), standAlone(_standAlone)
-{
- TQString wtstr;
- TQBoxLayout *lay = new TQVBoxLayout (this, 0, KDialog::spacingHint());
-
- //iTLabel = new TQLabel(i18n(" Allowed overlap:\n"
- // "(% of desktop space)"),
- // plcBox);
- //iTLabel->tqsetAlignment(AlignTop|AlignHCenter);
- //pLay->addWidget(iTLabel,1,1);
-
- //interactiveTrigger = new TQSpinBox(0, 500, 1, plcBox);
- //pLay->addWidget(interactiveTrigger,1,2);
-
- //pLay->addRowSpacing(2,KDialog::spacingHint());
-
- //lay->addWidget(plcBox);
-
- shBox = new TQVButtonGroup(i18n("Shading"), this);
-
- animateShade = new TQCheckBox(i18n("Anima&te"), shBox);
- TQWhatsThis::add(animateShade, i18n("Animate the action of reducing the window to its titlebar (shading)"
- " as well as the expansion of a shaded window") );
-
- shadeHoverOn = new TQCheckBox(i18n("&Enable hover"), shBox);
-
- connect(shadeHoverOn, TQT_SIGNAL(toggled(bool)), this, TQT_SLOT(shadeHoverChanged(bool)));
-
- shadeHover = new KIntNumInput(500, shBox);
- shadeHover->setLabel(i18n("Dela&y:"), Qt::AlignVCenter|Qt::AlignLeft);
- shadeHover->setRange(0, 3000, 100, true);
- shadeHover->setSteps(100, 100);
- shadeHover->setSuffix(i18n(" msec"));
-
- TQWhatsThis::add(shadeHoverOn, i18n("If Shade Hover is enabled, a shaded window will un-shade automatically "
- "when the mouse pointer has been over the title bar for some time."));
-
- wtstr = i18n("Sets the time in milliseconds before the window unshades "
- "when the mouse pointer goes over the shaded window.");
- TQWhatsThis::add(shadeHover, wtstr);
-
- lay->addWidget(shBox);
-
- // Any changes goes to slotChanged()
- connect(animateShade, TQT_SIGNAL(toggled(bool)), TQT_SLOT(changed()));
- connect(shadeHoverOn, TQT_SIGNAL(toggled(bool)), TQT_SLOT(changed()));
- connect(shadeHover, TQT_SIGNAL(valueChanged(int)), TQT_SLOT(changed()));
-
- electricBox = new TQVButtonGroup(i18n("Active Desktop Borders"), this);
- electricBox->setMargin(15);
-
- TQWhatsThis::add( electricBox, i18n("If this option is enabled, moving the mouse to a screen border"
- " will change your desktop. This is e.g. useful if you want to drag windows from one desktop"
- " to the other.") );
- active_disable = new TQRadioButton(i18n("D&isabled"), electricBox);
- active_move = new TQRadioButton(i18n("Only &when moving windows"), electricBox);
- active_always = new TQRadioButton(i18n("A&lways enabled"), electricBox);
-
- delays = new KIntNumInput(10, electricBox);
- delays->setRange(0, MAX_EDGE_RES, 50, true);
- delays->setSuffix(i18n(" msec"));
- delays->setLabel(i18n("Desktop &switch delay:"));
- TQWhatsThis::add( delays, i18n("Here you can set a delay for switching desktops using the active"
- " borders feature. Desktops will be switched after the mouse has been pushed against a screen border"
- " for the specified number of milliseconds.") );
-
- connect( electricBox, TQT_SIGNAL(clicked(int)), this, TQT_SLOT(setEBorders()));
-
- // Any changes goes to slotChanged()
- connect(electricBox, TQT_SIGNAL(clicked(int)), TQT_SLOT(changed()));
- connect(delays, TQT_SIGNAL(valueChanged(int)), TQT_SLOT(changed()));
-
- lay->addWidget(electricBox);
-
- TQHBoxLayout* focusStealingLayout = new TQHBoxLayout( lay,KDialog::spacingHint());
- TQLabel* focusStealingLabel = new TQLabel( i18n( "Focus stealing prevention level:" ), this );
- focusStealing = new TQComboBox( 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" ));
- focusStealingLabel->setBuddy( focusStealing );
- focusStealingLayout->addWidget( focusStealingLabel );
- focusStealingLayout->addWidget( focusStealing, AlignLeft );
- wtstr = i18n( "<p>This option specifies how much KWin will try to prevent unwanted focus stealing "
- "caused by unexpected activation of new windows. (Note: This feature does not "
- "work with the Focus Under Mouse or Focus Strictly Under Mouse focus policies.)"
- "<ul>"
- "<li><em>None:</em> Prevention is turned off "
- "and new windows always become activated.</li>"
- "<li><em>Low:</em> Prevention is enabled; when some window does not have support "
- "for the underlying mechanism and KWin cannot reliably decide whether to "
- "activate the window or not, it will be activated. This setting may have both "
- "worse and better results than normal level, depending on the applications.</li>"
- "<li><em>Normal:</em> Prevention is enabled.</li>"
- "<li><em>High:</em> New windows get activated only if no window is currently active "
- "or if they belong to the currently active application. This setting is probably "
- "not really usable when not using mouse focus policy.</li>"
- "<li><em>Extreme:</em> All windows must be explicitly activated by the user.</li>"
- "</ul></p>"
- "<p>Windows that are prevented from stealing focus are marked as demanding attention, "
- "which by default means their taskbar entry will be highlighted. This can be changed "
- "in the Notifications control module.</p>" );
- TQWhatsThis::add( focusStealing, wtstr );
- TQWhatsThis::add( focusStealingLabel, wtstr );
- connect(focusStealing, TQT_SIGNAL(activated(int)), TQT_SLOT(changed()));
-
- hideUtilityWindowsForInactive = new TQCheckBox( i18n( "Hide utility windows for inactive applications" ), this );
- TQWhatsThis::add( hideUtilityWindowsForInactive,
- i18n( "When turned on, utility windows (tool windows, torn-off menus,...) of inactive applications will be"
- " hidden and will be shown only when the application becomes active. Note that applications"
- " have to mark the windows with the proper window type for this feature to work." ));
- connect(hideUtilityWindowsForInactive, TQT_SIGNAL(toggled(bool)), TQT_SLOT(changed()));
- lay->addWidget( hideUtilityWindowsForInactive );
-
- lay->addStretch();
- load();
-
-}
-
-void KAdvancedConfig::setShadeHover(bool on) {
- shadeHoverOn->setChecked(on);
- shadeHover->setEnabled(on);
-}
-
-void KAdvancedConfig::setShadeHoverInterval(int k) {
- shadeHover->setValue(k);
-}
-
-int KAdvancedConfig::getShadeHoverInterval() {
-
- return shadeHover->value();
-}
-
-void KAdvancedConfig::shadeHoverChanged(bool a) {
- shadeHover->setEnabled(a);
-}
-
-void KAdvancedConfig::setAnimateShade(bool a) {
- animateShade->setChecked(a);
-}
-
-void KAdvancedConfig::setFocusStealing(int l) {
- l = KMAX( 0, KMIN( 4, l ));
- focusStealing->setCurrentItem(l);
-}
-
-void KAdvancedConfig::setHideUtilityWindowsForInactive(bool s) {
- hideUtilityWindowsForInactive->setChecked( s );
-}
-
-void KAdvancedConfig::load( void )
-{
- config->setGroup( "Windows" );
-
- setAnimateShade(config->readBoolEntry(KWIN_ANIMSHADE, true));
- setShadeHover(config->readBoolEntry(KWIN_SHADEHOVER, false));
- setShadeHoverInterval(config->readNumEntry(KWIN_SHADEHOVER_INTERVAL, 250));
-
- setElectricBorders(config->readNumEntry(KWM_ELECTRIC_BORDER, 0));
- setElectricBorderDelay(config->readNumEntry(KWM_ELECTRIC_BORDER_DELAY, 150));
-
-// setFocusStealing( config->readNumEntry(KWIN_FOCUS_STEALING, 2 ));
- // TODO default to low for now
- setFocusStealing( config->readNumEntry(KWIN_FOCUS_STEALING, 1 ));
- setHideUtilityWindowsForInactive( config->readBoolEntry( KWIN_HIDE_UTILITY, true ));
-
- emit KCModule::changed(false);
-}
-
-void KAdvancedConfig::save( void )
-{
- int v;
-
- config->setGroup( "Windows" );
- config->writeEntry(KWIN_ANIMSHADE, animateShade->isChecked());
- if (shadeHoverOn->isChecked())
- config->writeEntry(KWIN_SHADEHOVER, "on");
- else
- config->writeEntry(KWIN_SHADEHOVER, "off");
-
- v = getShadeHoverInterval();
- if (v<0) v = 0;
- config->writeEntry(KWIN_SHADEHOVER_INTERVAL, v);
-
- config->writeEntry(KWM_ELECTRIC_BORDER, getElectricBorders());
- config->writeEntry(KWM_ELECTRIC_BORDER_DELAY,getElectricBorderDelay());
-
- config->writeEntry(KWIN_FOCUS_STEALING, focusStealing->currentItem());
- config->writeEntry(KWIN_HIDE_UTILITY, hideUtilityWindowsForInactive->isChecked());
-
- if (standAlone)
- {
- config->sync();
- if ( !kapp->dcopClient()->isAttached() )
- kapp->dcopClient()->attach();
- kapp->dcopClient()->send("twin*", "", "reconfigure()", TQString(""));
- }
- emit KCModule::changed(false);
-}
-
-void KAdvancedConfig::defaults()
-{
- setAnimateShade(true);
- setShadeHover(false);
- setShadeHoverInterval(250);
- setElectricBorders(0);
- setElectricBorderDelay(150);
-// setFocusStealing(2);
- // TODO default to low for now
- setFocusStealing(1);
- setHideUtilityWindowsForInactive( true );
- emit KCModule::changed(true);
-}
-
-void KAdvancedConfig::setEBorders()
-{
- delays->setEnabled(!active_disable->isChecked());
-}
-
-int KAdvancedConfig::getElectricBorders()
-{
- if (active_move->isChecked())
- return 1;
- if (active_always->isChecked())
- return 2;
- return 0;
-}
-
-int KAdvancedConfig::getElectricBorderDelay()
-{
- return delays->value();
-}
-
-void KAdvancedConfig::setElectricBorders(int i){
- switch(i)
- {
- case 1: active_move->setChecked(true); break;
- case 2: active_always->setChecked(true); break;
- default: active_disable->setChecked(true); break;
- }
- setEBorders();
-}
-
-void KAdvancedConfig::setElectricBorderDelay(int delay)
-{
- delays->setValue(delay);
-}
-
-
-KMovingConfig::~KMovingConfig ()
-{
- if (standAlone)
- delete config;
-}
-
-KMovingConfig::KMovingConfig (bool _standAlone, KConfig *_config, TQWidget *parent, const char *)
- : KCModule(parent, "kcmkwm"), config(_config), standAlone(_standAlone)
-{
- TQString wtstr;
- TQBoxLayout *lay = new TQVBoxLayout (this, 0, KDialog::spacingHint());
-
- windowsBox = new TQButtonGroup(i18n("Windows"), this);
- windowsBox->setColumnLayout( 0, Qt::Horizontal );
-
- TQBoxLayout *wLay = new TQVBoxLayout (windowsBox->tqlayout(), KDialog::spacingHint());
-
- TQBoxLayout *bLay = new TQVBoxLayout;
- wLay->addLayout(bLay);
-
- opaque = new TQCheckBox(i18n("Di&splay content in moving windows"), windowsBox);
- bLay->addWidget(opaque);
- TQWhatsThis::add( opaque, i18n("Enable this option if you want a window's content to be fully shown"
- " while moving it, instead of just showing a window 'skeleton'. The result may not be satisfying"
- " on slow machines without graphic acceleration.") );
-
- resizeOpaqueOn = new TQCheckBox(i18n("Display content in &resizing windows"), windowsBox);
- bLay->addWidget(resizeOpaqueOn);
- TQWhatsThis::add( resizeOpaqueOn, i18n("Enable this option if you want a window's content to be shown"
- " while resizing it, instead of just showing a window 'skeleton'. The result may not be satisfying"
- " on slow machines.") );
-
- geometryTipOn = new TQCheckBox(i18n("Display window &geometry when moving or resizing"), windowsBox);
- bLay->addWidget(geometryTipOn);
- TQWhatsThis::add(geometryTipOn, i18n("Enable this option if you want a window's geometry to be displayed"
- " while it is being moved or resized. The window position relative"
- " to the top-left corner of the screen is displayed together with"
- " its size."));
-
- TQGridLayout *rLay = new TQGridLayout(2,3);
- bLay->addLayout(TQT_TQLAYOUT(rLay));
- rLay->setColStretch(0,0);
- rLay->setColStretch(1,1);
-
- minimizeAnimOn = new TQCheckBox(i18n("Animate minimi&ze and restore"),
- windowsBox);
- TQWhatsThis::add( minimizeAnimOn, i18n("Enable this option if you want an animation shown when"
- " windows are minimized or restored." ) );
- rLay->addWidget(minimizeAnimOn,0,0);
-
- minimizeAnimSlider = new TQSlider(0,10,10,0,Qt::Horizontal, windowsBox);
- minimizeAnimSlider->setSteps(1, 1);
- // TQSlider::Below clashes with a X11/X.h #define
- #undef Below
- minimizeAnimSlider->setTickmarks(TQSlider::Below);
- rLay->addMultiCellWidget(minimizeAnimSlider,0,0,1,2);
-
- connect(minimizeAnimOn, TQT_SIGNAL(toggled(bool)), this, TQT_SLOT(setMinimizeAnim(bool)));
- connect(minimizeAnimSlider, TQT_SIGNAL(valueChanged(int)), this, TQT_SLOT(setMinimizeAnimSpeed(int)));
-
- minimizeAnimSlowLabel= new TQLabel(i18n("Slow"),windowsBox);
- minimizeAnimSlowLabel->tqsetAlignment(Qt::AlignTop|Qt::AlignLeft);
- rLay->addWidget(minimizeAnimSlowLabel,1,1);
-
- minimizeAnimFastLabel= new TQLabel(i18n("Fast"),windowsBox);
- minimizeAnimFastLabel->tqsetAlignment(Qt::AlignTop|Qt::AlignRight);
- rLay->addWidget(minimizeAnimFastLabel,1,2);
-
- wtstr = i18n("Here you can set the speed of the animation shown when windows are"
- " minimized and restored. ");
- TQWhatsThis::add( minimizeAnimSlider, wtstr );
- TQWhatsThis::add( minimizeAnimSlowLabel, wtstr );
- TQWhatsThis::add( minimizeAnimFastLabel, wtstr );
-
- moveResizeMaximized = new TQCheckBox( i18n("Allow moving and resizing o&f maximized windows"), windowsBox);
- bLay->addWidget(moveResizeMaximized);
- TQWhatsThis::add(moveResizeMaximized, i18n("When enabled, this feature activates the border of maximized windows"
- " and allows you to move or resize them,"
- " just like for normal windows"));
-
- TQBoxLayout *vLay = new TQHBoxLayout(bLay);
-
- TQLabel *plcLabel = new TQLabel(i18n("&Placement:"),windowsBox);
-
- placementCombo = new TQComboBox(false, windowsBox);
- placementCombo->insertItem(i18n("Smart"), SMART_PLACEMENT);
- placementCombo->insertItem(i18n("Maximizing"), MAXIMIZING_PLACEMENT);
- placementCombo->insertItem(i18n("Cascade"), CASCADE_PLACEMENT);
- placementCombo->insertItem(i18n("Random"), RANDOM_PLACEMENT);
- placementCombo->insertItem(i18n("Centered"), CENTERED_PLACEMENT);
- placementCombo->insertItem(i18n("Zero-Cornered"), ZEROCORNERED_PLACEMENT);
- // CT: disabling is needed as long as functionality misses in twin
- //placementCombo->insertItem(i18n("Interactive"), INTERACTIVE_PLACEMENT);
- //placementCombo->insertItem(i18n("Manual"), MANUAL_PLACEMENT);
- placementCombo->setCurrentItem(SMART_PLACEMENT);
-
- // FIXME, when more policies have been added to KWin
- wtstr = i18n("The placement policy determines where a new window"
- " will appear on the desktop."
- " <ul>"
- " <li><em>Smart</em> will try to achieve a minimum overlap of windows</li>"
- " <li><em>Maximizing</em> will try to maximize every window to fill the whole screen."
- " It might be useful to selectively affect placement of some windows using"
- " the window-specific settings.</li>"
- " <li><em>Cascade</em> will cascade the windows</li>"
- " <li><em>Random</em> will use a random position</li>"
- " <li><em>Centered</em> will place the window centered</li>"
- " <li><em>Zero-Cornered</em> will place the window in the top-left corner</li>"
- "</ul>") ;
-
- TQWhatsThis::add( plcLabel, wtstr);
- TQWhatsThis::add( placementCombo, wtstr);
-
- plcLabel->setBuddy(placementCombo);
- vLay->addWidget(plcLabel, 0);
- vLay->addWidget(placementCombo, 1, Qt::AlignLeft);
-
- bLay->addSpacing(10);
-
- lay->addWidget(windowsBox);
-
- //iTLabel = new TQLabel(i18n(" Allowed overlap:\n"
- // "(% of desktop space)"),
- // plcBox);
- //iTLabel->tqsetAlignment(AlignTop|AlignHCenter);
- //pLay->addWidget(iTLabel,1,1);
-
- //interactiveTrigger = new TQSpinBox(0, 500, 1, plcBox);
- //pLay->addWidget(interactiveTrigger,1,2);
-
- //pLay->addRowSpacing(2,KDialog::spacingHint());
-
- //lay->addWidget(plcBox);
-
-
- //CT 15mar98 - add EdgeResistance, BorderAttractor, WindowsAttractor config
- MagicBox = new TQVButtonGroup(i18n("Snap Zones"), this);
- MagicBox->setMargin(15);
-
- BrdrSnap = new KIntNumInput(10, MagicBox);
- BrdrSnap->setSpecialValueText( i18n("none") );
- BrdrSnap->setRange( 0, MAX_BRDR_SNAP);
- BrdrSnap->setLabel(i18n("&Border snap zone:"));
- BrdrSnap->setSteps(1,10);
- TQWhatsThis::add( BrdrSnap, i18n("Here you can set the snap zone for screen borders, i.e."
- " the 'strength' of the magnetic field which will make windows snap to the border when"
- " moved near it.") );
-
- WndwSnap = new KIntNumInput(10, MagicBox);
- WndwSnap->setSpecialValueText( i18n("none") );
- WndwSnap->setRange( 0, MAX_WNDW_SNAP);
- WndwSnap->setLabel(i18n("&Window snap zone:"));
- BrdrSnap->setSteps(1,10);
- TQWhatsThis::add( WndwSnap, i18n("Here you can set the snap zone for windows, i.e."
- " the 'strength' of the magnetic field which will make windows snap to each other when"
- " they're moved near another window.") );
-
- OverlapSnap=new TQCheckBox(i18n("Snap windows onl&y when overlapping"),MagicBox);
- TQWhatsThis::add( OverlapSnap, i18n("Here you can set that windows will be only"
- " snapped if you try to overlap them, i.e. they will not be snapped if the windows"
- " comes only near another window or border.") );
-
- lay->addWidget(MagicBox);
- lay->addStretch();
-
- load();
-
- // Any changes goes to slotChanged()
- connect( opaque, TQT_SIGNAL(clicked()), TQT_SLOT(changed()));
- connect( resizeOpaqueOn, TQT_SIGNAL(clicked()), TQT_SLOT(changed()));
- connect( geometryTipOn, TQT_SIGNAL(clicked()), TQT_SLOT(changed()));
- connect( minimizeAnimOn, TQT_SIGNAL(clicked() ), TQT_SLOT(changed()));
- connect( minimizeAnimSlider, TQT_SIGNAL(valueChanged(int)), TQT_SLOT(changed()));
- connect( moveResizeMaximized, TQT_SIGNAL(toggled(bool)), TQT_SLOT(changed()));
- connect( placementCombo, TQT_SIGNAL(activated(int)), TQT_SLOT(changed()));
- connect( BrdrSnap, TQT_SIGNAL(valueChanged(int)), TQT_SLOT(changed()));
- connect( BrdrSnap, TQT_SIGNAL(valueChanged(int)), TQT_SLOT(slotBrdrSnapChanged(int)));
- connect( WndwSnap, TQT_SIGNAL(valueChanged(int)), TQT_SLOT(changed()));
- connect( WndwSnap, TQT_SIGNAL(valueChanged(int)), TQT_SLOT(slotWndwSnapChanged(int)));
- connect( OverlapSnap, TQT_SIGNAL(clicked()), TQT_SLOT(changed()));
-
- // To get suffix to BrdrSnap and WndwSnap inputs with default values.
- slotBrdrSnapChanged(BrdrSnap->value());
- slotWndwSnapChanged(WndwSnap->value());
-}
-
-int KMovingConfig::getMove()
-{
- return (opaque->isChecked())? OPAQUE : TRANSPARENT;
-}
-
-void KMovingConfig::setMove(int trans)
-{
- opaque->setChecked(trans == OPAQUE);
-}
-
-void KMovingConfig::setGeometryTip(bool showGeometryTip)
-{
- geometryTipOn->setChecked(showGeometryTip);
-}
-
-bool KMovingConfig::getGeometryTip()
-{
- return geometryTipOn->isChecked();
-}
-
-// placement policy --- CT 31jan98 ---
-int KMovingConfig::getPlacement()
-{
- return placementCombo->currentItem();
-}
-
-void KMovingConfig::setPlacement(int plac)
-{
- placementCombo->setCurrentItem(plac);
-}
-
-bool KMovingConfig::getMinimizeAnim()
-{
- return minimizeAnimOn->isChecked();
-}
-
-int KMovingConfig::getMinimizeAnimSpeed()
-{
- return minimizeAnimSlider->value();
-}
-
-void KMovingConfig::setMinimizeAnim(bool anim)
-{
- minimizeAnimOn->setChecked( anim );
- minimizeAnimSlider->setEnabled( anim );
- minimizeAnimSlowLabel->setEnabled( anim );
- minimizeAnimFastLabel->setEnabled( anim );
-}
-
-void KMovingConfig::setMinimizeAnimSpeed(int speed)
-{
- minimizeAnimSlider->setValue(speed);
-}
-
-int KMovingConfig::getResizeOpaque()
-{
- return (resizeOpaqueOn->isChecked())? RESIZE_OPAQUE : RESIZE_TRANSPARENT;
-}
-
-void KMovingConfig::setResizeOpaque(int opaque)
-{
- resizeOpaqueOn->setChecked(opaque == RESIZE_OPAQUE);
-}
-
-void KMovingConfig::setMoveResizeMaximized(bool a) {
- moveResizeMaximized->setChecked(a);
-}
-
-void KMovingConfig::slotBrdrSnapChanged(int value) {
- BrdrSnap->setSuffix(i18n(" pixel", " pixels", value));
-}
-
-void KMovingConfig::slotWndwSnapChanged(int value) {
- WndwSnap->setSuffix(i18n(" pixel", " pixels", value));
-}
-
-void KMovingConfig::load( void )
-{
- TQString key;
-
- config->setGroup( "Windows" );
-
- key = config->readEntry(KWIN_MOVE, "Opaque");
- if( key == "Transparent")
- setMove(TRANSPARENT);
- else if( key == "Opaque")
- setMove(OPAQUE);
-
- //CT 17Jun1998 - variable animation speed from 0 (none!!) to 10 (max)
- bool anim = config->readBoolEntry(KWIN_MINIMIZE_ANIM, true );
- int animSpeed = config->readNumEntry(KWIN_MINIMIZE_ANIM_SPEED, 5);
- if( animSpeed < 1 ) animSpeed = 0;
- if( animSpeed > 10 ) animSpeed = 10;
- setMinimizeAnim( anim );
- setMinimizeAnimSpeed( animSpeed );
-
- // DF: please keep the default consistent with twin (options.cpp line 145)
- key = config->readEntry(KWIN_RESIZE_OPAQUE, "Opaque");
- if( key == "Opaque")
- setResizeOpaque(RESIZE_OPAQUE);
- else if ( key == "Transparent")
- setResizeOpaque(RESIZE_TRANSPARENT);
-
- //KS 10Jan2003 - Geometry Tip during window move/resize
- bool showGeomTip = config->readBoolEntry(KWIN_GEOMETRY, false);
- setGeometryTip( showGeomTip );
-
- // placement policy --- CT 19jan98 ---
- key = config->readEntry(KWIN_PLACEMENT);
- //CT 13mar98 interactive placement
-// if( key.left(11) == "interactive") {
-// setPlacement(INTERACTIVE_PLACEMENT);
-// int comma_pos = key.find(',');
-// if (comma_pos < 0)
-// interactiveTrigger->setValue(0);
-// else
-// interactiveTrigger->setValue (key.right(key.length()
-// - comma_pos).toUInt(0));
-// iTLabel->setEnabled(true);
-// interactiveTrigger->show();
-// }
-// else {
-// interactiveTrigger->setValue(0);
-// iTLabel->setEnabled(false);
-// interactiveTrigger->hide();
- if( key == "Random")
- setPlacement(RANDOM_PLACEMENT);
- else if( key == "Cascade")
- setPlacement(CASCADE_PLACEMENT); //CT 31jan98
- //CT 31mar98 manual placement
- else if( key == "manual")
- setPlacement(MANUAL_PLACEMENT);
- else if( key == "Centered")
- setPlacement(CENTERED_PLACEMENT);
- else if( key == "ZeroCornered")
- setPlacement(ZEROCORNERED_PLACEMENT);
- else if( key == "Maximizing")
- setPlacement(MAXIMIZING_PLACEMENT);
- else
- setPlacement(SMART_PLACEMENT);
-// }
-
- setMoveResizeMaximized(config->readBoolEntry(KWIN_MOVE_RESIZE_MAXIMIZED, false));
-
- int v;
-
- v = config->readNumEntry(KWM_BRDR_SNAP_ZONE, KWM_BRDR_SNAP_ZONE_DEFAULT);
- if (v > MAX_BRDR_SNAP) setBorderSnapZone(MAX_BRDR_SNAP);
- else if (v < 0) setBorderSnapZone (0);
- else setBorderSnapZone(v);
-
- v = config->readNumEntry(KWM_WNDW_SNAP_ZONE, KWM_WNDW_SNAP_ZONE_DEFAULT);
- if (v > MAX_WNDW_SNAP) setWindowSnapZone(MAX_WNDW_SNAP);
- else if (v < 0) setWindowSnapZone (0);
- else setWindowSnapZone(v);
-
- OverlapSnap->setChecked(config->readBoolEntry("SnapOnlyWhenOverlapping",false));
- emit KCModule::changed(false);
-}
-
-void KMovingConfig::save( void )
-{
- int v;
-
- config->setGroup( "Windows" );
-
- v = getMove();
- if (v == TRANSPARENT)
- config->writeEntry(KWIN_MOVE,"Transparent");
- else
- config->writeEntry(KWIN_MOVE,"Opaque");
-
- config->writeEntry(KWIN_GEOMETRY, getGeometryTip());
-
- // placement policy --- CT 31jan98 ---
- v =getPlacement();
- if (v == RANDOM_PLACEMENT)
- config->writeEntry(KWIN_PLACEMENT, "Random");
- else if (v == CASCADE_PLACEMENT)
- config->writeEntry(KWIN_PLACEMENT, "Cascade");
- else if (v == CENTERED_PLACEMENT)
- config->writeEntry(KWIN_PLACEMENT, "Centered");
- else if (v == ZEROCORNERED_PLACEMENT)
- config->writeEntry(KWIN_PLACEMENT, "ZeroCornered");
- else if (v == MAXIMIZING_PLACEMENT)
- config->writeEntry(KWIN_PLACEMENT, "Maximizing");
-//CT 13mar98 manual and interactive placement
-// else if (v == MANUAL_PLACEMENT)
-// config->writeEntry(KWIN_PLACEMENT, "Manual");
-// else if (v == INTERACTIVE_PLACEMENT) {
-// TQString tmpstr = TQString("Interactive,%1").arg(interactiveTrigger->value());
-// config->writeEntry(KWIN_PLACEMENT, tmpstr);
-// }
- else
- config->writeEntry(KWIN_PLACEMENT, "Smart");
-
- config->writeEntry(KWIN_MINIMIZE_ANIM, getMinimizeAnim());
- config->writeEntry(KWIN_MINIMIZE_ANIM_SPEED, getMinimizeAnimSpeed());
-
- v = getResizeOpaque();
- if (v == RESIZE_OPAQUE)
- config->writeEntry(KWIN_RESIZE_OPAQUE, "Opaque");
- else
- config->writeEntry(KWIN_RESIZE_OPAQUE, "Transparent");
-
- config->writeEntry(KWIN_MOVE_RESIZE_MAXIMIZED, moveResizeMaximized->isChecked());
-
-
- config->writeEntry(KWM_BRDR_SNAP_ZONE,getBorderSnapZone());
- config->writeEntry(KWM_WNDW_SNAP_ZONE,getWindowSnapZone());
- config->writeEntry("SnapOnlyWhenOverlapping",OverlapSnap->isChecked());
-
- if (standAlone)
- {
- config->sync();
- if ( !kapp->dcopClient()->isAttached() )
- kapp->dcopClient()->attach();
- kapp->dcopClient()->send("twin*", "", "reconfigure()", TQString(""));
- }
- emit KCModule::changed(false);
-}
-
-void KMovingConfig::defaults()
-{
- setMove(OPAQUE);
- setResizeOpaque(RESIZE_TRANSPARENT);
- setGeometryTip(false);
- setPlacement(SMART_PLACEMENT);
- setMoveResizeMaximized(false);
-
- //copied from kcontrol/konq/twindesktop, aleXXX
- setWindowSnapZone(KWM_WNDW_SNAP_ZONE_DEFAULT);
- setBorderSnapZone(KWM_BRDR_SNAP_ZONE_DEFAULT);
- OverlapSnap->setChecked(false);
-
- setMinimizeAnim( true );
- setMinimizeAnimSpeed( 5 );
- emit KCModule::changed(true);
-}
-
-int KMovingConfig::getBorderSnapZone() {
- return BrdrSnap->value();
-}
-
-void KMovingConfig::setBorderSnapZone(int pxls) {
- BrdrSnap->setValue(pxls);
-}
-
-int KMovingConfig::getWindowSnapZone() {
- return WndwSnap->value();
-}
-
-void KMovingConfig::setWindowSnapZone(int pxls) {
- WndwSnap->setValue(pxls);
-}
-
-KTranslucencyConfig::~KTranslucencyConfig ()
-{
- if (standAlone)
- delete config;
- if (kompmgr)
- kompmgr->detach();
-}
-
-KTranslucencyConfig::KTranslucencyConfig (bool _standAlone, KConfig *_config, TQWidget *parent, const char *)
- : KCModule(parent, "kcmkwm"), config(_config), standAlone(_standAlone)
-{
- kompmgr = 0L;
- resetKompmgr_ = FALSE;
- TQVBoxLayout *lay = new TQVBoxLayout (this);
- kompmgrAvailable_ = kompmgrAvailable();
- if (!kompmgrAvailable_){
- KActiveLabel *label = new KActiveLabel(i18n("<qt><b>It seems that alpha channel support is not available.</b><br><br>"
- "Please make sure you have "
- "<a href=\"http://www.freedesktop.org/\">Xorg &ge; 6.8</a>,"
- " and installed the kompmgr that came with twin.<br>"
- "Also, make sure you have the following entries in your XConfig (e.g. /etc/X11/xorg.conf):<br><br>"
- "<i>Section \"Extensions\"<br>"
- "Option \"Composite\" \"Enable\"<br>"
- "EndSection</i><br><br>"
- "And if your GPU provides hardware-accelerated Xrender support (mainly nVidia cards):<br><br>"
- "<i>Option \"RenderAccel\" \"true\"</i><br>"
- "In <i>Section \"Device\"</i></qt>"), this);
- lay->addWidget(label);
- }
- else
- {
- TQTabWidget *tabW = new TQTabWidget(this);
- TQWidget *tGroup = new TQWidget(tabW);
- TQVBoxLayout *vLay = new TQVBoxLayout (tGroup,KDialog::marginHint(), KDialog::spacingHint());
- vLay->addSpacing(11); // to get the proper gb top offset
-
- onlyDecoTranslucent = new TQCheckBox(i18n("Apply translucency only to decoration"),tGroup);
- vLay->addWidget(onlyDecoTranslucent);
-
- vLay->addSpacing(11);
-
- TQGridLayout *gLay = new TQGridLayout(vLay,4,2,KDialog::spacingHint());
- gLay->setColStretch(1,1);
-
- activeWindowTransparency = new TQCheckBox(i18n("Active windows:"),tGroup);
- gLay->addWidget(activeWindowTransparency,0,0);
- activeWindowOpacity = new KIntNumInput(100, tGroup);
- activeWindowOpacity->setRange(0,100);
- activeWindowOpacity->setSuffix("%");
- gLay->addWidget(activeWindowOpacity,0,1);
-
- inactiveWindowTransparency = new TQCheckBox(i18n("Inactive windows:"),tGroup);
- gLay->addWidget(inactiveWindowTransparency,1,0);
- inactiveWindowOpacity = new KIntNumInput(100, tGroup);
- inactiveWindowOpacity->setRange(0,100);
- inactiveWindowOpacity->setSuffix("%");
- gLay->addWidget(inactiveWindowOpacity,1,1);
-
- movingWindowTransparency = new TQCheckBox(i18n("Moving windows:"),tGroup);
- gLay->addWidget(movingWindowTransparency,2,0);
- movingWindowOpacity = new KIntNumInput(100, tGroup);
- movingWindowOpacity->setRange(0,100);
- movingWindowOpacity->setSuffix("%");
- gLay->addWidget(movingWindowOpacity,2,1);
-
- dockWindowTransparency = new TQCheckBox(i18n("Dock windows:"),tGroup);
- gLay->addWidget(dockWindowTransparency,3,0);
- dockWindowOpacity = new KIntNumInput(100, tGroup);
- dockWindowOpacity->setRange(0,100);
- dockWindowOpacity->setSuffix("%");
- gLay->addWidget(dockWindowOpacity,3,1);
-
- vLay->addSpacing(11);
-
- keepAboveAsActive = new TQCheckBox(i18n("Treat 'keep above' windows as active ones"),tGroup);
- vLay->addWidget(keepAboveAsActive);
-
- disableARGB = new TQCheckBox(i18n("Disable ARGB windows (ignores window alpha maps, fixes gtk1 apps)"),tGroup);
- vLay->addWidget(disableARGB);
-
- vLay->addStretch();
- tabW->addTab(tGroup, i18n("Opacity"));
-
- TQWidget *sGroup = new TQWidget(tabW);
-// sGroup->setCheckable(TRUE);
- TQVBoxLayout *vLay2 = new TQVBoxLayout (sGroup,11,6);
- vLay2->addSpacing(11); // to get the proper gb top offset
- useShadows = new TQCheckBox(i18n("Use shadows (standard effects should be disabled in the Styles module if this is checked)"),sGroup);
- vLay2->addWidget(useShadows);
-
- vLay2->addSpacing(11);
-
- TQGridLayout *gLay2 = new TQGridLayout(vLay2,6,2);
- gLay2->setColStretch(1,1);
-
- TQLabel *label2 = new TQLabel(i18n("Base shadow size:"),sGroup);
- gLay2->addWidget(label2,0,0);
- inactiveWindowShadowSize = new KIntNumInput(6,sGroup);
- inactiveWindowShadowSize->setRange(0,32);
-// inactiveWindowShadowSize->setSuffix("px");
- gLay2->addWidget(inactiveWindowShadowSize,0,1);
-
- TQLabel *label1 = new TQLabel(i18n("Active window shadow size multiplier:"),sGroup);
- gLay2->addWidget(label1,1,0);
- activeWindowShadowSize = new KIntNumInput(12,sGroup);
- activeWindowShadowSize->setRange(0,32);
-// activeWindowShadowSize->setSuffix("px");
- gLay2->addWidget(activeWindowShadowSize,1,1);
-
- TQLabel *label3 = new TQLabel(i18n("Dock shadow size multiplier:"),sGroup);
- gLay2->addWidget(label3,2,0);
- dockWindowShadowSize = new KIntNumInput(6,sGroup);
- dockWindowShadowSize->setRange(0,32);
-// dockWindowShadowSize->setSuffix("px");
- gLay2->addWidget(dockWindowShadowSize,2,1);
-
- TQLabel *label3a = new TQLabel(i18n("Menu shadow size multiplier:"),sGroup);
- gLay2->addWidget(label3a,3,0);
- menuWindowShadowSize = new KIntNumInput(6,sGroup);
- menuWindowShadowSize->setRange(0,32);
-// menuWindowShadowSize->setSuffix("px");
- gLay2->addWidget(menuWindowShadowSize,3,1);
-
- // Menu shadow settings don't work
- label3a->hide();
- menuWindowShadowSize->hide();
-
- TQLabel *label4 = new TQLabel(i18n("Vertical offset:"),sGroup);
- gLay2->addWidget(label4,4,0);
- shadowTopOffset = new KIntNumInput(80,sGroup);
- shadowTopOffset->setSuffix("%");
- shadowTopOffset->setRange(-200,200);
- gLay2->addWidget(shadowTopOffset,4,1);
-
- TQLabel *label5 = new TQLabel(i18n("Horizontal offset:"),sGroup);
- gLay2->addWidget(label5,5,0);
- shadowLeftOffset = new KIntNumInput(0,sGroup);
- shadowLeftOffset->setSuffix("%");
- shadowLeftOffset->setRange(-200,200);
- gLay2->addWidget(shadowLeftOffset,5,1);
-
- TQLabel *label6 = new TQLabel(i18n("Shadow color:"),sGroup);
- gLay2->addWidget(label6,5,0);
- shadowColor = new KColorButton(Qt::black,sGroup);
- gLay2->addWidget(shadowColor,6,1);
- gLay2->setColStretch(1,1);
- vLay2->addSpacing(11);
- removeShadowsOnMove = new TQCheckBox(i18n("Remove shadows on move"),sGroup);
- vLay2->addWidget(removeShadowsOnMove);
- removeShadowsOnResize = new TQCheckBox(i18n("Remove shadows on resize"),sGroup);
- vLay2->addWidget(removeShadowsOnResize);
- vLay2->addStretch();
- tabW->addTab(sGroup, i18n("Shadows"));
-
- TQWidget *eGroup = new TQWidget(this);
- TQVBoxLayout *vLay3 = new TQVBoxLayout (eGroup,11,6);
-
- fadeInWindows = new TQCheckBox(i18n("Fade-in windows (including popups)"),eGroup);
- fadeInMenuWindows = new TQCheckBox(i18n("Fade-in menus (requires menu fade effect to be disabled in the Styles module)"),eGroup);
- fadeOnOpacityChange = new TQCheckBox(i18n("Fade between opacity changes"),eGroup);
- fadeInSpeed = new KIntNumInput(100, eGroup);
- fadeInSpeed->setRange(1,100);
- fadeInSpeed->setLabel(i18n("Fade-in speed:"));
- fadeOutSpeed = new KIntNumInput(100, eGroup);
- fadeOutSpeed->setRange(1,100);
- fadeOutSpeed->setLabel(i18n("Fade-out speed:"));
- vLay3->addWidget(fadeInWindows);
- vLay3->addWidget(fadeInMenuWindows);
- vLay3->addWidget(fadeOnOpacityChange);
- vLay3->addWidget(fadeInSpeed);
- vLay3->addWidget(fadeOutSpeed);
- vLay3->addStretch();
-
- tabW->addTab(eGroup, i18n("Effects"));
-
- useTranslucency = new TQCheckBox(i18n("Enable the Trinity window composition manager"),this);
- lay->addWidget(useTranslucency);
- lay->addWidget(tabW);
-
- connect(useTranslucency, TQT_SIGNAL(toggled(bool)), tabW, TQT_SLOT(setEnabled(bool)));
-
- connect(activeWindowTransparency, TQT_SIGNAL(toggled(bool)), activeWindowOpacity, TQT_SLOT(setEnabled(bool)));
- connect(inactiveWindowTransparency, TQT_SIGNAL(toggled(bool)), inactiveWindowOpacity, TQT_SLOT(setEnabled(bool)));
- connect(movingWindowTransparency, TQT_SIGNAL(toggled(bool)), movingWindowOpacity, TQT_SLOT(setEnabled(bool)));
- connect(dockWindowTransparency, TQT_SIGNAL(toggled(bool)), dockWindowOpacity, TQT_SLOT(setEnabled(bool)));
-
- connect(useTranslucency, TQT_SIGNAL(toggled(bool)), TQT_SLOT(changed()));
- connect(onlyDecoTranslucent, TQT_SIGNAL(toggled(bool)), TQT_SLOT(changed()));
- connect(activeWindowTransparency, TQT_SIGNAL(toggled(bool)), TQT_SLOT(changed()));
- connect(inactiveWindowTransparency, TQT_SIGNAL(toggled(bool)), TQT_SLOT(changed()));
- connect(movingWindowTransparency, TQT_SIGNAL(toggled(bool)), TQT_SLOT(changed()));
- connect(dockWindowTransparency, TQT_SIGNAL(toggled(bool)), TQT_SLOT(changed()));
- connect(keepAboveAsActive, TQT_SIGNAL(toggled(bool)), TQT_SLOT(changed()));
- connect(disableARGB, TQT_SIGNAL(toggled(bool)), TQT_SLOT(changed()));
- connect(useShadows, TQT_SIGNAL(toggled(bool)), TQT_SLOT(changed()));
- connect(removeShadowsOnResize, TQT_SIGNAL(toggled(bool)), TQT_SLOT(changed()));
- connect(removeShadowsOnMove, TQT_SIGNAL(toggled(bool)), TQT_SLOT(changed()));
-
- connect(activeWindowOpacity, TQT_SIGNAL(valueChanged(int)), TQT_SLOT(changed()));
- connect(inactiveWindowOpacity, TQT_SIGNAL(valueChanged(int)), TQT_SLOT(changed()));
- connect(movingWindowOpacity, TQT_SIGNAL(valueChanged(int)), TQT_SLOT(changed()));
- connect(dockWindowOpacity, TQT_SIGNAL(valueChanged(int)), TQT_SLOT(changed()));
- connect(dockWindowShadowSize, TQT_SIGNAL(valueChanged(int)), TQT_SLOT(changed()));
- connect(menuWindowShadowSize, TQT_SIGNAL(valueChanged(int)), TQT_SLOT(changed()));
- connect(activeWindowShadowSize, TQT_SIGNAL(valueChanged(int)), TQT_SLOT(changed()));
- connect(inactiveWindowShadowSize, TQT_SIGNAL(valueChanged(int)), TQT_SLOT(changed()));
- connect(shadowTopOffset, TQT_SIGNAL(valueChanged(int)), TQT_SLOT(changed()));
- connect(shadowLeftOffset, TQT_SIGNAL(valueChanged(int)), TQT_SLOT(changed()));
- connect(shadowColor, TQT_SIGNAL(changed(const TQColor&)), TQT_SLOT(changed()));
- connect(fadeInWindows, TQT_SIGNAL(toggled(bool)), TQT_SLOT(changed()));
- connect(fadeInMenuWindows, TQT_SIGNAL(toggled(bool)), TQT_SLOT(changed()));
- connect(fadeOnOpacityChange, TQT_SIGNAL(toggled(bool)), TQT_SLOT(changed()));
- connect(fadeInSpeed, TQT_SIGNAL(valueChanged(int)), TQT_SLOT(changed()));
- connect(fadeOutSpeed, TQT_SIGNAL(valueChanged(int)), TQT_SLOT(changed()));
-
- connect(useShadows, TQT_SIGNAL(toggled(bool)), dockWindowShadowSize, TQT_SLOT(setEnabled(bool)));
- connect(useShadows, TQT_SIGNAL(toggled(bool)), menuWindowShadowSize, TQT_SLOT(setEnabled(bool)));
- connect(useShadows, TQT_SIGNAL(toggled(bool)), activeWindowShadowSize, TQT_SLOT(setEnabled(bool)));
- connect(useShadows, TQT_SIGNAL(toggled(bool)), inactiveWindowShadowSize, TQT_SLOT(setEnabled(bool)));
- connect(useShadows, TQT_SIGNAL(toggled(bool)), shadowTopOffset, TQT_SLOT(setEnabled(bool)));
- connect(useShadows, TQT_SIGNAL(toggled(bool)), shadowLeftOffset, TQT_SLOT(setEnabled(bool)));
- connect(useShadows, TQT_SIGNAL(toggled(bool)), shadowColor, TQT_SLOT(setEnabled(bool)));
-
- load();
-
- tabW->setEnabled(useTranslucency->isChecked());
-
- connect(useTranslucency, TQT_SIGNAL(toggled(bool)), this, TQT_SLOT(showWarning(bool)));
-
- // handle kompmgr restarts if necessary
- connect(useTranslucency, TQT_SIGNAL(toggled(bool)), TQT_SLOT(resetKompmgr()));
- connect(disableARGB, TQT_SIGNAL(toggled(bool)), TQT_SLOT(resetKompmgr()));
- connect(useShadows, TQT_SIGNAL(toggled(bool)), TQT_SLOT(resetKompmgr()));
- connect(inactiveWindowShadowSize, TQT_SIGNAL(valueChanged(int)), TQT_SLOT(resetKompmgr()));
- connect(shadowTopOffset, TQT_SIGNAL(valueChanged(int)), TQT_SLOT(resetKompmgr()));
- connect(shadowLeftOffset, TQT_SIGNAL(valueChanged(int)), TQT_SLOT(resetKompmgr()));
- connect(shadowColor, TQT_SIGNAL(changed(const TQColor&)), TQT_SLOT(resetKompmgr()));
- connect(fadeInWindows, TQT_SIGNAL(toggled(bool)), TQT_SLOT(resetKompmgr()));
- connect(fadeInMenuWindows, TQT_SIGNAL(toggled(bool)), TQT_SLOT(resetKompmgr()));
- connect(fadeOnOpacityChange, TQT_SIGNAL(toggled(bool)), TQT_SLOT(resetKompmgr()));
- connect(fadeInSpeed, TQT_SIGNAL(valueChanged(int)), TQT_SLOT(resetKompmgr()));
- connect(fadeOutSpeed, TQT_SIGNAL(valueChanged(int)), TQT_SLOT(resetKompmgr()));
-
- }
-}
-
-void KTranslucencyConfig::resetKompmgr()
-{
- resetKompmgr_ = TRUE;
-}
-void KTranslucencyConfig::load( void )
-{
-
- if (!kompmgrAvailable_)
- return;
- config->setGroup( "Notification Messages" );
- useTranslucency->setChecked(config->readBoolEntry("UseTranslucency",false));
-
- config->setGroup( "Translucency" );
- activeWindowTransparency->setChecked(config->readBoolEntry("TranslucentActiveWindows",false));
- inactiveWindowTransparency->setChecked(config->readBoolEntry("TranslucentInactiveWindows",false));
- movingWindowTransparency->setChecked(config->readBoolEntry("TranslucentMovingWindows",false));
- removeShadowsOnMove->setChecked(config->readBoolEntry("RemoveShadowsOnMove",false));
- removeShadowsOnResize->setChecked(config->readBoolEntry("RemoveShadowsOnResize",false));
- dockWindowTransparency->setChecked(config->readBoolEntry("TranslucentDocks",false));
- keepAboveAsActive->setChecked(config->readBoolEntry("TreatKeepAboveAsActive",true));
- onlyDecoTranslucent->setChecked(config->readBoolEntry("OnlyDecoTranslucent",false));
-
- activeWindowOpacity->setValue(config->readNumEntry("ActiveWindowOpacity",100));
- inactiveWindowOpacity->setValue(config->readNumEntry("InactiveWindowOpacity",75));
- movingWindowOpacity->setValue(config->readNumEntry("MovingWindowOpacity",25));
- dockWindowOpacity->setValue(config->readNumEntry("DockOpacity",80));
-
- int ass, iss, dss, mss;
- dss = config->readNumEntry("DockShadowSize", 33);
- mss = config->readNumEntry("MenuShadowSize", 33);
- ass = config->readNumEntry("ActiveWindowShadowSize", 133);
- iss = config->readNumEntry("InactiveWindowShadowSize", 67);
-
- activeWindowOpacity->setEnabled(activeWindowTransparency->isChecked());
- inactiveWindowOpacity->setEnabled(inactiveWindowTransparency->isChecked());
- movingWindowOpacity->setEnabled(movingWindowTransparency->isChecked());
- dockWindowOpacity->setEnabled(dockWindowTransparency->isChecked());
-
- KConfig conf_(TQDir::homeDirPath() + "/.xcompmgrrc");
- conf_.setGroup("xcompmgr");
-
- disableARGB->setChecked(conf_.readBoolEntry("DisableARGB",FALSE));
-
- useShadows->setChecked(conf_.readEntry("Compmode","").compare("CompClientShadows") == 0);
- shadowTopOffset->setValue(-1*(conf_.readNumEntry("ShadowOffsetY",-80)));
- shadowLeftOffset->setValue(-1*(conf_.readNumEntry("ShadowOffsetX",0)));
-
- int ss = conf_.readNumEntry("ShadowRadius",6);
- dockWindowShadowSize->setValue((int)(dss*ss/100.0));
- menuWindowShadowSize->setValue((int)(mss*ss/100.0));
- activeWindowShadowSize->setValue((int)(ass*ss/100.0));
- inactiveWindowShadowSize->setValue((int)(iss*ss/100.0));
-
- TQString hex = conf_.readEntry("ShadowColor","#000000");
- uint r, g, b;
- r = g = b = 256;
-
- if (sscanf(hex.latin1(), "0x%02x%02x%02x", &r, &g, &b)!=3 || r > 255 || g > 255 || b > 255)
- shadowColor->setColor(Qt::black);
- else
- shadowColor->setColor(TQColor(r,g,b));
-
- fadeInWindows->setChecked(conf_.readBoolEntry("FadeWindows",FALSE));
- fadeInMenuWindows->setChecked(conf_.readBoolEntry("FadeMenuWindows",FALSE));
- fadeOnOpacityChange->setChecked(conf_.readBoolEntry("FadeTrans",FALSE));
- fadeInSpeed->setValue((int)(conf_.readDoubleNumEntry("FadeInStep",0.070)*1000.0));
- fadeOutSpeed->setValue((int)(conf_.readDoubleNumEntry("FadeOutStep",0.070)*1000.0));
-
- emit KCModule::changed(false);
-}
-
-void KTranslucencyConfig::save( void )
-{
- if (!kompmgrAvailable_)
- return;
- config->setGroup( "Notification Messages" );
- config->writeEntry("UseTranslucency",useTranslucency->isChecked());
-
- config->setGroup( "Translucency" );
- config->writeEntry("TranslucentActiveWindows",activeWindowTransparency->isChecked());
- config->writeEntry("TranslucentInactiveWindows",inactiveWindowTransparency->isChecked());
- config->writeEntry("TranslucentMovingWindows",movingWindowTransparency->isChecked());
- config->writeEntry("TranslucentDocks",dockWindowTransparency->isChecked());
- config->writeEntry("TreatKeepAboveAsActive",keepAboveAsActive->isChecked());
- config->writeEntry("ActiveWindowOpacity",activeWindowOpacity->value());
- config->writeEntry("InactiveWindowOpacity",inactiveWindowOpacity->value());
- config->writeEntry("MovingWindowOpacity",movingWindowOpacity->value());
- config->writeEntry("DockOpacity",dockWindowOpacity->value());
- // for simplification:
- // xcompmgr supports a general shadow radius and additionally lets external apps set a multiplicator for each window
- // (speed reasons, so the shadow matrix hasn't to be recreated for every window)
- // we set inactive windows to 100%, the radius to the inactive window value and adjust the multiplicators for docks and active windows
- // this way the user can set the three values without caring about the radius/multiplicator stuff
- // additionally we find a value between big and small values to have a more smooth appereance
- config->writeEntry("DockShadowSize",(int)(200.0 * dockWindowShadowSize->value() / (activeWindowShadowSize->value() + inactiveWindowShadowSize->value())));
- config->writeEntry("MenuShadowSize",(int)(200.0 * menuWindowShadowSize->value() / (activeWindowShadowSize->value() + inactiveWindowShadowSize->value())));
- config->writeEntry("ActiveWindowShadowSize",(int)(200.0 * activeWindowShadowSize->value() / (activeWindowShadowSize->value() + inactiveWindowShadowSize->value())));
- config->writeEntry("InactiveWindowShadowSize",(int)(200.0 * inactiveWindowShadowSize->value() / (activeWindowShadowSize->value() + inactiveWindowShadowSize->value())));
-
- config->writeEntry("RemoveShadowsOnMove",removeShadowsOnMove->isChecked());
- config->writeEntry("RemoveShadowsOnResize",removeShadowsOnResize->isChecked());
- config->writeEntry("OnlyDecoTranslucent", onlyDecoTranslucent->isChecked());
- config->writeEntry("ResetKompmgr",resetKompmgr_);
-
- KConfig *conf_ = new KConfig(TQDir::homeDirPath() + "/.xcompmgrrc");
- conf_->setGroup("xcompmgr");
-
- conf_->writeEntry("Compmode",useShadows->isChecked()?"CompClientShadows":"");
- conf_->writeEntry("DisableARGB",disableARGB->isChecked());
- conf_->writeEntry("ShadowOffsetY",-1*shadowTopOffset->value());
- conf_->writeEntry("ShadowOffsetX",-1*shadowLeftOffset->value());
-
-
- int r, g, b;
- shadowColor->color().rgb( &r, &g, &b );
- TQString hex;
- hex.sprintf("0x%02X%02X%02X", r,g,b);
- conf_->writeEntry("ShadowColor",hex);
- conf_->writeEntry("ShadowRadius",(activeWindowShadowSize->value() + inactiveWindowShadowSize->value()) / 2);
- conf_->writeEntry("FadeWindows",fadeInWindows->isChecked());
- conf_->writeEntry("FadeMenuWindows",fadeInMenuWindows->isChecked());
- conf_->writeEntry("FadeTrans",fadeOnOpacityChange->isChecked());
- conf_->writeEntry("FadeInStep",fadeInSpeed->value()/1000.0);
- conf_->writeEntry("FadeOutStep",fadeOutSpeed->value()/1000.0);
-
- delete conf_;
-
- if (standAlone)
- {
- config->sync();
- if ( !kapp->dcopClient()->isAttached() )
- kapp->dcopClient()->attach();
- kapp->dcopClient()->send("twin*", "", "reconfigure()", TQString(""));
- }
- if (useTranslucency->isChecked())
- startKompmgr();
- emit KCModule::changed(false);
-}
-
-void KTranslucencyConfig::defaults()
-{
- if (!kompmgrAvailable_)
- return;
- useTranslucency->setChecked(false);
- onlyDecoTranslucent->setChecked(false);
- activeWindowTransparency->setChecked(false);
- inactiveWindowTransparency->setChecked(false);
- movingWindowTransparency->setChecked(false);
- dockWindowTransparency->setChecked(false);
- keepAboveAsActive->setChecked(true);
- disableARGB->setChecked(false);
-
- activeWindowOpacity->setValue(100);
- inactiveWindowOpacity->setValue(75);
- movingWindowOpacity->setValue(25);
- dockWindowOpacity->setValue(80);
-
- dockWindowShadowSize->setValue(6);
- menuWindowShadowSize->setValue(6);
- activeWindowShadowSize->setValue(12);
- inactiveWindowShadowSize->setValue(6);
- shadowTopOffset->setValue(80);
- shadowLeftOffset->setValue(0);
-
- activeWindowOpacity->setEnabled(false);
- inactiveWindowOpacity->setEnabled(false);
- movingWindowOpacity->setEnabled(false);
- dockWindowOpacity->setEnabled(false);
- useShadows->setChecked(FALSE);
- removeShadowsOnMove->setChecked(FALSE);
- removeShadowsOnResize->setChecked(FALSE);
- shadowColor->setColor(Qt::black);
- fadeInWindows->setChecked(FALSE);
- fadeInMenuWindows->setChecked(FALSE);
- fadeOnOpacityChange->setChecked(FALSE);
- fadeInSpeed->setValue(70);
- fadeOutSpeed->setValue(70);
- emit KCModule::changed(true);
-}
-
-
-bool KTranslucencyConfig::kompmgrAvailable()
-{
- bool ret;
- KProcess proc;
- proc << "kompmgr" << "-v";
- ret = proc.start(KProcess::DontCare, KProcess::AllOutput);
- proc.detach();
- return ret;
-}
-
-void KTranslucencyConfig::startKompmgr()
-{
- bool ret;
- KProcess proc;
- proc << "kompmgr";
- ret = proc.start(KProcess::DontCare);
-}
-
-void KTranslucencyConfig::showWarning(bool alphaActivated)
-{
-// if (alphaActivated)
-// KMessageBox::information(this, i18n("<qt>Translucency support is new and may cause problems<br> including crashes (sometimes the translucency engine, seldom even X).</qt>"), i18n("Warning"));
-}
-
-#include "windows.moc"
diff --git a/kwin/kcmkwin/kwinoptions/windows.h b/kwin/kcmkwin/kwinoptions/windows.h
deleted file mode 100644
index e3b81d07a..000000000
--- a/kwin/kcmkwin/kwinoptions/windows.h
+++ /dev/null
@@ -1,297 +0,0 @@
-/*
- * windows.h
- *
- * Copyright (c) 1997 Patrick Dowler dowler@morgul.fsh.uvic.ca
- * Copyright (c) 2001 Waldo Bastian bastian@kde.org
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- */
-
-#ifndef __KWINDOWCONFIG_H__
-#define __KWINDOWCONFIG_H__
-
-#include <tqwidget.h>
-#include <kcmodule.h>
-#include <config.h>
-
-class TQRadioButton;
-class TQCheckBox;
-class TQPushButton;
-class TQComboBox;
-class TQGroupBox;
-class TQLabel;
-class TQSlider;
-class TQButtonGroup;
-class TQSpinBox;
-class TQVButtonGroup;
-
-class KColorButton;
-class KIntNumInput;
-
-#define TRANSPARENT 0
-#define OPAQUE 1
-
-#define CLICK_TO_FOCUS 0
-#define FOCUS_FOLLOW_MOUSE 1
-
-#define TITLEBAR_PLAIN 0
-#define TITLEBAR_SHADED 1
-
-#define RESIZE_TRANSPARENT 0
-#define RESIZE_OPAQUE 1
-
-#define SMART_PLACEMENT 0
-#define MAXIMIZING_PLACEMENT 1
-#define CASCADE_PLACEMENT 2
-#define RANDOM_PLACEMENT 3
-#define CENTERED_PLACEMENT 4
-#define ZEROCORNERED_PLACEMENT 5
-#define INTERACTIVE_PLACEMENT 6
-#define MANUAL_PLACEMENT 7
-
-#define CLICK_TO_FOCUS 0
-#define FOCUS_FOLLOWS_MOUSE 1
-#define FOCUS_UNDER_MOUSE 2
-#define FOCUS_STRICTLY_UNDER_MOUSE 3
-
-class TQSpinBox;
-
-class KFocusConfig : public KCModule
-{
- Q_OBJECT
-public:
- KFocusConfig( bool _standAlone, KConfig *_config, TQWidget *parent=0, const char* name=0 );
- ~KFocusConfig();
-
- void load();
- void save();
- void defaults();
-
-private slots:
- void setDelayFocusEnabled();
- void setAutoRaiseEnabled();
- void autoRaiseOnTog(bool);//CT 23Oct1998
- void delayFocusOnTog(bool);
- void clickRaiseOnTog(bool);
- void updateAltTabMode();
- void updateActiveMouseScreen();
- void changed() { emit KCModule::changed(true); }
-
-
-private:
-
- int getFocus( void );
- int getAutoRaiseInterval( void );
- int getDelayFocusInterval( void );
-
- void setFocus(int);
- void setAutoRaiseInterval(int);
- void setAutoRaise(bool);
- void setDelayFocusInterval(int);
- void setDelayFocus(bool);
- void setClickRaise(bool);
- void setSeparateScreenFocus(bool);
- void setActiveMouseScreen(bool);
- void setAltTabMode(bool);
- void setTraverseAll(bool);
- void setRollOverDesktops(bool);
- void setShowPopupinfo(bool);
-
- TQButtonGroup *fcsBox;
- TQComboBox *focusCombo;
- TQCheckBox *autoRaiseOn;
- TQCheckBox *delayFocusOn;
- TQCheckBox *clickRaiseOn;
- KIntNumInput *autoRaise;
- KIntNumInput *delayFocus;
- TQCheckBox *separateScreenFocus;
- TQCheckBox *activeMouseScreen;
-
- TQButtonGroup *kbdBox;
- TQCheckBox *altTabPopup;
- TQCheckBox *traverseAll;
- TQCheckBox *rollOverDesktops;
- TQCheckBox *showPopupinfo;
-
- KConfig *config;
- bool standAlone;
-};
-
-class KMovingConfig : public KCModule
-{
- Q_OBJECT
-public:
- KMovingConfig( bool _standAlone, KConfig *config, TQWidget *parent=0, const char* name=0 );
- ~KMovingConfig();
-
- void load();
- void save();
- void defaults();
-
-private slots:
- void setMinimizeAnim( bool );
- void setMinimizeAnimSpeed( int );
- void changed() { emit KCModule::changed(true); }
- void slotBrdrSnapChanged( int );
- void slotWndwSnapChanged( int );
-
-private:
- int getMove( void );
- bool getMinimizeAnim( void );
- int getMinimizeAnimSpeed( void );
- int getResizeOpaque ( void );
- bool getGeometryTip( void ); //KS
- int getPlacement( void ); //CT
-
- void setMove(int);
- void setResizeOpaque(int);
- void setGeometryTip(bool); //KS
- void setPlacement(int); //CT
- void setMoveResizeMaximized(bool);
-
- TQButtonGroup *windowsBox;
- TQCheckBox *opaque;
- TQCheckBox *resizeOpaqueOn;
- TQCheckBox *geometryTipOn;
- TQCheckBox* minimizeAnimOn;
- TQSlider *minimizeAnimSlider;
- TQLabel *minimizeAnimSlowLabel, *minimizeAnimFastLabel;
- TQCheckBox *moveResizeMaximized;
-
- TQComboBox *placementCombo;
-
- KConfig *config;
- bool standAlone;
-
- int getBorderSnapZone();
- void setBorderSnapZone( int );
- int getWindowSnapZone();
- void setWindowSnapZone( int );
-
- TQVButtonGroup *MagicBox;
- KIntNumInput *BrdrSnap, *WndwSnap;
- TQCheckBox *OverlapSnap;
-
-};
-
-class KAdvancedConfig : public KCModule
-{
- Q_OBJECT
-public:
- KAdvancedConfig( bool _standAlone, KConfig *config, TQWidget *parent=0, const char* name=0 );
- ~KAdvancedConfig();
-
- void load();
- void save();
- void defaults();
-
-private slots:
- void shadeHoverChanged(bool);
-
- //copied from kcontrol/konq/twindesktop, aleXXX
- void setEBorders();
-
- void changed() { emit KCModule::changed(true); }
-
-private:
-
- int getShadeHoverInterval (void );
- void setAnimateShade(bool);
- void setShadeHover(bool);
- void setShadeHoverInterval(int);
-
- TQCheckBox *animateShade;
- TQButtonGroup *shBox;
- TQCheckBox *shadeHoverOn;
- KIntNumInput *shadeHover;
-
- KConfig *config;
- bool standAlone;
-
- int getElectricBorders( void );
- int getElectricBorderDelay();
- void setElectricBorders( int );
- void setElectricBorderDelay( int );
-
- TQVButtonGroup *electricBox;
- TQRadioButton *active_disable;
- TQRadioButton *active_move;
- TQRadioButton *active_always;
- KIntNumInput *delays;
-
- void setFocusStealing( int );
- void setHideUtilityWindowsForInactive( bool );
-
- TQComboBox* focusStealing;
- TQCheckBox* hideUtilityWindowsForInactive;
-};
-
-class KProcess;
-class KTranslucencyConfig : public KCModule
-{
- Q_OBJECT
-public:
- KTranslucencyConfig( bool _standAlone, KConfig *config, TQWidget *parent=0, const char* name=0 );
- ~KTranslucencyConfig();
-
- void load();
- void save();
- void defaults();
-
-private:
- TQCheckBox *useTranslucency;
- TQCheckBox *activeWindowTransparency;
- TQCheckBox *inactiveWindowTransparency;
- TQCheckBox *movingWindowTransparency;
- TQCheckBox *dockWindowTransparency;
- TQCheckBox *keepAboveAsActive;
- TQCheckBox *disableARGB;
- TQCheckBox *fadeInWindows;
- TQCheckBox *fadeInMenuWindows;
- TQCheckBox *fadeOnOpacityChange;
- TQCheckBox *useShadows;
- TQCheckBox *removeShadowsOnResize;
- TQCheckBox *removeShadowsOnMove;
- TQGroupBox *sGroup;
- TQCheckBox *onlyDecoTranslucent;
-// TQPushButton *xcompmgrButton;
- KIntNumInput *activeWindowOpacity;
- KIntNumInput *inactiveWindowOpacity;
- KIntNumInput *movingWindowOpacity;
- KIntNumInput *dockWindowOpacity;
- KIntNumInput *dockWindowShadowSize;
- KIntNumInput *menuWindowShadowSize;
- KIntNumInput *activeWindowShadowSize;
- KIntNumInput *inactiveWindowShadowSize;
- KIntNumInput *shadowTopOffset;
- KIntNumInput *shadowLeftOffset;
- KIntNumInput *fadeInSpeed;
- KIntNumInput *fadeOutSpeed;
- KColorButton *shadowColor;
- KConfig *config;
- bool standAlone;
- bool alphaActivated;
- bool resetKompmgr_;
- bool kompmgrAvailable();
- void startKompmgr();
- bool kompmgrAvailable_;
- KProcess *kompmgr;
-
-private slots:
- void resetKompmgr();
- void showWarning(bool alphaActivated);
-
-};
-#endif
diff --git a/kwin/kcmkwin/kwinrules/CMakeLists.txt b/kwin/kcmkwin/kwinrules/CMakeLists.txt
deleted file mode 100644
index 29aa24e4e..000000000
--- a/kwin/kcmkwin/kwinrules/CMakeLists.txt
+++ /dev/null
@@ -1,56 +0,0 @@
-#################################################
-#
-# (C) 2010-2011 Serghei Amelian
-# serghei (DOT) amelian (AT) gmail.com
-#
-# Improvements and feedback are welcome
-#
-# This file is released under GPL >= 2
-#
-#################################################
-
-add_definitions( -DKCMRULES )
-
-include_directories(
- ${CMAKE_CURRENT_BINARY_DIR}
- ${CMAKE_SOURCE_DIR}/twin/lib
- ${TDE_INCLUDE_DIR}
- ${TQT_INCLUDE_DIRS}
-)
-
-link_directories(
- ${TQT_LIBRARY_DIRS}
-)
-
-##### other data ################################
-
-install( FILES twinrules.desktop DESTINATION ${XDG_APPS_INSTALL_DIR} )
-
-
-##### kcm_twinrules (module) ####################
-
-tde_add_kpart( kcm_twinrules AUTOMOC
- SOURCES kcm.cpp
- LINK twinrules-static
- DESTINATION ${PLUGIN_INSTALL_DIR} )
-
-
-##### twin_rules_dialog (tdeinit) ###############
-
-tde_add_tdeinit_executable( twin_rules_dialog
- SOURCES main.cpp
- LINK ${TQT_LIBRARIES} twinrules-static )
-
-
-##### twinrules (static) ########################
-
-set( target twinrules )
-
-set( ${target}_SRCS
- ruleswidget.cpp ruleslist.cpp twinsrc.cpp detectwidget.cpp
- ruleswidgetbase.ui ruleslistbase.ui detectwidgetbase.ui
- editshortcutbase.ui )
-
-tde_add_library( ${target} STATIC_PIC AUTOMOC
- SOURCES ${${target}_SRCS}
- LINK tdeui-shared )
diff --git a/kwin/kcmkwin/kwinrules/Makefile.am b/kwin/kcmkwin/kwinrules/Makefile.am
deleted file mode 100644
index c9e7c7beb..000000000
--- a/kwin/kcmkwin/kwinrules/Makefile.am
+++ /dev/null
@@ -1,29 +0,0 @@
-METASOURCES = AUTO
-AM_CPPFLAGS = $(all_includes) -DKCMRULES
-INCLUDES = -I$(top_srcdir)/twin/lib
-
-bin_PROGRAMS =
-lib_LTLIBRARIES =
-tdeinit_LTLIBRARIES = twin_rules_dialog.la
-kde_module_LTLIBRARIES = kcm_twinrules.la
-noinst_LTLIBRARIES = libtwinrules.la
-
-libtwinrules_la_SOURCES = ruleswidget.cpp ruleslist.cpp twinsrc.cpp detectwidget.cpp \
- ruleswidgetbase.ui ruleslistbase.ui detectwidgetbase.ui editshortcutbase.ui
-libtwinrules_la_LDFLAGS = $(all_libraries) -no-undefined
-libtwinrules_la_LIBADD = $(LIB_TDEUI)
-
-kcm_twinrules_la_SOURCES = kcm.cpp
-kcm_twinrules_la_LDFLAGS = -module -avoid-version $(all_libraries) -no-undefined
-kcm_twinrules_la_LIBADD = libtwinrules.la
-kcm_twinrules_la_COMPILE_FIRST = ruleslistbase.h ruleswidgetbase.h editshortcutbase.h
-
-twin_rules_dialog_la_SOURCES = main.cpp
-twin_rules_dialog_la_LDFLAGS = -module -avoid-version $(all_libraries) -no-undefined
-twin_rules_dialog_la_LIBADD = libtwinrules.la
-twin_rules_dialog_la_COMPILE_FIRST = ruleslistbase.h ruleswidgetbase.h editshortcutbase.h
-
-messages: rc.cpp
- $(XGETTEXT) *.cpp -o $(podir)/kcmtwinrules.pot
-
-xdg_apps_DATA = twinrules.desktop
diff --git a/kwin/kcmkwin/kwinrules/detectwidget.cpp b/kwin/kcmkwin/kwinrules/detectwidget.cpp
deleted file mode 100644
index d82836868..000000000
--- a/kwin/kcmkwin/kwinrules/detectwidget.cpp
+++ /dev/null
@@ -1,223 +0,0 @@
-/*
- * Copyright (c) 2004 Lubos Lunak <l.lunak@kde.org>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- */
-
-#include "detectwidget.h"
-
-#include <kapplication.h>
-#include <klocale.h>
-#include <kdebug.h>
-#include <twin.h>
-#include <tqlabel.h>
-#include <tqradiobutton.h>
-#include <tqcheckbox.h>
-
-#include <X11/Xlib.h>
-#include <X11/Xatom.h>
-#include <X11/Xutil.h>
-#include <fixx11h.h>
-
-namespace KWinInternal
-{
-
-DetectWidget::DetectWidget( TQWidget* parent, const char* name )
-: DetectWidgetBase( parent, name )
- {
- }
-
-DetectDialog::DetectDialog( TQWidget* parent, const char* name )
-: KDialogBase( parent, name, true, "", Ok | Cancel )
-, grabber( NULL )
- {
- widget = new DetectWidget( this );
- setMainWidget( widget );
- }
-
-void DetectDialog::detect( WId window )
- {
- if( window == 0 )
- selectWindow();
- else
- readWindow( window );
- }
-
-void DetectDialog::readWindow( WId w )
- {
- if( w == 0 )
- {
- emit detectionDone( false );
- return;
- }
- info = KWin::windowInfo( w, -1U, -1U ); // read everything
- if( !info.valid())
- {
- emit detectionDone( false );
- return;
- }
- wmclass_class = info.windowClassClass();
- wmclass_name = info.windowClassName();
- role = info.windowRole();
- type = info.windowType( NET::NormalMask | NET::DesktopMask | NET::DockMask
- | NET::ToolbarMask | NET::MenuMask | NET::DialogMask | NET::OverrideMask | NET::TopMenuMask
- | NET::UtilityMask | NET::SplashMask );
- title = info.name();
- extrarole = ""; // TODO
- machine = info.clientMachine();
- executeDialog();
- }
-
-void DetectDialog::executeDialog()
- {
- static const char* const types[] =
- {
- I18N_NOOP( "Normal Window" ),
- I18N_NOOP( "Desktop" ),
- I18N_NOOP( "Dock (panel)" ),
- I18N_NOOP( "Toolbar" ),
- I18N_NOOP( "Torn-Off Menu" ),
- I18N_NOOP( "Dialog Window" ),
- I18N_NOOP( "Override Type" ),
- I18N_NOOP( "Standalone Menubar" ),
- I18N_NOOP( "Utility Window" ),
- I18N_NOOP( "Splash Screen" )
- };
- widget->class_label->setText( wmclass_class + " (" + wmclass_name + ' ' + wmclass_class + ")" );
- widget->role_label->setText( role );
- widget->use_role->setEnabled( !role.isEmpty());
- if( widget->use_role->isEnabled())
- widget->use_role->setChecked( true );
- else
- widget->use_whole_class->setChecked( true );
- if( type == NET::Unknown )
- widget->type_label->setText( i18n( "Unknown - will be treated as Normal Window" ));
- else
- widget->type_label->setText( i18n( types[ type ] ));
- widget->title_label->setText( title );
- widget->extrarole_label->setText( extrarole );
- widget->machine_label->setText( machine );
- emit detectionDone( exec() == TQDialog::Accepted );
- }
-
-TQCString DetectDialog::selectedClass() const
- {
- if( widget->use_class->isChecked() || widget->use_role->isChecked())
- return wmclass_class;
- return wmclass_name + ' ' + wmclass_class;
- }
-
-bool DetectDialog::selectedWholeClass() const
- {
- return widget->use_whole_class->isChecked();
- }
-
-TQCString DetectDialog::selectedRole() const
- {
- if( widget->use_role->isChecked())
- return role;
- return "";
- }
-
-TQString DetectDialog::selectedTitle() const
- {
- return title;
- }
-
-Rules::StringMatch DetectDialog::titleMatch() const
- {
- return widget->match_title->isChecked() ? Rules::ExactMatch : Rules::UnimportantMatch;
- }
-
-bool DetectDialog::selectedWholeApp() const
- {
- return widget->use_class->isChecked();
- }
-
-NET::WindowType DetectDialog::selectedType() const
- {
- return type;
- }
-
-TQCString DetectDialog::selectedMachine() const
- {
- return machine;
- }
-
-void DetectDialog::selectWindow()
- {
- // use a dialog, so that all user input is blocked
- // use WX11BypassWM and moving away so that it's not actually visible
- // grab only mouse, so that keyboard can be used e.g. for switching windows
- grabber = new TQDialog( NULL, NULL, true, (WFlags)WX11BypassWM );
- grabber->move( -1000, -1000 );
- grabber->show();
- grabber->grabMouse( tqcrossCursor );
- grabber->installEventFilter( this );
- }
-
-bool DetectDialog::eventFilter( TQObject* o, TQEvent* e )
- {
- if( TQT_BASE_OBJECT(o) != TQT_BASE_OBJECT(grabber) )
- return false;
- if( e->type() != TQEvent::MouseButtonRelease )
- return false;
- delete grabber;
- grabber = NULL;
- if( TQT_TQMOUSEEVENT( e )->button() != Qt::LeftButton )
- {
- emit detectionDone( false );
- return true;
- }
- readWindow( findWindow());
- return true;
- }
-
-WId DetectDialog::findWindow()
- {
- Window root;
- Window child;
- uint mask;
- int rootX, rootY, x, y;
- Window parent = qt_xrootwin();
- Atom wm_state = XInternAtom( qt_xdisplay(), "WM_STATE", False );
- for( int i = 0;
- i < 10;
- ++i )
- {
- XQueryPointer( qt_xdisplay(), parent, &root, &child,
- &rootX, &rootY, &x, &y, &mask );
- if( child == None )
- return 0;
- Atom type;
- int format;
- unsigned long nitems, after;
- unsigned char* prop;
- if( XGetWindowProperty( qt_xdisplay(), child, wm_state, 0, 0, False, AnyPropertyType,
- &type, &format, &nitems, &after, &prop ) == Success )
- {
- if( prop != NULL )
- XFree( prop );
- if( type != None )
- return child;
- }
- parent = child;
- }
- return 0;
- }
-
-} // namespace
-
-#include "detectwidget.moc"
diff --git a/kwin/kcmkwin/kwinrules/detectwidget.h b/kwin/kcmkwin/kwinrules/detectwidget.h
deleted file mode 100644
index 75e725f5f..000000000
--- a/kwin/kcmkwin/kwinrules/detectwidget.h
+++ /dev/null
@@ -1,86 +0,0 @@
-/*
- * Copyright (c) 2004 Lubos Lunak <l.lunak@kde.org>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- */
-
-
-#ifndef __DETECTWIDGET_H__
-#define __DETECTWIDGET_H__
-
-#include "detectwidgetbase.h"
-
-#include <kdialogbase.h>
-#include <twin.h>
-
-#include "../../rules.h"
-
-namespace KWinInternal
-{
-
-class DetectWidget
- : public DetectWidgetBase
- {
- Q_OBJECT
- public:
- DetectWidget( TQWidget* parent = NULL, const char* name = NULL );
- };
-
-class DetectDialog
- : public KDialogBase
- {
- Q_OBJECT
- public:
- DetectDialog( TQWidget* parent = NULL, const char* name = NULL );
- void detect( WId window );
- TQCString selectedClass() const;
- bool selectedWholeClass() const;
- TQCString selectedRole() const;
- bool selectedWholeApp() const;
- NET::WindowType selectedType() const;
- TQString selectedTitle() const;
- Rules::StringMatch titleMatch() const;
- TQCString selectedMachine() const;
- const KWin::WindowInfo& windowInfo() const;
- signals:
- void detectionDone( bool );
- protected:
- virtual bool eventFilter( TQObject* o, TQEvent* e );
- private:
- void selectWindow();
- void readWindow( WId window );
- void executeDialog();
- WId findWindow();
- TQCString wmclass_class;
- TQCString wmclass_name;
- TQCString role;
- NET::WindowType type;
- TQString title;
- TQCString extrarole;
- TQCString machine;
- DetectWidget* widget;
- TQDialog* grabber;
- KWin::WindowInfo info;
- };
-
-inline
-const KWin::WindowInfo& DetectDialog::windowInfo() const
- {
- return info;
- }
-
-} // namespace
-
-#endif
diff --git a/kwin/kcmkwin/kwinrules/detectwidgetbase.ui b/kwin/kcmkwin/kwinrules/detectwidgetbase.ui
deleted file mode 100644
index af4ca9670..000000000
--- a/kwin/kcmkwin/kwinrules/detectwidgetbase.ui
+++ /dev/null
@@ -1,218 +0,0 @@
-<!DOCTYPE UI><UI version="3.3" stdsetdef="1">
-<class>KWinInternal::DetectWidgetBase</class>
-<widget class="TQWidget">
- <property name="name">
- <cstring>Form3</cstring>
- </property>
- <property name="geometry">
- <rect>
- <x>0</x>
- <y>0</y>
- <width>523</width>
- <height>325</height>
- </rect>
- </property>
- <grid>
- <property name="name">
- <cstring>unnamed</cstring>
- </property>
- <property name="margin">
- <number>0</number>
- </property>
- <spacer row="9" column="0" rowspan="1" colspan="2">
- <property name="name">
- <cstring>spacer1</cstring>
- </property>
- <property name="orientation">
- <enum>Vertical</enum>
- </property>
- <property name="sizeType">
- <enum>Expanding</enum>
- </property>
- <property name="tqsizeHint">
- <size>
- <width>20</width>
- <height>40</height>
- </size>
- </property>
- </spacer>
- <widget class="TQLabel" row="6" column="0">
- <property name="name">
- <cstring>textLabel11</cstring>
- </property>
- <property name="text">
- <string>Extra role:</string>
- </property>
- </widget>
- <widget class="TQLabel" row="2" column="0">
- <property name="name">
- <cstring>textLabel1</cstring>
- </property>
- <property name="text">
- <string>Class:</string>
- </property>
- </widget>
- <widget class="TQLabel" row="3" column="0">
- <property name="name">
- <cstring>textLabel3</cstring>
- </property>
- <property name="text">
- <string>Role:</string>
- </property>
- </widget>
- <widget class="TQLabel" row="4" column="1">
- <property name="name">
- <cstring>type_label</cstring>
- </property>
- <property name="text">
- <string></string>
- </property>
- </widget>
- <widget class="TQLabel" row="5" column="0">
- <property name="name">
- <cstring>textLabel8</cstring>
- </property>
- <property name="text">
- <string>Title:</string>
- </property>
- </widget>
- <widget class="TQLabel" row="2" column="1">
- <property name="name">
- <cstring>class_label</cstring>
- </property>
- <property name="text">
- <string></string>
- </property>
- </widget>
- <widget class="TQLabel" row="3" column="1">
- <property name="name">
- <cstring>role_label</cstring>
- </property>
- <property name="text">
- <string></string>
- </property>
- </widget>
- <widget class="TQLabel" row="5" column="1">
- <property name="name">
- <cstring>title_label</cstring>
- </property>
- <property name="text">
- <string></string>
- </property>
- </widget>
- <widget class="TQLabel" row="7" column="1">
- <property name="name">
- <cstring>machine_label</cstring>
- </property>
- <property name="text">
- <string></string>
- </property>
- </widget>
- <widget class="TQLabel" row="4" column="0">
- <property name="name">
- <cstring>textLabel4</cstring>
- </property>
- <property name="text">
- <string>Type:</string>
- </property>
- </widget>
- <widget class="TQLabel" row="6" column="1">
- <property name="name">
- <cstring>extrarole_label</cstring>
- </property>
- <property name="text">
- <string></string>
- </property>
- </widget>
- <widget class="TQLabel" row="7" column="0">
- <property name="name">
- <cstring>textLabel13</cstring>
- </property>
- <property name="text">
- <string>Machine:</string>
- </property>
- </widget>
- <widget class="Line" row="1" column="0" rowspan="1" colspan="2">
- <property name="name">
- <cstring>line1</cstring>
- </property>
- <property name="frameShape">
- <enum>HLine</enum>
- </property>
- <property name="frameShadow">
- <enum>Sunken</enum>
- </property>
- <property name="orientation">
- <enum>Horizontal</enum>
- </property>
- </widget>
- <widget class="TQLabel" row="0" column="0" rowspan="1" colspan="2">
- <property name="name">
- <cstring>textLabel9</cstring>
- </property>
- <property name="text">
- <string>Information About Selected Window</string>
- </property>
- </widget>
- <widget class="TQButtonGroup" row="8" column="0" rowspan="1" colspan="2">
- <property name="name">
- <cstring>buttonGroup1</cstring>
- </property>
- <property name="title">
- <string></string>
- </property>
- <vbox>
- <property name="name">
- <cstring>unnamed</cstring>
- </property>
- <widget class="TQRadioButton">
- <property name="name">
- <cstring>use_class</cstring>
- </property>
- <property name="text">
- <string>Use window &amp;class (whole application)</string>
- </property>
- <property name="checked">
- <bool>true</bool>
- </property>
- <property name="whatsThis" stdset="0">
- <string>For selecting all windows belonging to a specific application, selecting only window class should usually work.</string>
- </property>
- </widget>
- <widget class="TQRadioButton">
- <property name="name">
- <cstring>use_role</cstring>
- </property>
- <property name="text">
- <string>Use window class and window &amp;role (specific window)</string>
- </property>
- <property name="whatsThis" stdset="0">
- <string>For selecting a specific window in an application, both window class and window role should be selected. Window class will determine the application, and window role the specific window in the application; many applications do not provide useful window roles though.</string>
- </property>
- </widget>
- <widget class="TQRadioButton">
- <property name="name">
- <cstring>use_whole_class</cstring>
- </property>
- <property name="text">
- <string>Use &amp;whole window class (specific window)</string>
- </property>
- <property name="whatsThis" stdset="0">
- <string>With some (non-KDE) applications whole window class can be sufficient for selecting a specific window in an application, as they set whole window class to contain both application and window role.</string>
- </property>
- </widget>
- <widget class="TQCheckBox">
- <property name="name">
- <cstring>match_title</cstring>
- </property>
- <property name="text">
- <string>Match also window &amp;title</string>
- </property>
- </widget>
- </vbox>
- </widget>
- </grid>
-</widget>
-<layoutdefaults spacing="6" margin="11"/>
-<layoutfunctions spacing="KDialog::spacingHint" margin="KDialog::marginHint"/>
-</UI>
diff --git a/kwin/kcmkwin/kwinrules/editshortcutbase.ui b/kwin/kcmkwin/kwinrules/editshortcutbase.ui
deleted file mode 100644
index af704c0a2..000000000
--- a/kwin/kcmkwin/kwinrules/editshortcutbase.ui
+++ /dev/null
@@ -1,164 +0,0 @@
-<!DOCTYPE UI><UI version="3.3" stdsetdef="1">
-<class>EditShortcutBase</class>
-<widget class="TQWidget">
- <property name="name">
- <cstring>EditShortcutBase</cstring>
- </property>
- <property name="geometry">
- <rect>
- <x>0</x>
- <y>0</y>
- <width>587</width>
- <height>402</height>
- </rect>
- </property>
- <vbox>
- <property name="name">
- <cstring>unnamed</cstring>
- </property>
- <widget class="TQLabel">
- <property name="name">
- <cstring>textLabel2</cstring>
- </property>
- <property name="text">
- <string>A single shortcut can be easily assigned or cleared using the two buttons. Only shortcuts with modifiers can be used.&lt;p&gt;
-It is possible to have several possible shortcuts, and the first available shortcut will be used. The shortcuts are specified using space-separated shortcut sets. One set is specified as &lt;i&gt;base&lt;/i&gt;+(&lt;i&gt;list&lt;/i&gt;), where base are modifiers and list is a list of keys.&lt;br&gt;
-For example "&lt;b&gt;Shift+Alt+(123) Shift+Ctrl+(ABC)&lt;/b&gt;" will first try &lt;b&gt;Shift+Alt+1&lt;/b&gt;, then others with &lt;b&gt;Shift+Ctrl+C&lt;/b&gt; as the last one.</string>
- </property>
- <property name="textFormat">
- <enum>RichText</enum>
- </property>
- </widget>
- <widget class="Line">
- <property name="name">
- <cstring>line1</cstring>
- </property>
- <property name="frameShape">
- <enum>HLine</enum>
- </property>
- <property name="frameShadow">
- <enum>Sunken</enum>
- </property>
- <property name="orientation">
- <enum>Horizontal</enum>
- </property>
- </widget>
- <widget class="KLineEdit">
- <property name="name">
- <cstring>shortcut</cstring>
- </property>
- </widget>
- <widget class="TQLayoutWidget">
- <property name="name">
- <cstring>layout2</cstring>
- </property>
- <hbox>
- <property name="name">
- <cstring>unnamed</cstring>
- </property>
- <spacer>
- <property name="name">
- <cstring>spacer1</cstring>
- </property>
- <property name="orientation">
- <enum>Horizontal</enum>
- </property>
- <property name="sizeType">
- <enum>Expanding</enum>
- </property>
- <property name="tqsizeHint">
- <size>
- <width>40</width>
- <height>20</height>
- </size>
- </property>
- </spacer>
- <widget class="TQPushButton">
- <property name="name">
- <cstring>pushButton1</cstring>
- </property>
- <property name="text">
- <string>&amp;Single Shortcut</string>
- </property>
- </widget>
- <spacer>
- <property name="name">
- <cstring>spacer2</cstring>
- </property>
- <property name="orientation">
- <enum>Horizontal</enum>
- </property>
- <property name="sizeType">
- <enum>Expanding</enum>
- </property>
- <property name="tqsizeHint">
- <size>
- <width>40</width>
- <height>20</height>
- </size>
- </property>
- </spacer>
- <widget class="TQPushButton">
- <property name="name">
- <cstring>pushButton2</cstring>
- </property>
- <property name="text">
- <string>C&amp;lear</string>
- </property>
- </widget>
- <spacer>
- <property name="name">
- <cstring>spacer3</cstring>
- </property>
- <property name="orientation">
- <enum>Horizontal</enum>
- </property>
- <property name="sizeType">
- <enum>Expanding</enum>
- </property>
- <property name="tqsizeHint">
- <size>
- <width>40</width>
- <height>20</height>
- </size>
- </property>
- </spacer>
- </hbox>
- </widget>
- <widget class="Line">
- <property name="name">
- <cstring>line2</cstring>
- </property>
- <property name="frameShape">
- <enum>HLine</enum>
- </property>
- <property name="frameShadow">
- <enum>Sunken</enum>
- </property>
- <property name="orientation">
- <enum>Horizontal</enum>
- </property>
- </widget>
- </vbox>
-</widget>
-<connections>
- <connection>
- <sender>pushButton1</sender>
- <signal>clicked()</signal>
- <receiver>EditShortcutBase</receiver>
- <slot>editShortcut()</slot>
- </connection>
- <connection>
- <sender>pushButton2</sender>
- <signal>clicked()</signal>
- <receiver>EditShortcutBase</receiver>
- <slot>clearShortcut()</slot>
- </connection>
-</connections>
-<Q_SLOTS>
- <slot access="protected" specifier="pure virtual">editShortcut()</slot>
- <slot access="protected" specifier="pure virtual">clearShortcut()</slot>
-</Q_SLOTS>
-<layoutdefaults spacing="6" margin="11"/>
-<layoutfunctions spacing="KDialog::spacingHint" margin="KDialog::marginHint"/>
-</UI>
diff --git a/kwin/kcmkwin/kwinrules/kcm.cpp b/kwin/kcmkwin/kwinrules/kcm.cpp
deleted file mode 100644
index c7cdc7587..000000000
--- a/kwin/kcmkwin/kwinrules/kcm.cpp
+++ /dev/null
@@ -1,103 +0,0 @@
-/*
- * Copyright (c) 2004 Lubos Lunak <l.lunak@kde.org>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- */
-
-#include "kcm.h"
-
-#include <kglobal.h>
-#include <tqlayout.h>
-#include <klocale.h>
-#include <kapplication.h>
-#include <dcopclient.h>
-#include <kaboutdata.h>
-
-#include "ruleslist.h"
-
-extern "C"
- KDE_EXPORT KCModule *create_twinrules( TQWidget *parent, const char *name )
- {
- //CT there's need for decision: kwm or twin?
- KGlobal::locale()->insertCatalogue( "kcmtwinrules" );
- return new KWinInternal::KCMRules( parent, name );
- }
-
-namespace KWinInternal
-{
-
-KCMRules::KCMRules( TQWidget *parent, const char *name )
-: KCModule( parent, name )
-, config( "twinrulesrc" )
- {
- TQVBoxLayout *layout = new TQVBoxLayout( this );
- widget = new KCMRulesList( this );
- layout->addWidget( TQT_TQWIDGET(widget) );
- connect( widget, TQT_SIGNAL( changed( bool )), TQT_SLOT( moduleChanged( bool )));
- KAboutData *about = new KAboutData(I18N_NOOP( "kcmtwinrules" ),
- I18N_NOOP( "Window-Specific Settings Configuration Module" ),
- 0, 0, KAboutData::License_GPL, I18N_NOOP( "(c) 2004 KWin and KControl Authors" ));
- about->addAuthor("Lubos Lunak",0,"l.lunak@kde.org");
- setAboutData(about);
- }
-
-void KCMRules::load()
- {
- config.reparseConfiguration();
- widget->load();
- emit KCModule::changed( false );
- }
-
-void KCMRules::save()
- {
- widget->save();
- emit KCModule::changed( false );
- // Send signal to twin
- config.sync();
- if( !kapp->dcopClient()->isAttached())
- kapp->dcopClient()->attach();
- kapp->dcopClient()->send("twin*", "", "reconfigure()", TQString(""));
- }
-
-void KCMRules::defaults()
- {
- widget->defaults();
- }
-
-TQString KCMRules::quickHelp() const
- {
- return i18n("<h1>Window-specific Settings</h1> Here you can customize window settings specifically only"
- " for some windows."
- " <p>Please note that this configuration will not take effect if you do not use"
- " KWin as your window manager. If you do use a different window manager, please refer to its documentation"
- " for how to customize window behavior.");
- }
-
-void KCMRules::moduleChanged( bool state )
- {
- emit KCModule::changed( state );
- }
-
-}
-
-// i18n freeze :-/
-#if 0
-I18N_NOOP("Remember settings separately for every window")
-I18N_NOOP("Show internal settings for remembering")
-I18N_NOOP("Internal setting for remembering")
-#endif
-
-
-#include "kcm.moc"
diff --git a/kwin/kcmkwin/kwinrules/kcm.h b/kwin/kcmkwin/kwinrules/kcm.h
deleted file mode 100644
index 9fb307458..000000000
--- a/kwin/kcmkwin/kwinrules/kcm.h
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
- * Copyright (c) 2004 Lubos Lunak <l.lunak@kde.org>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- */
-
-
-#ifndef __KCM_H__
-#define __KCM_H__
-
-#include <kcmodule.h>
-#include <kconfig.h>
-
-class KConfig;
-class KAboutData;
-
-namespace KWinInternal
-{
-
-class KCMRulesList;
-
-class KCMRules
- : public KCModule
- {
- Q_OBJECT
- public:
- KCMRules( TQWidget *parent, const char *name );
- virtual void load();
- virtual void save();
- virtual void defaults();
- virtual TQString quickHelp() const;
- protected slots:
- void moduleChanged( bool state );
- private:
- KCMRulesList* widget;
- KConfig config;
- };
-
-} // namespace
-
-#endif
diff --git a/kwin/kcmkwin/kwinrules/kwinrules.desktop b/kwin/kcmkwin/kwinrules/kwinrules.desktop
deleted file mode 100644
index 9d82ea38a..000000000
--- a/kwin/kcmkwin/kwinrules/kwinrules.desktop
+++ /dev/null
@@ -1,209 +0,0 @@
-[Desktop Entry]
-Icon=kcmkwm
-Type=Application
-Exec=kcmshell twinrules
-DocPath=kcontrol/windowmanagement/index.html
-
-X-KDE-ModuleType=Library
-X-KDE-Library=twinrules
-X-KDE-FactoryName=twinrules
-
-Name=Window-Specific Settings
-Name[af]=Venser spesifike Instellings
-Name[ar]=تعيينات خاصة بالنوافذ
-Name[be]=Настаўленні для асобных вокнаў
-Name[bg]=Специфични прозорци
-Name[bn]=উইণ্ডো-প্রতি সেটিংস
-Name[bs]=Postavke specifične za ovaj prozor
-Name[ca]=Arranjament específic de finestra
-Name[cs]=Specifická nastavení oken
-Name[csb]=Nastôw specyficzny dlô òkna
-Name[cy]=Gosodiadau sy'n Benodol i'r Ffenestr
-Name[da]=Vinduesspecifik opsætning
-Name[de]=Fensterspezifische Einstellungen
-Name[el]=Ρυθμίσεις σχετικές με παράθυρα
-Name[eo]=Apartafenestraj Agordoj
-Name[es]=Preferencias específicas de la ventana
-Name[et]=Akende seadistused
-Name[eu]=Leihoen ezarpen espezifikoak
-Name[fa]=تنظیمات مشخص پنجره
-Name[fi]=Ikkunakohtaiset asetukset
-Name[fr]=Paramètres spécifiques à la fenêtre
-Name[fy]=Finsterspesifike ynstellings
-Name[gl]=Opcións específicas da fiestra
-Name[he]=הגדרות חלונות ספציפיות
-Name[hi]=विशिष्ट-विंडो विन्यास
-Name[hr]=Postavke za prozor
-Name[hu]=Egyedi ablakbeállítások
-Name[is]=Stillingar einstakra glugga
-Name[it]=Impostazioni specifiche della finestra
-Name[ja]=ウィンドウ固有の設定
-Name[ka]=ფანჯრის განსაკუთრებული პარამეტრები
-Name[kk]=Терезенің ерекше параметрлері
-Name[km]=ការ​កំណត់​សម្រាប់​បង្អួច
-Name[ko]=창 지정
-Name[lt]=Nuo lango priklausantys nustatymai
-Name[lv]=Specifiski logu parametri
-Name[mk]=Поставувања по прозорец
-Name[nb]=Innstillinger for vinduer
-Name[nds]=Instellen för enkelte Finstern
-Name[ne]=सञ्झ्याल निर्दिष्ट सेटिङ
-Name[nl]=Vensterspecifieke instellingen
-Name[nn]=Instillingar for vindauge
-Name[pa]=ਝਰੋਖਾ-ਖਾਸ ਸਥਾਪਨ
-Name[pl]=Ustawienia danego okna
-Name[pt]=Opções Específicas da Janela
-Name[pt_BR]=Configurações Específicas da Janela
-Name[ro]=Setări specifice fereastră
-Name[ru]=Особые параметры окна
-Name[rw]=Amagenamiterere y'Idirishya-Ryihariye
-Name[se]=Láseheivehusat
-Name[sk]=Špecifické nastavenia okna
-Name[sl]=Nastavitve glede na okno
-Name[sr]=Посебне поставке за прозоре
-Name[sr@Latn]=Posebne postavke za prozore
-Name[sv]=Fönsterspecifika inställningar
-Name[ta]=சாளர-குறிப்பிடும் அமைப்புகள்
-Name[th]=ตั้งค่าเกี่ยวกับหน้าต่างโดยเฉพาะ
-Name[tr]=Pencereye Özel Seçenekler
-Name[tt]=Täräzägä-Bäyle Caylawlar
-Name[uk]=Параметри для окремих вікон
-Name[uz]=Oynaga oid moslamalar
-Name[uz@cyrillic]=Ойнага оид мосламалар
-Name[vi]=Thiết lập Danh riêng cho Cửa sổ
-Name[wa]=Apontiaedjes specifikes a-z on purnea
-Name[zh_CN]=特定窗口的设置
-Name[zh_TW]=特定視窗設定
-
-Comment=Configure settings specifically for a window
-Comment[af]=Stel spesifieke venster instellings op
-Comment[ar]=إعداد التعيينات الخاصة بنافذة
-Comment[be]=Настаўленні для кожнага вакна асабіста
-Comment[bg]=Настройване на специфични особености за отделните прозорци
-Comment[bn]=শুধুমাত্র এই বিশেষ উইণ্ডো-টির সেটিংস কনফিগার করুন
-Comment[bs]=Podesite postavke specifične za ovaj prozor
-Comment[ca]=Configura l'arranjament específicament per a una finestra
-Comment[cs]=Nastavení specifická pro okno
-Comment[csb]=Kònfigùracëjô nastôwów specyficznëch dlô wëbrónegò òkna
-Comment[cy]=Ffurfweddu gosodiadau yn benodol ar gyfer ffenestr
-Comment[da]=Indstil opsætning specifikt for et vindue
-Comment[de]=Einstellungen für einzelne Fenster vornehmen
-Comment[el]=Ρυθμίσεις σχετικές ειδικά με Ένα Παράθυρο
-Comment[eo]=Agordi nur por tiu fenestro
-Comment[es]=Configurar parámetros específicos de una ventana
-Comment[et]=Spetsiaalselt akendega seotud seadistused
-Comment[eu]=Konfiguratu leiho jakin baten ezarpenak
-Comment[fa]=پیکربندی تنظیمات برای پنجره به طور ‌ویژه
-Comment[fi]=Muokkaa ikkunakohtaisia asetuksia
-Comment[fr]=Configuration de paramètres spécifiques à une fenêtre
-Comment[fy]=Hjir kinne jo ynstellings kieze spesifyk foar ien finster
-Comment[ga]=Cumraigh na socruithe le haghaidh fuinneoige ar leith
-Comment[gl]=Configuración das opcións específicas para unha fiestra
-Comment[he]=קבע הגדרות לחלון מסוים
-Comment[hi]=किसी खास विंडो के लिए विन्यास कॉन्फ़िगर करें
-Comment[hr]=Konfiguriranje određenih postavki za prozor
-Comment[hu]=Egy adott ablak beállításai
-Comment[is]=Stillingar sem varða tiltekinn glugga
-Comment[it]=Configura le impostazioni specifiche di una finestra
-Comment[ja]=特定のウィンドウに固有の設定を行います
-Comment[ka]=ფანჯრის განსაკუთრებული პარამეტრების კონფიგურაცია
-Comment[kk]=Терезенің ерекше параметрлерін баптау
-Comment[km]=កំណត់​រចនាសម្ព័ន្ធ​ការ​កំណត់​ពិសេស​សម្រាប់​បង្អួច​មួយ
-Comment[ko]=창마다의 개별 설정
-Comment[lt]=Čia galite konfigūruoti konkretaus lango nustatymus
-Comment[lv]=Konfigurē parametrus priekš speciāla loga
-Comment[mk]=Конфигурирајте ги поставувањата за поодделни прозорци
-Comment[mt]=Ikkonfigura setings li jistgħu itejbu l-veloċità ta' KDE
-Comment[nb]=Innstillinger som er knyttet til et spesielt vindu
-Comment[nds]=Instellen för enkelte Finstern
-Comment[ne]=सञ्झ्यालका लागि निर्दिष्ट तरिकाले सेटिङ कन्फिगर गर्नुहोस्
-Comment[nl]=Hier kunt u instellingen kiezen specifiek voor één venster
-Comment[nn]=Innstillingar som er knytte til eitt særskilt vindauge
-Comment[pa]=ਇੱਕ ਝਰੋਖੇ ਲਈ ਖਾਸ ਸਥਾਪਨ ਸੰਰਚਨਾ
-Comment[pl]=Konfiguracja ustawień wybranego okna
-Comment[pt]=Configura as opções especificamente para uma janela
-Comment[pt_BR]=Configurações específicas para uma janela
-Comment[ro]=Configurează setări specifice anumitor ferestre
-Comment[ru]=Настройка особых параметров окна
-Comment[rw]=Kuboneza Amagenamiterere mu buryo bwihariye bw'idirishya
-Comment[se]=Heivehusat erenoamáš láse várás
-Comment[sk]=Nastavenie pre jednotlivé okná
-Comment[sl]=Nastavite možnosti glede na posamezno okno
-Comment[sr]=Подешавање поставки посебно за прозор
-Comment[sr@Latn]=Podešavanje postavki posebno za prozor
-Comment[sv]=Anpassa inställningar specifikt för ett fönster
-Comment[ta]=KDE செயல்திறனை அதிகப்படுத்தும் அமைப்புகளை அமை
-Comment[th]=ปรับแต่งค่าต่างๆ ที่เกี่ยวกับหน้าต่างโดยเฉพาะ
-Comment[tr]=Bir pencere için özel olan seçenekleri yapılandır
-Comment[tt]=Täräzä öçen ayırım caylawlar
-Comment[uk]=Налаштування параметрів для окремого типу вікон
-Comment[uz]=Oynaga oid boʻlgan moslamalarni moslash
-Comment[uz@cyrillic]=Ойнага оид бўлган мосламаларни мослаш
-Comment[vi]=Thiết lập cài đặt dành riêng cho cửa sổ
-Comment[wa]=Apontiaedjes specifikes po-z on purnea
-Comment[zh_CN]=配置一个窗口的设置
-Comment[zh_TW]=設定特定視窗設定值
-
-Keywords=size,position,state,window behavior,windows,specific,workarounds,remember,rules
-Keywords[ar]=القياس,الموضع,الحالة,سلوك النافذة,نوافذ,خاص,تدكر,قواعد,معاملات
-Keywords[be]=Памер,Пазіцыя,Стан,Паводзіны акна,Вокны,Акно,Спецыфічныя,Запомніць,Правілы,size,position,state,window behavior,windows,specific,workarounds,remember,rules
-Keywords[bg]=размер, позиция, състояние, прозорец, поведение,правила, запомняне,size,position,state,window behavior,windows,specific,workarounds,remember,rules
-Keywords[bs]=size,position,state,window behavior,windows,specific,workarounds,remember,rules,veličina,položaj,ponašanje prozora,prozori,specifično,pravila
-Keywords[ca]=mida,posició,estat,comportament de finestra,finestres,específic,reparacions,recorda,regles
-Keywords[cs]=velikost,pozice,umístění,stav,chování oken,pravidla
-Keywords[csb]=miara,pòłożenié,stón,ùchòwanié òknół,òkna,spamiãtanié nastôwów,zapamiãtanié nastôwów,regle
-Keywords[cy]=maint,lleoliad,cyflwr,ffenestr,ymddygiad,ffenestri,penodol,ffyrdd osgoi,cofio,rheolau
-Keywords[da]=størrelse,position,tilstand,vinduesopførsel,vinduer,specifik, omgåelse,husk,regler
-Keywords[de]=Größe,Position,Status,Fensterverhalten,Fenster,Regeln
-Keywords[el]=μέγεθος,θέση,κατάσταση,συμπεριφορά παραθύρου,παράθυρα,ειδικές,λύσεις,αποθήκευση,κανόνων
-Keywords[en_GB]=size,position,state,window behaviour,windows,specific,workarounds,remember,rules
-Keywords[eo]=grandeco,pozicio,stato,fenestra konduto,fenestroj,reguloj
-Keywords[es]=tamaño,posición,estado,comportamiento de la ventana,ventanas,específico,soluciones,recordar,reglas
-Keywords[et]=suurus,asend,olek,akna käitumine,aknad,spetsiaalne,kohandamine,reeglid
-Keywords[eu]=neurria,kokapena,egoera,leihoaren portaera,leihoak,espezifikoa,konponbideak,gogoratu,arauak
-Keywords[fa]=اندازه، موقعیت، وضعیت، رفتار پنجره، پنجره‌ها، مشخص، workarounds، یادآوری، قواعد
-Keywords[fi]=koko,sijainti,tila,ikkunan käyttäytyminen,ikkunat,ikkunakohtainen,säännöt
-Keywords[fr]=taille,position,état,comportement de fenêtre,fenêtres,spécifique,astuces,souvenir,règles
-Keywords[fy]=grootte,grutte,positie,posysje,venstergedrag,finstergedrach,vensters,finsters,specifiek,spesifyk,alternatieven,alternativen,onthouden,ûnthâlde,regels
-Keywords[ga]=méid,ionad,staid,oibriú na bhfuinneog,fuinneoga,sainiúil,réitigh seiftithe,meabhraigh,rialacha
-Keywords[gl]=tamaño,posición,estado,comportamento da fiestra,fiestras,específico,lembrar,reglas
-Keywords[he]=גודל, מיקום, מצב, חלון, התנהגות, חלונות, אישית, זכור, חוקים, size,position,state,window behavior,windows,specific,workarounds,remember,rules
-Keywords[hi]=आकार,स्थान,स्थिति,विंडो व्यवहार,विंडोज़,विशिष्ट,कार्य-विकल्प,याददाश्त,नियम
-Keywords[hr]=size,position,state,window behavior,windows,specific,workarounds,remember,rules,veličina,položaj,smještaj,stanje,ponašanje prozora,prozori,rješenja,zapamti,upamti,pravila
-Keywords[hu]=méret,pozíció,állapot,ablakműködés,ablakok,specifikus,megjegyzés,szabályok
-Keywords[id]=ukuran,posisi,status,perilaku jendela,jendela, spesifik,solusi,remember,aturan
-Keywords[it]=dimensione,posizione,stato,comportamento finestra,finestre,specifico,ricorda,regole
-Keywords[ja]=サイズ,位置,状態,ウィンドウの挙動,windows,特定,ワークアラウンド,記憶,ルール
-Keywords[km]=ទំហំ,ទីតាំង,សភាព,ឥរិយាបថ​បង្អួច បង្អួចs ជាក់លាក់c ចងចាំr ច្បាប់s
-Keywords[lt]=size,position,state,window behavior,windows,specific,workarounds,remember,rules,dydis,pozicija,būsena,lango eelgesys,langai,atsiminti,taisyklės
-Keywords[lv]=izmērs,novietojums,statuss,loga izturēšanās,logi,specifisks,apjājiens,atcerēties,noteikumi
-Keywords[mk]=size,position,state,window behavior,windows,specific,workarounds,remember,rules,големина,позиција,состојба,однесување на прозорец,специфично,заобиколни
-Keywords[mt]=size,position,state,window behavior,windows,specific,workarounds,remember,rules,daqs
-Keywords[nb]=størrelse,posisjon,status,vindusoppførsel,vinduer,spesifikk,jukseløsninger,husk,regler
-Keywords[nds]=Grött,Positschoon,Status,Finsterbedregen,Finstern,enkel,enkelte,Regeln,behollen,workaround
-Keywords[ne]=साइज, स्थिति, अवस्था, सञ्झ्याल व्यवहार, सञ्झ्यालहरू, निर्दिष्ट, कार्यक्षेत्र, याद गर्नुहोस्, नियम
-Keywords[nl]=grootte,positie,venstergedrag,vensters,specifiek,alternatieven,onthouden,regels
-Keywords[nn]=storleik,plassering,tilstand,vindaugsåtferd,vindauge,spesifikk,jukseløysingar,hugs,reglar
-Keywords[pa]=ਅਕਾਰ,ਸਥਿਤੀ,ਝਰੋਖਾ ਵਿਵਹਾਰ,ਝਰੋਖੇ,ਖਾਸ,ਯਾਦ ਰੱਖੋ,ਨਿਯਮ
-Keywords[pl]=rozmiar,położenie,stan,zachowanie okien,okna,zapamiętywanie ustawień,reguły
-Keywords[pt]=tamanho,posição,estado,comportamento da janela,janelas,específico,recordar,regras
-Keywords[pt_BR]=tamanho,posição, estado, comportamento da janela, janelas, específica, elementos, lembrar, regras
-Keywords[ro]=mărime,poziție,stare,comportament fereastră,ferestre,specific,reguli
-Keywords[rw]=Ingano,Ibirindiro,leta, imyitwarire y'idirishya,amadirishya,byihariye, amakorahafi,kwibuka,amategeko
-Keywords[se]=sturrodat,sajádat,dilli,láseláhtten,láset,erenoamáš,fillenčovdosat,muitte,njuolggadusat
-Keywords[sk]=veľkosť,pozícia,stav,správanie okna,okná,špecifické,jedno okno,opravy,pravidlá
-Keywords[sl]=velikost,položaj,stanje,obnašanje okna,okna,posebno,obvoz,zapomni,pravila
-Keywords[sr]=величина,позиција,стање,понашање прозора,прозори,запамти,правила
-Keywords[sr@Latn]=veličina,pozicija,stanje,ponašanje prozora,prozori,zapamti,pravila
-Keywords[sv]=storlek,position,tillstånd,fönsterbeteende,fönster,specifik,komma runt,komma ihåg,regler
-Keywords[ta]=அளவு,நிலை,மாநிலம்,சாளர நடத்தை,சாளரங்கள்,குறிப்பிட்ட,பணிவட்டாரங்கள்,விதிகள்
-Keywords[th]=ขนาด,ตำแหน่ง,สถานะ,พฤติกรรมหน้าต่าง,หน้าต่าง,โดยเฉพาะ,หารอบๆ,จำ,กฎ
-Keywords[tr]=boyut,yer,pozisyon,durum,pencere davranışı,pencereler,özel,çalışma alanı,hatırla,kurallar
-Keywords[uk]=розмір,позиція,стан,поведінка вікна,вікна,окремі,підігнати,запам'ятати,правила
-Keywords[uz]=oʻlcham,joy,holat,oynaning xususiyatlari,oynalar,maxsus,eslab qolish,qoidalar
-Keywords[uz@cyrillic]=ўлчам,жой,ҳолат,ойнанинг хусусиятлари,ойналар,махсус,эслаб қолиш,қоидалар
-Keywords[vi]=kích cỡ,vị trí,trạng thái,ứng xử cửa sổ,cửa sổ,dành riêng,cách chữa chạy,nhớ,quy tắc
-Keywords[wa]=grandeu,plaece,estat,estance,dujhance des purneas,purneas,specifike,workarounds,remember,rîles,sovni,sovnance
-Keywords[zh_CN]=size,position,state,window behavior,windows,specific,workarounds,remember,rules,大小,位置,状态,窗口行为,窗口,特定,工作区,记住,规则
-Keywords[zh_TW]=size,position,state,window behavior,windows,specific,workarounds,remember,rules,大小,位置,狀態,視窗行為,視窗,指定,記憶,規則
-Categories=Qt;KDE;X-KDE-settings-desktop;
diff --git a/kwin/kcmkwin/kwinrules/kwinsrc.cpp b/kwin/kcmkwin/kwinrules/kwinsrc.cpp
deleted file mode 100644
index fb901efb6..000000000
--- a/kwin/kcmkwin/kwinrules/kwinsrc.cpp
+++ /dev/null
@@ -1,8 +0,0 @@
-// Include some code from twin core in order to avoid
-// double implementation.
-
-#include "ruleslist.h"
-#include "../../rules.cpp"
-#include "../../placement.cpp"
-#include "../../options.cpp"
-#include "../../utils.cpp"
diff --git a/kwin/kcmkwin/kwinrules/main.cpp b/kwin/kcmkwin/kwinrules/main.cpp
deleted file mode 100644
index db3a9fc48..000000000
--- a/kwin/kcmkwin/kwinrules/main.cpp
+++ /dev/null
@@ -1,294 +0,0 @@
-/*
- * Copyright (c) 2004 Lubos Lunak <l.lunak@kde.org>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- */
-
-#include <kcmdlineargs.h>
-#include <kapplication.h>
-#include <dcopclient.h>
-#include <kconfig.h>
-#include <klocale.h>
-#include <twin.h>
-
-#include <X11/Xlib.h>
-#include <fixx11h.h>
-
-#include "ruleswidget.h"
-#include "../../rules.h"
-
-namespace KWinInternal
-{
-
-static void loadRules( TQValueList< Rules* >& rules )
- {
- KConfig cfg( "twinrulesrc", true );
- cfg.setGroup( "General" );
- int count = cfg.readNumEntry( "count" );
- for( int i = 1;
- i <= count;
- ++i )
- {
- cfg.setGroup( TQString::number( i ));
- Rules* rule = new Rules( cfg );
- rules.append( rule );
- }
- }
-
-static void saveRules( const TQValueList< Rules* >& rules )
- {
- KConfig cfg( "twinrulesrc" );
- TQStringList groups = cfg.groupList();
- for( TQStringList::ConstIterator it = groups.begin();
- it != groups.end();
- ++it )
- cfg.deleteGroup( *it );
- cfg.setGroup( "General" );
- cfg.writeEntry( "count", rules.count());
- int i = 1;
- for( TQValueList< Rules* >::ConstIterator it = rules.begin();
- it != rules.end();
- ++it )
- {
- cfg.setGroup( TQString::number( i ));
- (*it)->write( cfg );
- ++i;
- }
- }
-
-static Rules* findRule( const TQValueList< Rules* >& rules, Window wid, bool whole_app )
- {
- KWin::WindowInfo info = KWin::windowInfo( wid,
- NET::WMName | NET::WMWindowType,
- NET::WM2WindowClass | NET::WM2WindowRole | NET::WM2ClientMachine );
- if( !info.valid()) // shouldn't really happen
- return NULL;
- TQCString wmclass_class = info.windowClassClass().lower();
- TQCString wmclass_name = info.windowClassName().lower();
- TQCString role = info.windowRole().lower();
- NET::WindowType type = info.windowType( NET::NormalMask | NET::DesktopMask | NET::DockMask
- | NET::ToolbarMask | NET::MenuMask | NET::DialogMask | NET::OverrideMask | NET::TopMenuMask
- | NET::UtilityMask | NET::SplashMask );
- TQString title = info.name();
-// TQCString extrarole = ""; // TODO
- TQCString machine = info.clientMachine().lower();
- Rules* best_match = NULL;
- int match_quality = 0;
- for( TQValueList< Rules* >::ConstIterator it = rules.begin();
- it != rules.end();
- ++it )
- {
- // try to find an exact match, i.e. not a generic rule
- Rules* rule = *it;
- int quality = 0;
- bool generic = true;
- if( rule->wmclassmatch != Rules::ExactMatch )
- continue; // too generic
- if( !rule->matchWMClass( wmclass_class, wmclass_name ))
- continue;
- // from now on, it matches the app - now try to match for a specific window
- if( rule->wmclasscomplete )
- {
- quality += 1;
- generic = false; // this can be considered specific enough (old X apps)
- }
- if( !whole_app )
- {
- if( rule->windowrolematch != Rules::UnimportantMatch )
- {
- quality += rule->windowrolematch == Rules::ExactMatch ? 5 : 1;
- generic = false;
- }
- if( rule->titlematch != Rules::UnimportantMatch )
- {
- quality += rule->titlematch == Rules::ExactMatch ? 3 : 1;
- generic = false;
- }
- if( rule->types != NET::AllTypesMask )
- {
- int bits = 0;
- for( unsigned int bit = 1;
- bit < 1U << 31;
- bit <<= 1 )
- if( rule->types & bit )
- ++bits;
- if( bits == 1 )
- quality += 2;
- }
- if( generic ) // ignore generic rules, use only the ones that are for this window
- continue;
- }
- else
- {
- if( rule->types == NET::AllTypesMask )
- quality += 2;
- }
- if( !rule->matchType( type )
- || !rule->matchRole( role )
- || !rule->matchTitle( title )
- || !rule->matchClientMachine( machine ))
- continue;
- if( quality > match_quality )
- {
- best_match = rule;
- match_quality = quality;
- }
- }
- if( best_match != NULL )
- return best_match;
- Rules* ret = new Rules;
- if( whole_app )
- {
- ret->description = i18n( "Application settings for %1" ).tqarg( static_cast<const char *>(wmclass_class) );
- // TODO maybe exclude some types? If yes, then also exclude them above
- // when searching.
- ret->types = NET::AllTypesMask;
- ret->titlematch = Rules::UnimportantMatch;
- ret->clientmachine = machine; // set, but make unimportant
- ret->clientmachinematch = Rules::UnimportantMatch;
- ret->extrarolematch = Rules::UnimportantMatch;
- ret->windowrolematch = Rules::UnimportantMatch;
- if( wmclass_name == wmclass_class )
- {
- ret->wmclasscomplete = false;
- ret->wmclass = wmclass_class;
- ret->wmclassmatch = Rules::ExactMatch;
- }
- else
- {
- // WM_CLASS components differ - perhaps the app got -name argument
- ret->wmclasscomplete = true;
- ret->wmclass = wmclass_name + ' ' + wmclass_class;
- ret->wmclassmatch = Rules::ExactMatch;
- }
- return ret;
- }
- ret->description = i18n( "Window settings for %1" ).tqarg( static_cast<const char *>(wmclass_class) );
- if( type == NET::Unknown )
- ret->types = NET::NormalMask;
- else
- ret->types = 1 << type; // convert type to its mask
- ret->title = title; // set, but make unimportant
- ret->titlematch = Rules::UnimportantMatch;
- ret->clientmachine = machine; // set, but make unimportant
- ret->clientmachinematch = Rules::UnimportantMatch;
-// ret->extrarole = extra; TODO
- ret->extrarolematch = Rules::UnimportantMatch;
- if( !role.isEmpty()
- && role != "unknown" && role != "unnamed" ) // Qt sets this if not specified
- {
- ret->windowrole = role;
- ret->windowrolematch = Rules::ExactMatch;
- if( wmclass_name == wmclass_class )
- {
- ret->wmclasscomplete = false;
- ret->wmclass = wmclass_class;
- ret->wmclassmatch = Rules::ExactMatch;
- }
- else
- {
- // WM_CLASS components differ - perhaps the app got -name argument
- ret->wmclasscomplete = true;
- ret->wmclass = wmclass_name + ' ' + wmclass_class;
- ret->wmclassmatch = Rules::ExactMatch;
- }
- }
- else // no role set
- {
- if( wmclass_name != wmclass_class )
- {
- ret->wmclasscomplete = true;
- ret->wmclass = wmclass_name + ' ' + wmclass_class;
- ret->wmclassmatch = Rules::ExactMatch;
- }
- else
- {
- // This is a window that has no role set, and both components of WM_CLASS
- // match (possibly only differing in case), which most likely means either
- // the application doesn't give a damn about distinguishing its various
- // windows, or it's an app that uses role for that, but this window
- // lacks it for some reason. Use non-complete WM_CLASS matching, also
- // include window title in the matching, and pray it causes many more positive
- // matches than negative matches.
- ret->titlematch = Rules::ExactMatch;
- ret->wmclasscomplete = false;
- ret->wmclass = wmclass_class;
- ret->wmclassmatch = Rules::ExactMatch;
- }
- }
- return ret;
- }
-
-static int edit( Window wid, bool whole_app )
- {
- TQValueList< Rules* > rules;
- loadRules( rules );
- Rules* orig_rule = findRule( rules, wid, whole_app );
- RulesDialog dlg;
- // dlg.edit() creates new Rules instance if edited
- Rules* edited_rule = dlg.edit( orig_rule, wid, true );
- if( edited_rule == NULL || edited_rule->isEmpty())
- {
- rules.remove( orig_rule );
- delete orig_rule;
- if( orig_rule != edited_rule )
- delete edited_rule;
- }
- else if( edited_rule != orig_rule )
- {
- TQValueList< Rules* >::Iterator pos = rules.find( orig_rule );
- if( pos != rules.end())
- *pos = edited_rule;
- else
- rules.prepend( edited_rule );
- delete orig_rule;
- }
- saveRules( rules );
- if( !kapp->dcopClient()->isAttached())
- kapp->dcopClient()->attach();
- kapp->dcopClient()->send("twin*", "", "reconfigure()", TQString(""));
- return 0;
- }
-
-} // namespace
-
-static const KCmdLineOptions options[] =
- {
- // no need for I18N_NOOP(), this is not supposed to be used directly
- { "wid <wid>", "WId of the window for special window settings.", 0 },
- { "whole-app", "Whether the settings should affect all windows of the application.", 0 },
- KCmdLineLastOption
- };
-
-extern "C"
-KDE_EXPORT int kdemain( int argc, char* argv[] )
- {
- KLocale::setMainCatalogue( "kcmtwinrules" );
- KCmdLineArgs::init( argc, argv, "twin_rules_dialog", I18N_NOOP( "KWin" ),
- I18N_NOOP( "KWin helper utility" ), "1.0" );
- KCmdLineArgs::addCmdLineOptions( options );
- KApplication app;
- KCmdLineArgs* args = KCmdLineArgs::parsedArgs();
- bool id_ok = false;
- Window id = args->getOption( "wid" ).toULong( &id_ok );
- bool whole_app = args->isSet( "whole-app" );
- args->clear();
- if( !id_ok || id == None )
- {
- KCmdLineArgs::usage( i18n( "This helper utility is not supposed to be called directly." ));
- return 1;
- }
- return KWinInternal::edit( id, whole_app );
- }
diff --git a/kwin/kcmkwin/kwinrules/ruleslist.cpp b/kwin/kcmkwin/kwinrules/ruleslist.cpp
deleted file mode 100644
index 29e02549d..000000000
--- a/kwin/kcmkwin/kwinrules/ruleslist.cpp
+++ /dev/null
@@ -1,200 +0,0 @@
-/*
- * Copyright (c) 2004 Lubos Lunak <l.lunak@kde.org>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- */
-
-#include "ruleslist.h"
-
-#include <klistbox.h>
-#include <kpushbutton.h>
-#include <assert.h>
-#include <kdebug.h>
-#include <kconfig.h>
-
-#include "ruleswidget.h"
-
-namespace KWinInternal
-{
-
-KCMRulesList::KCMRulesList( TQWidget* parent, const char* name )
-: KCMRulesListBase( parent, name )
- {
- // connect both current/selected, so that current==selected (stupid TQListBox :( )
- connect( rules_listbox, TQT_SIGNAL( currentChanged( TQListBoxItem* )),
- TQT_SLOT( activeChanged( TQListBoxItem*)));
- connect( rules_listbox, TQT_SIGNAL( selectionChanged( TQListBoxItem* )),
- TQT_SLOT( activeChanged( TQListBoxItem*)));
- connect( new_button, TQT_SIGNAL( clicked()),
- TQT_SLOT( newClicked()));
- connect( modify_button, TQT_SIGNAL( clicked()),
- TQT_SLOT( modifyClicked()));
- connect( delete_button, TQT_SIGNAL( clicked()),
- TQT_SLOT( deleteClicked()));
- connect( moveup_button, TQT_SIGNAL( clicked()),
- TQT_SLOT( moveupClicked()));
- connect( movedown_button, TQT_SIGNAL( clicked()),
- TQT_SLOT( movedownClicked()));
- connect( rules_listbox, TQT_SIGNAL( doubleClicked ( TQListBoxItem * ) ),
- TQT_SLOT( modifyClicked()));
- load();
- }
-
-KCMRulesList::~KCMRulesList()
- {
- for( TQValueVector< Rules* >::Iterator it = rules.begin();
- it != rules.end();
- ++it )
- delete *it;
- rules.clear();
- }
-
-void KCMRulesList::activeChanged( TQListBoxItem* item )
- {
- if( item != NULL )
- rules_listbox->setSelected( item, true ); // make current==selected
- modify_button->setEnabled( item != NULL );
- delete_button->setEnabled( item != NULL );
- moveup_button->setEnabled( item != NULL && item->prev() != NULL );
- movedown_button->setEnabled( item != NULL && item->next() != NULL );
- }
-
-void KCMRulesList::newClicked()
- {
- RulesDialog dlg;
- Rules* rule = dlg.edit( NULL, 0, false );
- if( rule == NULL )
- return;
- int pos = rules_listbox->currentItem() + 1;
- rules_listbox->insertItem( rule->description, pos );
- rules_listbox->setSelected( pos, true );
- rules.insert( rules.begin() + pos, rule );
- emit changed( true );
- }
-
-void KCMRulesList::modifyClicked()
- {
- int pos = rules_listbox->currentItem();
- if ( pos == -1 )
- return;
- RulesDialog dlg;
- Rules* rule = dlg.edit( rules[ pos ], 0, false );
- if( rule == rules[ pos ] )
- return;
- delete rules[ pos ];
- rules[ pos ] = rule;
- rules_listbox->changeItem( rule->description, pos );
- emit changed( true );
- }
-
-void KCMRulesList::deleteClicked()
- {
- int pos = rules_listbox->currentItem();
- assert( pos != -1 );
- rules_listbox->removeItem( pos );
- rules.erase( rules.begin() + pos );
- emit changed( true );
- }
-
-void KCMRulesList::moveupClicked()
- {
- int pos = rules_listbox->currentItem();
- assert( pos != -1 );
- if( pos > 0 )
- {
- TQString txt = rules_listbox->text( pos );
- rules_listbox->removeItem( pos );
- rules_listbox->insertItem( txt, pos - 1 );
- rules_listbox->setSelected( pos - 1, true );
- Rules* rule = rules[ pos ];
- rules[ pos ] = rules[ pos - 1 ];
- rules[ pos - 1 ] = rule;
- }
- emit changed( true );
- }
-
-void KCMRulesList::movedownClicked()
- {
- int pos = rules_listbox->currentItem();
- assert( pos != -1 );
- if( pos < int( rules_listbox->count()) - 1 )
- {
- TQString txt = rules_listbox->text( pos );
- rules_listbox->removeItem( pos );
- rules_listbox->insertItem( txt, pos + 1 );
- rules_listbox->setSelected( pos + 1, true );
- Rules* rule = rules[ pos ];
- rules[ pos ] = rules[ pos + 1 ];
- rules[ pos + 1 ] = rule;
- }
- emit changed( true );
- }
-
-void KCMRulesList::load()
- {
- rules_listbox->clear();
- for( TQValueVector< Rules* >::Iterator it = rules.begin();
- it != rules.end();
- ++it )
- delete *it;
- rules.clear();
- KConfig cfg( "twinrulesrc", true );
- cfg.setGroup( "General" );
- int count = cfg.readNumEntry( "count" );
- rules.reserve( count );
- for( int i = 1;
- i <= count;
- ++i )
- {
- cfg.setGroup( TQString::number( i ));
- Rules* rule = new Rules( cfg );
- rules.append( rule );
- rules_listbox->insertItem( rule->description );
- }
- if( rules.count() > 0 )
- rules_listbox->setSelected( 0, true );
- else
- activeChanged( NULL );
- }
-
-void KCMRulesList::save()
- {
- KConfig cfg( "twinrulesrc" );
- TQStringList groups = cfg.groupList();
- for( TQStringList::ConstIterator it = groups.begin();
- it != groups.end();
- ++it )
- cfg.deleteGroup( *it );
- cfg.setGroup( "General" );
- cfg.writeEntry( "count", rules.count());
- int i = 1;
- for( TQValueVector< Rules* >::ConstIterator it = rules.begin();
- it != rules.end();
- ++it )
- {
- cfg.setGroup( TQString::number( i ));
- (*it)->write( cfg );
- ++i;
- }
- }
-
-void KCMRulesList::defaults()
- {
- load();
- }
-
-} // namespace
-
-#include "ruleslist.moc"
diff --git a/kwin/kcmkwin/kwinrules/ruleslist.h b/kwin/kcmkwin/kwinrules/ruleslist.h
deleted file mode 100644
index f7e7fb541..000000000
--- a/kwin/kcmkwin/kwinrules/ruleslist.h
+++ /dev/null
@@ -1,59 +0,0 @@
-/*
- * Copyright (c) 2004 Lubos Lunak <l.lunak@kde.org>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- */
-
-
-#ifndef __RULESLIST_H__
-#define __RULESLIST_H__
-
-#include "ruleslistbase.h"
-
-#include <tqvaluevector.h>
-
-#include "../../rules.h"
-
-class TQListBoxItem;
-
-namespace KWinInternal
-{
-
-class KCMRulesList
- : public KCMRulesListBase
- {
- Q_OBJECT
- public:
- KCMRulesList( TQWidget* parent = NULL, const char* name = NULL );
- virtual ~KCMRulesList();
- void load();
- void save();
- void defaults();
- signals:
- void changed( bool );
- private slots:
- void newClicked();
- void modifyClicked();
- void deleteClicked();
- void moveupClicked();
- void movedownClicked();
- void activeChanged( TQListBoxItem* );
- private:
- TQValueVector< Rules* > rules;
- };
-
-} // namespace
-
-#endif
diff --git a/kwin/kcmkwin/kwinrules/ruleslistbase.ui b/kwin/kcmkwin/kwinrules/ruleslistbase.ui
deleted file mode 100644
index 5fc5fd6ed..000000000
--- a/kwin/kcmkwin/kwinrules/ruleslistbase.ui
+++ /dev/null
@@ -1,91 +0,0 @@
-<!DOCTYPE UI><UI version="3.3" stdsetdef="1">
-<class>KWinInternal::KCMRulesListBase</class>
-<widget class="TQWidget">
- <property name="name">
- <cstring>Form1</cstring>
- </property>
- <property name="geometry">
- <rect>
- <x>0</x>
- <y>0</y>
- <width>600</width>
- <height>480</height>
- </rect>
- </property>
- <grid>
- <property name="name">
- <cstring>unnamed</cstring>
- </property>
- <property name="margin">
- <number>0</number>
- </property>
- <widget class="KListBox" row="0" column="0" rowspan="6" colspan="1">
- <property name="name">
- <cstring>rules_listbox</cstring>
- </property>
- </widget>
- <widget class="KPushButton" row="0" column="1">
- <property name="name">
- <cstring>new_button</cstring>
- </property>
- <property name="text">
- <string>&amp;New...</string>
- </property>
- </widget>
- <widget class="KPushButton" row="1" column="1">
- <property name="name">
- <cstring>modify_button</cstring>
- </property>
- <property name="text">
- <string>&amp;Modify...</string>
- </property>
- </widget>
- <widget class="KPushButton" row="2" column="1">
- <property name="name">
- <cstring>delete_button</cstring>
- </property>
- <property name="text">
- <string>Delete</string>
- </property>
- <property name="accel">
- <string></string>
- </property>
- </widget>
- <widget class="KPushButton" row="3" column="1">
- <property name="name">
- <cstring>moveup_button</cstring>
- </property>
- <property name="text">
- <string>Move &amp;Up</string>
- </property>
- </widget>
- <widget class="KPushButton" row="4" column="1">
- <property name="name">
- <cstring>movedown_button</cstring>
- </property>
- <property name="text">
- <string>Move &amp;Down</string>
- </property>
- </widget>
- <spacer row="5" column="1">
- <property name="name">
- <cstring>spacer1</cstring>
- </property>
- <property name="orientation">
- <enum>Vertical</enum>
- </property>
- <property name="sizeType">
- <enum>Expanding</enum>
- </property>
- <property name="tqsizeHint">
- <size>
- <width>20</width>
- <height>294</height>
- </size>
- </property>
- </spacer>
- </grid>
-</widget>
-<layoutdefaults spacing="6" margin="11"/>
-<layoutfunctions spacing="KDialog::spacingHint" margin="KDialog::marginHint"/>
-</UI>
diff --git a/kwin/kcmkwin/kwinrules/ruleswidget.cpp b/kwin/kcmkwin/kwinrules/ruleswidget.cpp
deleted file mode 100644
index cfe96458e..000000000
--- a/kwin/kcmkwin/kwinrules/ruleswidget.cpp
+++ /dev/null
@@ -1,803 +0,0 @@
-/*
- * Copyright (c) 2004 Lubos Lunak <l.lunak@kde.org>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- */
-
-#include "ruleswidget.h"
-
-#include <klineedit.h>
-#include <krestrictedline.h>
-#include <kcombobox.h>
-#include <tqcheckbox.h>
-#include <kpushbutton.h>
-#include <tqlabel.h>
-#include <twinmodule.h>
-#include <klocale.h>
-#include <tqregexp.h>
-#include <tqwhatsthis.h>
-#include <assert.h>
-#include <kmessagebox.h>
-#include <tqtabwidget.h>
-#include <tqtimer.h>
-
-#include "../../rules.h"
-
-#include "detectwidget.h"
-
-namespace KWinInternal
-{
-
-#define SETUP( var, type ) \
- connect( enable_##var, TQT_SIGNAL( toggled( bool )), rule_##var, TQT_SLOT( setEnabled( bool ))); \
- connect( enable_##var, TQT_SIGNAL( toggled( bool )), this, TQT_SLOT( updateEnable##var())); \
- connect( rule_##var, TQT_SIGNAL( activated( int )), this, TQT_SLOT( updateEnable##var())); \
- TQWhatsThis::add( enable_##var, enableDesc ); \
- TQWhatsThis::add( rule_##var, type##RuleDesc );
-
-RulesWidget::RulesWidget( TQWidget* parent, const char* name )
-: RulesWidgetBase( parent, name )
-, detect_dlg( NULL )
- {
- TQString enableDesc =
- i18n( "Enable this checkbox to alter this window property for the specified window(s)." );
- TQString setRuleDesc =
- i18n( "Specify how the window property should be affected:<ul>"
- "<li><em>Do Not Affect:</em> The window property will not be affected and therefore"
- " the default handling for it will be used. Specifying this will block more generic"
- " window settings from taking effect.</li>"
- "<li><em>Apply Initially:</em> The window property will be only set to the given value"
- " after the window is created. No further changes will be affected.</li>"
- "<li><em>Remember:</em> The value of the window property will be remembered and every time"
- " time the window is created, the last remembered value will be applied.</li>"
- "<li><em>Force:</em> The window property will be always forced to the given value.</li>"
- "<li><em>Apply Now:</em> The window property will be set to the given value immediately"
- " and will not be affected later (this action will be deleted afterwards).</li>"
- "<li><em>Force temporarily:</em> The window property will be forced to the given value"
- " until it is hidden (this action will be deleted after the window is hidden).</li>"
- "</ul>" );
- TQString forceRuleDesc =
- i18n( "Specify how the window property should be affected:<ul>"
- "<li><em>Do Not Affect:</em> The window property will not be affected and therefore"
- " the default handling for it will be used. Specifying this will block more generic"
- " window settings from taking effect.</li>"
- "<li><em>Force:</em> The window property will be always forced to the given value.</li>"
- "<li><em>Force temporarily:</em> The window property will be forced to the given value"
- " until it is hidden (this action will be deleted after the window is hidden).</li>"
- "</ul>" );
- // window tabs have enable signals done in designer
- // geometry tab
- SETUP( position, set );
- SETUP( size, set );
- SETUP( desktop, set );
- SETUP( maximizehoriz, set );
- SETUP( maximizevert, set );
- SETUP( minimize, set );
- SETUP( shade, set );
- SETUP( fullscreen, set );
- SETUP( placement, force );
- // preferences tab
- SETUP( above, set );
- SETUP( below, set );
- SETUP( noborder, set );
- SETUP( skiptaskbar, set );
- SETUP( skippager, set );
- SETUP( acceptfocus, force );
- SETUP( closeable, force );
- SETUP( opacityactive, force );
- SETUP( opacityinactive, force );
- SETUP( shortcut, force );
- // workarounds tab
- SETUP( fsplevel, force );
- SETUP( moveresizemode, force );
- SETUP( type, force );
- SETUP( ignoreposition, force );
- SETUP( minsize, force );
- SETUP( maxsize, force );
- SETUP( strictgeometry, force );
- SETUP( disableglobalshortcuts, force );
- KWinModule module;
- int i;
- for( i = 1;
- i <= module.numberOfDesktops();
- ++i )
- desktop->insertItem( TQString::number( i ).rightJustify( 2 ) + ":" + module.desktopName( i ));
- desktop->insertItem( i18n( "All Desktops" ));
- }
-
-#undef SETUP
-
-#define UPDATE_ENABLE_SLOT( var ) \
-void RulesWidget::updateEnable##var() \
- { \
- /* leave the label readable label_##var->setEnabled( enable_##var->isChecked() && rule_##var->currentItem() != 0 );*/ \
- var->setEnabled( enable_##var->isChecked() && rule_##var->currentItem() != 0 ); \
- }
-
-// geometry tab
-UPDATE_ENABLE_SLOT( position )
-UPDATE_ENABLE_SLOT( size )
-UPDATE_ENABLE_SLOT( desktop )
-UPDATE_ENABLE_SLOT( maximizehoriz )
-UPDATE_ENABLE_SLOT( maximizevert )
-UPDATE_ENABLE_SLOT( minimize )
-UPDATE_ENABLE_SLOT( shade )
-UPDATE_ENABLE_SLOT( fullscreen )
-UPDATE_ENABLE_SLOT( placement )
-// preferences tab
-UPDATE_ENABLE_SLOT( above )
-UPDATE_ENABLE_SLOT( below )
-UPDATE_ENABLE_SLOT( noborder )
-UPDATE_ENABLE_SLOT( skiptaskbar )
-UPDATE_ENABLE_SLOT( skippager )
-UPDATE_ENABLE_SLOT( acceptfocus )
-UPDATE_ENABLE_SLOT( closeable )
-UPDATE_ENABLE_SLOT( opacityactive )
-UPDATE_ENABLE_SLOT( opacityinactive )
-void RulesWidget::updateEnableshortcut()
- {
- shortcut->setEnabled( enable_shortcut->isChecked() && rule_shortcut->currentItem() != 0 );
- shortcut_edit->setEnabled( enable_shortcut->isChecked() && rule_shortcut->currentItem() != 0 );
- }
-// workarounds tab
-UPDATE_ENABLE_SLOT( fsplevel )
-UPDATE_ENABLE_SLOT( moveresizemode )
-UPDATE_ENABLE_SLOT( type )
-UPDATE_ENABLE_SLOT( ignoreposition )
-UPDATE_ENABLE_SLOT( minsize )
-UPDATE_ENABLE_SLOT( maxsize )
-UPDATE_ENABLE_SLOT( strictgeometry )
-UPDATE_ENABLE_SLOT( disableglobalshortcuts )
-
-#undef UPDATE_ENABLE_SLOT
-
-static const int set_rule_to_combo[] =
- {
- 0, // Unused
- 0, // Don't Affect
- 3, // Force
- 1, // Apply
- 2, // Remember
- 4, // ApplyNow
- 5 // ForceTemporarily
- };
-
-static const Rules::SetRule combo_to_set_rule[] =
- {
- ( Rules::SetRule )Rules::DontAffect,
- ( Rules::SetRule )Rules::Apply,
- ( Rules::SetRule )Rules::Remember,
- ( Rules::SetRule )Rules::Force,
- ( Rules::SetRule )Rules::ApplyNow,
- ( Rules::SetRule )Rules::ForceTemporarily
- };
-
-static const int force_rule_to_combo[] =
- {
- 0, // Unused
- 0, // Don't Affect
- 1, // Force
- 0, // Apply
- 0, // Remember
- 0, // ApplyNow
- 2 // ForceTemporarily
- };
-
-static const Rules::ForceRule combo_to_force_rule[] =
- {
- ( Rules::ForceRule )Rules::DontAffect,
- ( Rules::ForceRule )Rules::Force,
- ( Rules::ForceRule )Rules::ForceTemporarily
- };
-
-static TQString positionToStr( const TQPoint& p )
- {
- if( p == invalidPoint )
- return TQString::null;
- return TQString::number( p.x()) + "," + TQString::number( p.y());
- }
-
-static TQPoint strToPosition( const TQString& str )
- { // two numbers, with + or -, separated by any of , x X :
- TQRegExp reg( "\\s*([+-]?[0-9]*)\\s*[,xX:]\\s*([+-]?[0-9]*)\\s*" );
- if( !reg.exactMatch( str ))
- return invalidPoint;
- return TQPoint( reg.cap( 1 ).toInt(), reg.cap( 2 ).toInt());
- }
-
-static TQString sizeToStr( const TQSize& s )
- {
- if( !s.isValid())
- return TQString::null;
- return TQString::number( s.width()) + "," + TQString::number( s.height());
- }
-
-static TQSize strToSize( const TQString& str )
- { // two numbers, with + or -, separated by any of , x X :
- TQRegExp reg( "\\s*([+-]?[0-9]*)\\s*[,xX:]\\s*([+-]?[0-9]*)\\s*" );
- if( !reg.exactMatch( str ))
- return TQSize();
- return TQSize( reg.cap( 1 ).toInt(), reg.cap( 2 ).toInt());
- }
-
-//used for opacity settings
-static TQString intToStr( const int& s )
- {
- if( s < 1 || s > 100 )
- return TQString::null;
- return TQString::number(s);
- }
-
-static int strToInt( const TQString& str )
- {
- int tmp = str.toInt();
- if( tmp < 1 || tmp > 100 )
- return 100;
- return tmp;
- }
-
-int RulesWidget::desktopToCombo( int d ) const
- {
- if( d >= 1 && d < desktop->count())
- return d - 1;
- return desktop->count() - 1; // on all desktops
- }
-
-int RulesWidget::comboToDesktop( int val ) const
- {
- if( val == desktop->count() - 1 )
- return NET::OnAllDesktops;
- return val + 1;
- }
-
-static int placementToCombo( Placement::Policy placement )
- {
- static const int conv[] =
- {
- 1, // NoPlacement
- 0, // Default
- 0, // Unknown
- 6, // Random
- 2, // Smart
- 4, // Cascade
- 5, // Centered
- 7, // ZeroCornered
- 8, // UnderMouse
- 9, // OnMainWindow
- 3 // Maximizing
- };
- return conv[ placement ];
- }
-
-static Placement::Policy comboToPlacement( int val )
- {
- static const Placement::Policy conv[] =
- {
- Placement::Default,
- Placement::NoPlacement,
- Placement::Smart,
- Placement::Maximizing,
- Placement::Cascade,
- Placement::Centered,
- Placement::Random,
- Placement::ZeroCornered,
- Placement::UnderMouse,
- Placement::OnMainWindow
- // no Placement::Unknown
- };
- return conv[ val ];
- }
-
-static int moveresizeToCombo( Options::MoveResizeMode mode )
- {
- return mode == Options::Opaque ? 0 : 1;
- }
-
-static Options::MoveResizeMode comboToMoveResize( int val )
- {
- return val == 0 ? Options::Opaque : Options::Transparent;
- }
-
-static int typeToCombo( NET::WindowType type )
- {
- if( type < NET::Normal || type > NET::Splash )
- return 0; // Normal
- static const int conv[] =
- {
- 0, // Normal
- 7, // Desktop
- 3, // Dock
- 4, // Toolbar
- 5, // Menu
- 1, // Dialog
- 8, // Override
- 9, // TopMenu
- 2, // Utility
- 6 // Splash
- };
- return conv[ type ];
- }
-
-static NET::WindowType comboToType( int val )
- {
- static const NET::WindowType conv[] =
- {
- NET::Normal,
- NET::Dialog,
- NET::Utility,
- NET::Dock,
- NET::Toolbar,
- NET::Menu,
- NET::Splash,
- NET::Desktop,
- NET::Override,
- NET::TopMenu
- };
- return conv[ val ];
- }
-
-#define GENERIC_RULE( var, func, Type, type, uimethod, uimethod0 ) \
- if( rules->var##rule == Rules::Unused##Type##Rule ) \
- { \
- enable_##var->setChecked( false ); \
- rule_##var->setCurrentItem( 0 ); \
- var->uimethod0; \
- updateEnable##var(); \
- } \
- else \
- { \
- enable_##var->setChecked( true ); \
- rule_##var->setCurrentItem( type##_rule_to_combo[ rules->var##rule ] ); \
- var->uimethod( func( rules->var )); \
- updateEnable##var(); \
- }
-
-#define CHECKBOX_SET_RULE( var, func ) GENERIC_RULE( var, func, Set, set, setChecked, setChecked( false ))
-#define LINEEDIT_SET_RULE( var, func ) GENERIC_RULE( var, func, Set, set, setText, setText( "" ))
-#define COMBOBOX_SET_RULE( var, func ) GENERIC_RULE( var, func, Set, set, setCurrentItem, setCurrentItem( 0 ))
-#define CHECKBOX_FORCE_RULE( var, func ) GENERIC_RULE( var, func, Force, force, setChecked, setChecked( false ))
-#define LINEEDIT_FORCE_RULE( var, func ) GENERIC_RULE( var, func, Force, force, setText, setText( "" ))
-#define COMBOBOX_FORCE_RULE( var, func ) GENERIC_RULE( var, func, Force, force, setCurrentItem, setCurrentItem( 0 ))
-
-void RulesWidget::setRules( Rules* rules )
- {
- Rules tmp;
- if( rules == NULL )
- rules = &tmp; // empty
- description->setText( rules->description );
- wmclass->setText( rules->wmclass );
- whole_wmclass->setChecked( rules->wmclasscomplete );
- wmclass_match->setCurrentItem( rules->wmclassmatch );
- wmclassMatchChanged();
- role->setText( rules->windowrole );
- role_match->setCurrentItem( rules->windowrolematch );
- roleMatchChanged();
- types->setSelected( 0, rules->types & NET::NormalMask );
- types->setSelected( 1, rules->types & NET::DialogMask );
- types->setSelected( 2, rules->types & NET::UtilityMask );
- types->setSelected( 3, rules->types & NET::DockMask );
- types->setSelected( 4, rules->types & NET::ToolbarMask );
- types->setSelected( 5, rules->types & NET::MenuMask );
- types->setSelected( 6, rules->types & NET::SplashMask );
- types->setSelected( 7, rules->types & NET::DesktopMask );
- types->setSelected( 8, rules->types & NET::OverrideMask );
- types->setSelected( 9, rules->types & NET::TopMenuMask );
- title->setText( rules->title );
- title_match->setCurrentItem( rules->titlematch );
- titleMatchChanged();
- extra->setText( rules->extrarole );
- extra_match->setCurrentItem( rules->extrarolematch );
- extraMatchChanged();
- machine->setText( rules->clientmachine );
- machine_match->setCurrentItem( rules->clientmachinematch );
- machineMatchChanged();
- LINEEDIT_SET_RULE( position, positionToStr );
- LINEEDIT_SET_RULE( size, sizeToStr );
- COMBOBOX_SET_RULE( desktop, desktopToCombo );
- CHECKBOX_SET_RULE( maximizehoriz, );
- CHECKBOX_SET_RULE( maximizevert, );
- CHECKBOX_SET_RULE( minimize, );
- CHECKBOX_SET_RULE( shade, );
- CHECKBOX_SET_RULE( fullscreen, );
- COMBOBOX_FORCE_RULE( placement, placementToCombo );
- CHECKBOX_SET_RULE( above, );
- CHECKBOX_SET_RULE( below, );
- CHECKBOX_SET_RULE( noborder, );
- CHECKBOX_SET_RULE( skiptaskbar, );
- CHECKBOX_SET_RULE( skippager, );
- CHECKBOX_FORCE_RULE( acceptfocus, );
- CHECKBOX_FORCE_RULE( closeable, );
- LINEEDIT_FORCE_RULE( opacityactive, intToStr );
- LINEEDIT_FORCE_RULE( opacityinactive, intToStr );
- LINEEDIT_SET_RULE( shortcut, );
- COMBOBOX_FORCE_RULE( fsplevel, );
- COMBOBOX_FORCE_RULE( moveresizemode, moveresizeToCombo );
- COMBOBOX_FORCE_RULE( type, typeToCombo );
- CHECKBOX_FORCE_RULE( ignoreposition, );
- LINEEDIT_FORCE_RULE( minsize, sizeToStr );
- LINEEDIT_FORCE_RULE( maxsize, sizeToStr );
- CHECKBOX_FORCE_RULE( strictgeometry, );
- CHECKBOX_FORCE_RULE( disableglobalshortcuts, );
- }
-
-#undef GENERIC_RULE
-#undef CHECKBOX_SET_RULE
-#undef LINEEDIT_SET_RULE
-#undef COMBOBOX_SET_RULE
-#undef CHECKBOX_FORCE_RULE
-#undef LINEEDIT_FORCE_RULE
-#undef COMBOBOX_FORCE_RULE
-
-#define GENERIC_RULE( var, func, Type, type, uimethod ) \
- if( enable_##var->isChecked()) \
- { \
- rules->var##rule = combo_to_##type##_rule[ rule_##var->currentItem() ]; \
- rules->var = func( var->uimethod()); \
- } \
- else \
- rules->var##rule = Rules::Unused##Type##Rule;
-
-#define CHECKBOX_SET_RULE( var, func ) GENERIC_RULE( var, func, Set, set, isChecked )
-#define LINEEDIT_SET_RULE( var, func ) GENERIC_RULE( var, func, Set, set, text )
-#define COMBOBOX_SET_RULE( var, func ) GENERIC_RULE( var, func, Set, set, currentItem )
-#define CHECKBOX_FORCE_RULE( var, func ) GENERIC_RULE( var, func, Force, force, isChecked )
-#define LINEEDIT_FORCE_RULE( var, func ) GENERIC_RULE( var, func, Force, force, text )
-#define COMBOBOX_FORCE_RULE( var, func ) GENERIC_RULE( var, func, Force, force, currentItem )
-
-Rules* RulesWidget::rules() const
- {
- Rules* rules = new Rules();
- rules->description = description->text();
- rules->wmclass = wmclass->text().utf8();
- rules->wmclasscomplete = whole_wmclass->isChecked();
- rules->wmclassmatch = static_cast< Rules::StringMatch >( wmclass_match->currentItem());
- rules->windowrole = role->text().utf8();
- rules->windowrolematch = static_cast< Rules::StringMatch >( role_match->currentItem());
- rules->types = 0;
- bool all_types = true;
- for( unsigned int i = 0;
- i < types->count();
- ++i )
- if( !types->isSelected( i ))
- all_types = false;
- if( all_types ) // if all types are selected, use AllTypesMask (for future expansion)
- rules->types = NET::AllTypesMask;
- else
- {
- rules->types |= types->isSelected( 0 ) ? NET::NormalMask : 0;
- rules->types |= types->isSelected( 1 ) ? NET::DialogMask : 0;
- rules->types |= types->isSelected( 2 ) ? NET::UtilityMask : 0;
- rules->types |= types->isSelected( 3 ) ? NET::DockMask : 0;
- rules->types |= types->isSelected( 4 ) ? NET::ToolbarMask : 0;
- rules->types |= types->isSelected( 5 ) ? NET::MenuMask : 0;
- rules->types |= types->isSelected( 6 ) ? NET::SplashMask : 0;
- rules->types |= types->isSelected( 7 ) ? NET::DesktopMask : 0;
- rules->types |= types->isSelected( 8 ) ? NET::OverrideMask : 0;
- rules->types |= types->isSelected( 9 ) ? NET::TopMenuMask : 0;
- }
- rules->title = title->text();
- rules->titlematch = static_cast< Rules::StringMatch >( title_match->currentItem());
- rules->extrarole = extra->text().utf8();
- rules->extrarolematch = static_cast< Rules::StringMatch >( extra_match->currentItem());
- rules->clientmachine = machine->text().utf8();
- rules->clientmachinematch = static_cast< Rules::StringMatch >( machine_match->currentItem());
- LINEEDIT_SET_RULE( position, strToPosition );
- LINEEDIT_SET_RULE( size, strToSize );
- COMBOBOX_SET_RULE( desktop, comboToDesktop );
- CHECKBOX_SET_RULE( maximizehoriz, );
- CHECKBOX_SET_RULE( maximizevert, );
- CHECKBOX_SET_RULE( minimize, );
- CHECKBOX_SET_RULE( shade, );
- CHECKBOX_SET_RULE( fullscreen, );
- COMBOBOX_FORCE_RULE( placement, comboToPlacement );
- CHECKBOX_SET_RULE( above, );
- CHECKBOX_SET_RULE( below, );
- CHECKBOX_SET_RULE( noborder, );
- CHECKBOX_SET_RULE( skiptaskbar, );
- CHECKBOX_SET_RULE( skippager, );
- CHECKBOX_FORCE_RULE( acceptfocus, );
- CHECKBOX_FORCE_RULE( closeable, );
- LINEEDIT_FORCE_RULE( opacityactive, strToInt );
- LINEEDIT_FORCE_RULE( opacityinactive, strToInt );
- LINEEDIT_SET_RULE( shortcut, );
- COMBOBOX_FORCE_RULE( fsplevel, );
- COMBOBOX_FORCE_RULE( moveresizemode, comboToMoveResize );
- COMBOBOX_FORCE_RULE( type, comboToType );
- CHECKBOX_FORCE_RULE( ignoreposition, );
- LINEEDIT_FORCE_RULE( minsize, strToSize );
- LINEEDIT_FORCE_RULE( maxsize, strToSize );
- CHECKBOX_FORCE_RULE( strictgeometry, );
- CHECKBOX_FORCE_RULE( disableglobalshortcuts, );
- return rules;
- }
-
-#undef GENERIC_RULE
-#undef CHECKBOX_SET_RULE
-#undef LINEEDIT_SET_RULE
-#undef COMBOBOX_SET_RULE
-#undef CHECKBOX_FORCE_RULE
-#undef LINEEDIT_FORCE_RULE
-#undef COMBOBOX_FORCE_RULE
-
-#define STRING_MATCH_COMBO( type ) \
-void RulesWidget::type##MatchChanged() \
- { \
- edit_reg_##type->setEnabled( type##_match->currentItem() == Rules::RegExpMatch ); \
- type->setEnabled( type##_match->currentItem() != Rules::UnimportantMatch ); \
- }
-
-STRING_MATCH_COMBO( wmclass )
-STRING_MATCH_COMBO( role )
-STRING_MATCH_COMBO( title )
-STRING_MATCH_COMBO( extra )
-STRING_MATCH_COMBO( machine )
-
-#undef STRING_MATCH_COMBO
-
-void RulesWidget::detectClicked()
- {
- assert( detect_dlg == NULL );
- detect_dlg = new DetectDialog;
- connect( detect_dlg, TQT_SIGNAL( detectionDone( bool )), this, TQT_SLOT( detected( bool )));
- detect_dlg->detect( 0 );
- }
-
-void RulesWidget::detected( bool ok )
- {
- if( ok )
- {
- wmclass->setText( detect_dlg->selectedClass());
- wmclass_match->setCurrentItem( Rules::ExactMatch );
- wmclassMatchChanged(); // grrr
- whole_wmclass->setChecked( detect_dlg->selectedWholeClass());
- role->setText( detect_dlg->selectedRole());
- role_match->setCurrentItem( detect_dlg->selectedRole().isEmpty()
- ? Rules::UnimportantMatch : Rules::ExactMatch );
- roleMatchChanged();
- if( detect_dlg->selectedWholeApp())
- {
- for( unsigned int i = 0;
- i < types->count();
- ++i )
- types->setSelected( i, true );
- }
- else
- {
- NET::WindowType type = detect_dlg->selectedType();
- for( unsigned int i = 0;
- i < types->count();
- ++i )
- types->setSelected( i, false );
- types->setSelected( typeToCombo( type ), true );
- }
- title->setText( detect_dlg->selectedTitle());
- title_match->setCurrentItem( detect_dlg->titleMatch());
- titleMatchChanged();
- machine->setText( detect_dlg->selectedMachine());
- machine_match->setCurrentItem( Rules::UnimportantMatch );
- machineMatchChanged();
- // prefill values from to window to settings which already set
- const KWin::WindowInfo& info = detect_dlg->windowInfo();
- prefillUnusedValues( info );
- }
- delete detect_dlg;
- detect_dlg = NULL;
- detect_dlg_ok = ok;
- }
-
-#define GENERIC_PREFILL( var, func, info, uimethod ) \
- if( !enable_##var->isChecked()) \
- { \
- var->uimethod( func( info )); \
- }
-
-#define CHECKBOX_PREFILL( var, func, info ) GENERIC_PREFILL( var, func, info, setChecked )
-#define LINEEDIT_PREFILL( var, func, info ) GENERIC_PREFILL( var, func, info, setText )
-#define COMBOBOX_PREFILL( var, func, info ) GENERIC_PREFILL( var, func, info, setCurrentItem )
-
-void RulesWidget::prefillUnusedValues( const KWin::WindowInfo& info )
- {
- LINEEDIT_PREFILL( position, positionToStr, info.frameGeometry().topLeft() );
- LINEEDIT_PREFILL( size, sizeToStr, info.frameGeometry().size() );
- COMBOBOX_PREFILL( desktop, desktopToCombo, info.desktop() );
- CHECKBOX_PREFILL( maximizehoriz,, info.state() & NET::MaxHoriz );
- CHECKBOX_PREFILL( maximizevert,, info.state() & NET::MaxVert );
- CHECKBOX_PREFILL( minimize,, info.isMinimized() );
- CHECKBOX_PREFILL( shade,, info.state() & NET::Shaded );
- CHECKBOX_PREFILL( fullscreen,, info.state() & NET::FullScreen );
- //COMBOBOX_PREFILL( placement, placementToCombo );
- CHECKBOX_PREFILL( above,, info.state() & NET::KeepAbove );
- CHECKBOX_PREFILL( below,, info.state() & NET::KeepBelow );
- // noborder is only internal KWin information, so let's guess
- CHECKBOX_PREFILL( noborder,, info.frameGeometry() == info.geometry() );
- CHECKBOX_PREFILL( skiptaskbar,, info.state() & NET::SkipTaskbar );
- CHECKBOX_PREFILL( skippager,, info.state() & NET::SkipPager );
- //CHECKBOX_PREFILL( acceptfocus, );
- //CHECKBOX_PREFILL( closeable, );
- LINEEDIT_PREFILL( opacityactive, intToStr, 100 /*get the actual opacity somehow*/);
- LINEEDIT_PREFILL( opacityinactive, intToStr, 100 /*get the actual opacity somehow*/);
- //LINEEDIT_PREFILL( shortcut, );
- //COMBOBOX_PREFILL( fsplevel, );
- //COMBOBOX_PREFILL( moveresizemode, moveresizeToCombo );
- COMBOBOX_PREFILL( type, typeToCombo, info.windowType( SUPPORTED_WINDOW_TYPES_MASK ) );
- //CHECKBOX_PREFILL( ignoreposition, );
- LINEEDIT_PREFILL( minsize, sizeToStr, info.frameGeometry().size() );
- LINEEDIT_PREFILL( maxsize, sizeToStr, info.frameGeometry().size() );
- //CHECKBOX_PREFILL( strictgeometry, );
- //CHECKBOX_PREFILL( disableglobalshortcuts, );
- }
-
-#undef GENERIC_PREFILL
-#undef CHECKBOX_PREFILL
-#undef LINEEDIT_PREFILL
-#undef COMBOBOX_PREFILL
-
-bool RulesWidget::finalCheck()
- {
- if( description->text().isEmpty())
- {
- if( !wmclass->text().isEmpty())
- description->setText( i18n( "Settings for %1" ).arg( wmclass->text()));
- else
- description->setText( i18n( "Unnamed entry" ));
- }
- bool all_types = true;
- for( unsigned int i = 0;
- i < types->count();
- ++i )
- if( !types->isSelected( i ))
- all_types = false;
- if( wmclass_match->currentItem() == Rules::UnimportantMatch && all_types )
- {
- if( KMessageBox::warningContinueCancel( tqtopLevelWidget(),
- i18n( "You have specified the window class as unimportant.\n"
- "This means the settings will possibly apply to windows from all applications. "
- "If you really want to create a generic setting, it is recommended you at least "
- "limit the window types to avoid special window types." )) != KMessageBox::Continue )
- return false;
- }
- return true;
- }
-
-void RulesWidget::prepareWindowSpecific( WId window )
- {
- tabs->setCurrentPage( 2 ); // geometry tab, skip tabs for window identification
- KWin::WindowInfo info( window, -1U, -1U ); // read everything
- prefillUnusedValues( info );
- }
-
-void RulesWidget::shortcutEditClicked()
- {
- EditShortcutDialog dlg( tqtopLevelWidget());
- dlg.setShortcut( shortcut->text());
- if( dlg.exec() == TQDialog::Accepted )
- shortcut->setText( dlg.shortcut());
- }
-
-RulesDialog::RulesDialog( TQWidget* parent, const char* name )
-: KDialogBase( parent, name, true, i18n( "Edit Window-Specific Settings" ), Ok | Cancel )
- {
- widget = new RulesWidget( this );
- setMainWidget( widget );
- }
-
-// window is set only for Alt+F3/Window-specific settings, because the dialog
-// is then related to one specific window
-Rules* RulesDialog::edit( Rules* r, WId window, bool show_hints )
- {
- rules = r;
- widget->setRules( rules );
- if( window != 0 )
- widget->prepareWindowSpecific( window );
- if( show_hints )
- TQTimer::singleShot( 0, this, TQT_SLOT( displayHints()));
- exec();
- return rules;
- }
-
-void RulesDialog::displayHints()
- {
- TQString str = "<qt><p>";
- str += i18n( "This configuration dialog allows altering settings only for the selected window"
- " or application. Find the setting you want to affect, enable the setting using the checkbox,"
- " select in what way the setting should be affected and to which value." );
-#if 0 // maybe later
- str += "</p><p>" + i18n( "Consult the documentation for more details." );
-#endif
- str += "</p></qt>";
- KMessageBox::information( this, str, TQString::null, "displayhints" );
- }
-
-void RulesDialog::accept()
- {
- if( !widget->finalCheck())
- return;
- rules = widget->rules();
- KDialogBase::accept();
- }
-
-EditShortcut::EditShortcut( TQWidget* parent, const char* name )
-: EditShortcutBase( parent, name )
- {
- }
-
-void EditShortcut::editShortcut()
- {
- ShortcutDialog dlg( KShortcut( shortcut->text()), tqtopLevelWidget());
- if( dlg.exec() == TQDialog::Accepted )
- shortcut->setText( dlg.shortcut().toString());
- }
-
-void EditShortcut::clearShortcut()
- {
- shortcut->setText( "" );
- }
-
-EditShortcutDialog::EditShortcutDialog( TQWidget* parent, const char* name )
-: KDialogBase( parent, name, true, i18n( "Edit Shortcut" ), Ok | Cancel )
- {
- widget = new EditShortcut( this );
- setMainWidget( widget );
- }
-
-void EditShortcutDialog::setShortcut( const TQString& cut )
- {
- widget->shortcut->setText( cut );
- }
-
-TQString EditShortcutDialog::shortcut() const
- {
- return widget->shortcut->text();
- }
-
-ShortcutDialog::ShortcutDialog( const KShortcut& cut, TQWidget* parent, const char* name )
- : KShortcutDialog( cut, false /*TODO???*/, parent, name )
- {
- }
-
-void ShortcutDialog::accept()
- {
- for( int i = 0;
- ;
- ++i )
- {
- KKeySequence seq = shortcut().seq( i );
- if( seq.isNull())
- break;
- if( seq.key( 0 ) == Key_Escape )
- {
- reject();
- return;
- }
- if( seq.key( 0 ) == Key_Space )
- { // clear
- setShortcut( KShortcut());
- KShortcutDialog::accept();
- return;
- }
- if( seq.key( 0 ).modFlags() == 0 )
- { // no shortcuts without modifiers
- KShortcut cut = shortcut();
- cut.setSeq( i, KKeySequence());
- setShortcut( cut );
- return;
- }
- }
- KShortcutDialog::accept();
- }
-
-} // namespace
-
-#include "ruleswidget.moc"
diff --git a/kwin/kcmkwin/kwinrules/ruleswidget.h b/kwin/kcmkwin/kwinrules/ruleswidget.h
deleted file mode 100644
index 2a9b0d036..000000000
--- a/kwin/kcmkwin/kwinrules/ruleswidget.h
+++ /dev/null
@@ -1,148 +0,0 @@
-/*
- * Copyright (c) 2004 Lubos Lunak <l.lunak@kde.org>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- */
-
-
-#ifndef __RULESWIDGET_H__
-#define __RULESWIDGET_H__
-
-#include <kdialogbase.h>
-#include <twin.h>
-#include <kshortcutdialog.h>
-
-#include "ruleswidgetbase.h"
-#include "editshortcutbase.h"
-
-namespace KWinInternal
-{
-
-class Rules;
-class DetectDialog;
-
-class RulesWidget
- : public RulesWidgetBase
- {
- Q_OBJECT
- public:
- RulesWidget( TQWidget* parent = NULL, const char* name = NULL );
- void setRules( Rules* r );
- Rules* rules() const;
- bool finalCheck();
- void prepareWindowSpecific( WId window );
- signals:
- void changed( bool state );
- protected slots:
- virtual void detectClicked();
- virtual void wmclassMatchChanged();
- virtual void roleMatchChanged();
- virtual void titleMatchChanged();
- virtual void extraMatchChanged();
- virtual void machineMatchChanged();
- virtual void shortcutEditClicked();
- private slots:
- // geometry tab
- void updateEnableposition();
- void updateEnablesize();
- void updateEnabledesktop();
- void updateEnablemaximizehoriz();
- void updateEnablemaximizevert();
- void updateEnableminimize();
- void updateEnableshade();
- void updateEnablefullscreen();
- void updateEnableplacement();
- // preferences tab
- void updateEnableabove();
- void updateEnablebelow();
- void updateEnablenoborder();
- void updateEnableskiptaskbar();
- void updateEnableskippager();
- void updateEnableacceptfocus();
- void updateEnablecloseable();
- void updateEnableopacityactive();
- void updateEnableopacityinactive();
- // workarounds tab
- void updateEnablefsplevel();
- void updateEnablemoveresizemode();
- void updateEnabletype();
- void updateEnableignoreposition();
- void updateEnableminsize();
- void updateEnablemaxsize();
- void updateEnablestrictgeometry();
- void updateEnableshortcut();
- void updateEnabledisableglobalshortcuts();
- // internal
- void detected( bool );
- private:
- int desktopToCombo( int d ) const;
- int comboToDesktop( int val ) const;
- void prefillUnusedValues( const KWin::WindowInfo& info );
- DetectDialog* detect_dlg;
- bool detect_dlg_ok;
- };
-
-class RulesDialog
- : public KDialogBase
- {
- Q_OBJECT
- public:
- RulesDialog( TQWidget* parent = NULL, const char* name = NULL );
- Rules* edit( Rules* r, WId window, bool show_hints );
- protected:
- virtual void accept();
- private slots:
- void displayHints();
- private:
- RulesWidget* widget;
- Rules* rules;
- };
-
-class EditShortcut
- : public EditShortcutBase
- {
- Q_OBJECT
- public:
- EditShortcut( TQWidget* parent = NULL, const char* name = NULL );
- protected:
- void editShortcut();
- void clearShortcut();
- };
-
-class EditShortcutDialog
- : public KDialogBase
- {
- Q_OBJECT
- public:
- EditShortcutDialog( TQWidget* parent = NULL, const char* name = NULL );
- void setShortcut( const TQString& cut );
- TQString shortcut() const;
- private:
- EditShortcut* widget;
- };
-
-// slightly duped from utils.cpp
-class ShortcutDialog
- : public KShortcutDialog
- {
- Q_OBJECT
- public:
- ShortcutDialog( const KShortcut& cut, TQWidget* parent = NULL, const char* name = NULL );
- virtual void accept();
- };
-
-} // namespace
-
-#endif
diff --git a/kwin/kcmkwin/kwinrules/ruleswidgetbase.ui b/kwin/kcmkwin/kwinrules/ruleswidgetbase.ui
deleted file mode 100644
index 5a5640ca2..000000000
--- a/kwin/kcmkwin/kwinrules/ruleswidgetbase.ui
+++ /dev/null
@@ -1,2597 +0,0 @@
-<!DOCTYPE UI><UI version="3.3" stdsetdef="1">
-<class>KWinInternal::RulesWidgetBase</class>
-<widget class="TQWidget">
- <property name="name">
- <cstring>Form2</cstring>
- </property>
- <property name="geometry">
- <rect>
- <x>0</x>
- <y>0</y>
- <width>630</width>
- <height>503</height>
- </rect>
- </property>
- <vbox>
- <property name="name">
- <cstring>unnamed</cstring>
- </property>
- <property name="margin">
- <number>0</number>
- </property>
- <widget class="TQTabWidget">
- <property name="name">
- <cstring>tabs</cstring>
- </property>
- <widget class="TQWidget">
- <property name="name">
- <cstring>tab</cstring>
- </property>
- <attribute name="title">
- <string>&amp;Window</string>
- </attribute>
- <grid>
- <property name="name">
- <cstring>unnamed</cstring>
- </property>
- <widget class="TQLabel" row="0" column="0" rowspan="1" colspan="5">
- <property name="name">
- <cstring>textLabel1</cstring>
- </property>
- <property name="text">
- <string>De&amp;scription:</string>
- </property>
- <property name="buddy" stdset="0">
- <cstring>description</cstring>
- </property>
- </widget>
- <widget class="KLineEdit" row="1" column="0" rowspan="1" colspan="5">
- <property name="name">
- <cstring>description</cstring>
- </property>
- </widget>
- <widget class="TQLabel" row="2" column="0" rowspan="1" colspan="5">
- <property name="name">
- <cstring>textLabel2</cstring>
- </property>
- <property name="text">
- <string>Window &amp;class (application type):</string>
- </property>
- <property name="buddy" stdset="0">
- <cstring>wmclass</cstring>
- </property>
- </widget>
- <widget class="TQLabel" row="5" column="0" rowspan="1" colspan="5">
- <property name="name">
- <cstring>textLabel3</cstring>
- </property>
- <property name="text">
- <string>Window &amp;role:</string>
- </property>
- <property name="buddy" stdset="0">
- <cstring>role</cstring>
- </property>
- </widget>
- <widget class="KLineEdit" row="6" column="0" rowspan="1" colspan="5">
- <property name="name">
- <cstring>role</cstring>
- </property>
- </widget>
- <spacer row="9" column="1">
- <property name="name">
- <cstring>spacer29</cstring>
- </property>
- <property name="orientation">
- <enum>Vertical</enum>
- </property>
- <property name="sizeType">
- <enum>Expanding</enum>
- </property>
- <property name="tqsizeHint">
- <size>
- <width>20</width>
- <height>40</height>
- </size>
- </property>
- </spacer>
- <widget class="KComboBox" row="7" column="0">
- <item>
- <property name="text">
- <string>Unimportant</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string>Exact Match</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string>Substring Match</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string>Regular Expression</string>
- </property>
- </item>
- <property name="name">
- <cstring>role_match</cstring>
- </property>
- </widget>
- <spacer row="7" column="1">
- <property name="name">
- <cstring>spacer1</cstring>
- </property>
- <property name="orientation">
- <enum>Horizontal</enum>
- </property>
- <property name="sizeType">
- <enum>Expanding</enum>
- </property>
- <property name="tqsizeHint">
- <size>
- <width>212</width>
- <height>20</height>
- </size>
- </property>
- </spacer>
- <widget class="KPushButton" row="7" column="2">
- <property name="name">
- <cstring>edit_reg_role</cstring>
- </property>
- <property name="enabled">
- <bool>false</bool>
- </property>
- <property name="text">
- <string>Edit</string>
- </property>
- </widget>
- <spacer row="7" column="3" rowspan="1" colspan="2">
- <property name="name">
- <cstring>spacer4</cstring>
- </property>
- <property name="orientation">
- <enum>Horizontal</enum>
- </property>
- <property name="sizeType">
- <enum>Expanding</enum>
- </property>
- <property name="tqsizeHint">
- <size>
- <width>211</width>
- <height>20</height>
- </size>
- </property>
- </spacer>
- <widget class="KComboBox" row="4" column="0">
- <item>
- <property name="text">
- <string>Unimportant</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string>Exact Match</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string>Substring Match</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string>Regular Expression</string>
- </property>
- </item>
- <property name="name">
- <cstring>wmclass_match</cstring>
- </property>
- </widget>
- <spacer row="4" column="1">
- <property name="name">
- <cstring>spacer2</cstring>
- </property>
- <property name="orientation">
- <enum>Horizontal</enum>
- </property>
- <property name="sizeType">
- <enum>Expanding</enum>
- </property>
- <property name="tqsizeHint">
- <size>
- <width>212</width>
- <height>20</height>
- </size>
- </property>
- </spacer>
- <widget class="KPushButton" row="4" column="2">
- <property name="name">
- <cstring>edit_reg_wmclass</cstring>
- </property>
- <property name="enabled">
- <bool>false</bool>
- </property>
- <property name="text">
- <string>Edit</string>
- </property>
- <property name="accel">
- <string></string>
- </property>
- </widget>
- <spacer row="4" column="3" rowspan="1" colspan="2">
- <property name="name">
- <cstring>spacer5</cstring>
- </property>
- <property name="orientation">
- <enum>Horizontal</enum>
- </property>
- <property name="sizeType">
- <enum>Expanding</enum>
- </property>
- <property name="tqsizeHint">
- <size>
- <width>211</width>
- <height>20</height>
- </size>
- </property>
- </spacer>
- <widget class="KLineEdit" row="3" column="0" rowspan="1" colspan="4">
- <property name="name">
- <cstring>wmclass</cstring>
- </property>
- </widget>
- <widget class="TQCheckBox" row="3" column="4">
- <property name="name">
- <cstring>whole_wmclass</cstring>
- </property>
- <property name="text">
- <string>Match w&amp;hole window class</string>
- </property>
- </widget>
- <widget class="TQGroupBox" row="8" column="0" rowspan="1" colspan="5">
- <property name="name">
- <cstring>groupBox1</cstring>
- </property>
- <property name="title">
- <string>Detect Window Properties</string>
- </property>
- <hbox>
- <property name="name">
- <cstring>unnamed</cstring>
- </property>
- <spacer>
- <property name="name">
- <cstring>spacer27</cstring>
- </property>
- <property name="orientation">
- <enum>Horizontal</enum>
- </property>
- <property name="sizeType">
- <enum>Expanding</enum>
- </property>
- <property name="tqsizeHint">
- <size>
- <width>270</width>
- <height>20</height>
- </size>
- </property>
- </spacer>
- <widget class="KPushButton">
- <property name="name">
- <cstring>detect1</cstring>
- </property>
- <property name="text">
- <string>&amp;Detect</string>
- </property>
- </widget>
- <spacer>
- <property name="name">
- <cstring>spacer28</cstring>
- </property>
- <property name="orientation">
- <enum>Horizontal</enum>
- </property>
- <property name="sizeType">
- <enum>Expanding</enum>
- </property>
- <property name="tqsizeHint">
- <size>
- <width>269</width>
- <height>20</height>
- </size>
- </property>
- </spacer>
- </hbox>
- </widget>
- </grid>
- </widget>
- <widget class="TQWidget">
- <property name="name">
- <cstring>tab</cstring>
- </property>
- <attribute name="title">
- <string>Window &amp;Extra</string>
- </attribute>
- <grid>
- <property name="name">
- <cstring>unnamed</cstring>
- </property>
- <widget class="TQLabel" row="0" column="0" rowspan="1" colspan="4">
- <property name="name">
- <cstring>textLabel4</cstring>
- </property>
- <property name="text">
- <string>Window &amp;types:</string>
- </property>
- <property name="buddy" stdset="0">
- <cstring>types</cstring>
- </property>
- </widget>
- <widget class="KListBox" row="1" column="0" rowspan="1" colspan="4">
- <item>
- <property name="text">
- <string>Normal Window</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string>Dialog Window</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string>Utility Window</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string>Dock (panel)</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string>Toolbar</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string>Torn-Off Menu</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string>Splash Screen</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string>Desktop</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string>Override Type</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string>Standalone Menubar</string>
- </property>
- </item>
- <property name="name">
- <cstring>types</cstring>
- </property>
- <property name="selectionMode">
- <enum>Multi</enum>
- </property>
- </widget>
- <widget class="TQLabel" row="2" column="0" rowspan="1" colspan="4">
- <property name="name">
- <cstring>textLabel5</cstring>
- </property>
- <property name="text">
- <string>Window t&amp;itle:</string>
- </property>
- <property name="buddy" stdset="0">
- <cstring>title</cstring>
- </property>
- </widget>
- <widget class="KLineEdit" row="3" column="0" rowspan="1" colspan="4">
- <property name="name">
- <cstring>title</cstring>
- </property>
- </widget>
- <widget class="TQLabel" row="5" column="0" rowspan="1" colspan="4">
- <property name="name">
- <cstring>textLabel6</cstring>
- </property>
- <property name="text">
- <string>Extra role:</string>
- </property>
- <property name="buddy" stdset="0">
- <cstring>extra</cstring>
- </property>
- </widget>
- <widget class="KLineEdit" row="6" column="0" rowspan="1" colspan="4">
- <property name="name">
- <cstring>extra</cstring>
- </property>
- </widget>
- <widget class="TQLabel" row="8" column="0" rowspan="1" colspan="4">
- <property name="name">
- <cstring>textLabel7</cstring>
- </property>
- <property name="text">
- <string>&amp;Machine (hostname):</string>
- </property>
- <property name="buddy" stdset="0">
- <cstring>machine</cstring>
- </property>
- </widget>
- <widget class="KLineEdit" row="9" column="0" rowspan="1" colspan="4">
- <property name="name">
- <cstring>machine</cstring>
- </property>
- </widget>
- <widget class="KComboBox" row="4" column="0">
- <item>
- <property name="text">
- <string>Unimportant</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string>Exact Match</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string>Substring Match</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string>Regular Expression</string>
- </property>
- </item>
- <property name="name">
- <cstring>title_match</cstring>
- </property>
- </widget>
- <spacer row="4" column="1">
- <property name="name">
- <cstring>spacer2_2</cstring>
- </property>
- <property name="orientation">
- <enum>Horizontal</enum>
- </property>
- <property name="sizeType">
- <enum>Expanding</enum>
- </property>
- <property name="tqsizeHint">
- <size>
- <width>199</width>
- <height>20</height>
- </size>
- </property>
- </spacer>
- <widget class="KPushButton" row="4" column="2">
- <property name="name">
- <cstring>edit_reg_title</cstring>
- </property>
- <property name="enabled">
- <bool>false</bool>
- </property>
- <property name="text">
- <string>Edit</string>
- </property>
- <property name="accel">
- <string></string>
- </property>
- </widget>
- <spacer row="4" column="3">
- <property name="name">
- <cstring>spacer5_2</cstring>
- </property>
- <property name="orientation">
- <enum>Horizontal</enum>
- </property>
- <property name="sizeType">
- <enum>Expanding</enum>
- </property>
- <property name="tqsizeHint">
- <size>
- <width>199</width>
- <height>20</height>
- </size>
- </property>
- </spacer>
- <widget class="KComboBox" row="7" column="0">
- <item>
- <property name="text">
- <string>Unimportant</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string>Exact Match</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string>Substring Match</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string>Regular Expression</string>
- </property>
- </item>
- <property name="name">
- <cstring>extra_match</cstring>
- </property>
- </widget>
- <spacer row="7" column="1">
- <property name="name">
- <cstring>spacer2_2_2</cstring>
- </property>
- <property name="orientation">
- <enum>Horizontal</enum>
- </property>
- <property name="sizeType">
- <enum>Expanding</enum>
- </property>
- <property name="tqsizeHint">
- <size>
- <width>199</width>
- <height>20</height>
- </size>
- </property>
- </spacer>
- <widget class="KPushButton" row="7" column="2">
- <property name="name">
- <cstring>edit_reg_extra</cstring>
- </property>
- <property name="enabled">
- <bool>false</bool>
- </property>
- <property name="text">
- <string>Edit</string>
- </property>
- <property name="accel">
- <string></string>
- </property>
- </widget>
- <spacer row="7" column="3">
- <property name="name">
- <cstring>spacer5_2_2</cstring>
- </property>
- <property name="orientation">
- <enum>Horizontal</enum>
- </property>
- <property name="sizeType">
- <enum>Expanding</enum>
- </property>
- <property name="tqsizeHint">
- <size>
- <width>199</width>
- <height>20</height>
- </size>
- </property>
- </spacer>
- <widget class="KComboBox" row="10" column="0">
- <item>
- <property name="text">
- <string>Unimportant</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string>Exact Match</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string>Substring Match</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string>Regular Expression</string>
- </property>
- </item>
- <property name="name">
- <cstring>machine_match</cstring>
- </property>
- </widget>
- <spacer row="10" column="1">
- <property name="name">
- <cstring>spacer2_2_3</cstring>
- </property>
- <property name="orientation">
- <enum>Horizontal</enum>
- </property>
- <property name="sizeType">
- <enum>Expanding</enum>
- </property>
- <property name="tqsizeHint">
- <size>
- <width>199</width>
- <height>20</height>
- </size>
- </property>
- </spacer>
- <widget class="KPushButton" row="10" column="2">
- <property name="name">
- <cstring>edit_reg_machine</cstring>
- </property>
- <property name="enabled">
- <bool>false</bool>
- </property>
- <property name="text">
- <string>Edit</string>
- </property>
- <property name="accel">
- <string></string>
- </property>
- </widget>
- <spacer row="10" column="3">
- <property name="name">
- <cstring>spacer5_2_3</cstring>
- </property>
- <property name="orientation">
- <enum>Horizontal</enum>
- </property>
- <property name="sizeType">
- <enum>Expanding</enum>
- </property>
- <property name="tqsizeHint">
- <size>
- <width>199</width>
- <height>20</height>
- </size>
- </property>
- </spacer>
- </grid>
- </widget>
- <widget class="TQWidget">
- <property name="name">
- <cstring>TabPage</cstring>
- </property>
- <attribute name="title">
- <string>&amp;Geometry</string>
- </attribute>
- <grid>
- <property name="name">
- <cstring>unnamed</cstring>
- </property>
- <widget class="KComboBox" row="1" column="1">
- <item>
- <property name="text">
- <string>Do Not Affect</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string>Apply Initially</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string>Remember</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string>Force</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string>Apply Now</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string>Force Temporarily</string>
- </property>
- </item>
- <property name="name">
- <cstring>rule_size</cstring>
- </property>
- <property name="enabled">
- <bool>false</bool>
- </property>
- </widget>
- <widget class="KRestrictedLine" row="1" column="2">
- <property name="name">
- <cstring>size</cstring>
- </property>
- <property name="enabled">
- <bool>false</bool>
- </property>
- <property name="validChars">
- <string>0123456789-+,xX:</string>
- </property>
- </widget>
- <widget class="TQCheckBox" row="1" column="0">
- <property name="name">
- <cstring>enable_size</cstring>
- </property>
- <property name="text">
- <string>&amp;Size</string>
- </property>
- </widget>
- <widget class="TQCheckBox" row="0" column="0">
- <property name="name">
- <cstring>enable_position</cstring>
- </property>
- <property name="text">
- <string>&amp;Position</string>
- </property>
- </widget>
- <widget class="KRestrictedLine" row="0" column="2">
- <property name="name">
- <cstring>position</cstring>
- </property>
- <property name="enabled">
- <bool>false</bool>
- </property>
- <property name="validChars">
- <string>0123456789-+,xX:</string>
- </property>
- </widget>
- <widget class="KComboBox" row="0" column="1">
- <item>
- <property name="text">
- <string>Do Not Affect</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string>Apply Initially</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string>Remember</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string>Force</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string>Apply Now</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string>Force Temporarily</string>
- </property>
- </item>
- <property name="name">
- <cstring>rule_position</cstring>
- </property>
- <property name="enabled">
- <bool>false</bool>
- </property>
- </widget>
- <widget class="TQCheckBox" row="3" column="2">
- <property name="name">
- <cstring>maximizevert</cstring>
- </property>
- <property name="enabled">
- <bool>false</bool>
- </property>
- <property name="text">
- <string></string>
- </property>
- </widget>
- <widget class="KComboBox" row="2" column="1">
- <item>
- <property name="text">
- <string>Do Not Affect</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string>Apply Initially</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string>Remember</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string>Force</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string>Apply Now</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string>Force Temporarily</string>
- </property>
- </item>
- <property name="name">
- <cstring>rule_maximizehoriz</cstring>
- </property>
- <property name="enabled">
- <bool>false</bool>
- </property>
- </widget>
- <widget class="TQCheckBox" row="4" column="2">
- <property name="name">
- <cstring>fullscreen</cstring>
- </property>
- <property name="enabled">
- <bool>false</bool>
- </property>
- <property name="text">
- <string></string>
- </property>
- </widget>
- <widget class="TQCheckBox" row="2" column="0">
- <property name="name">
- <cstring>enable_maximizehoriz</cstring>
- </property>
- <property name="text">
- <string>Maximized &amp;horizontally</string>
- </property>
- </widget>
- <widget class="TQCheckBox" row="2" column="2">
- <property name="name">
- <cstring>maximizehoriz</cstring>
- </property>
- <property name="enabled">
- <bool>false</bool>
- </property>
- <property name="text">
- <string></string>
- </property>
- </widget>
- <widget class="KComboBox" row="4" column="1">
- <item>
- <property name="text">
- <string>Do Not Affect</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string>Apply Initially</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string>Remember</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string>Force</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string>Apply Now</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string>Force Temporarily</string>
- </property>
- </item>
- <property name="name">
- <cstring>rule_fullscreen</cstring>
- </property>
- <property name="enabled">
- <bool>false</bool>
- </property>
- </widget>
- <widget class="TQCheckBox" row="4" column="0">
- <property name="name">
- <cstring>enable_fullscreen</cstring>
- </property>
- <property name="text">
- <string>&amp;Fullscreen</string>
- </property>
- </widget>
- <widget class="KComboBox" row="3" column="1">
- <item>
- <property name="text">
- <string>Do Not Affect</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string>Apply Initially</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string>Remember</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string>Force</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string>Apply Now</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string>Force Temporarily</string>
- </property>
- </item>
- <property name="name">
- <cstring>rule_maximizevert</cstring>
- </property>
- <property name="enabled">
- <bool>false</bool>
- </property>
- </widget>
- <widget class="TQCheckBox" row="3" column="0">
- <property name="name">
- <cstring>enable_maximizevert</cstring>
- </property>
- <property name="text">
- <string>Maximized &amp;vertically</string>
- </property>
- </widget>
- <widget class="KComboBox" row="5" column="1">
- <item>
- <property name="text">
- <string>Do Not Affect</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string>Apply Initially</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string>Remember</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string>Force</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string>Apply Now</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string>Force Temporarily</string>
- </property>
- </item>
- <property name="name">
- <cstring>rule_desktop</cstring>
- </property>
- <property name="enabled">
- <bool>false</bool>
- </property>
- </widget>
- <widget class="KComboBox" row="5" column="2">
- <property name="name">
- <cstring>desktop</cstring>
- </property>
- <property name="enabled">
- <bool>false</bool>
- </property>
- </widget>
- <widget class="TQCheckBox" row="5" column="0">
- <property name="name">
- <cstring>enable_desktop</cstring>
- </property>
- <property name="text">
- <string>&amp;Desktop</string>
- </property>
- </widget>
- <widget class="TQCheckBox" row="7" column="0">
- <property name="name">
- <cstring>enable_shade</cstring>
- </property>
- <property name="text">
- <string>Sh&amp;aded</string>
- </property>
- </widget>
- <widget class="TQCheckBox" row="7" column="2">
- <property name="name">
- <cstring>shade</cstring>
- </property>
- <property name="enabled">
- <bool>false</bool>
- </property>
- <property name="text">
- <string></string>
- </property>
- </widget>
- <widget class="KComboBox" row="6" column="1">
- <item>
- <property name="text">
- <string>Do Not Affect</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string>Apply Initially</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string>Remember</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string>Force</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string>Apply Now</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string>Force Temporarily</string>
- </property>
- </item>
- <property name="name">
- <cstring>rule_minimize</cstring>
- </property>
- <property name="enabled">
- <bool>false</bool>
- </property>
- </widget>
- <widget class="TQCheckBox" row="6" column="2">
- <property name="name">
- <cstring>minimize</cstring>
- </property>
- <property name="enabled">
- <bool>false</bool>
- </property>
- <property name="text">
- <string></string>
- </property>
- </widget>
- <widget class="TQCheckBox" row="6" column="0">
- <property name="name">
- <cstring>enable_minimize</cstring>
- </property>
- <property name="text">
- <string>M&amp;inimized</string>
- </property>
- </widget>
- <widget class="KComboBox" row="8" column="1">
- <item>
- <property name="text">
- <string>Do Not Affect</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string>Force</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string>Force Temporarily</string>
- </property>
- </item>
- <property name="name">
- <cstring>rule_placement</cstring>
- </property>
- <property name="enabled">
- <bool>false</bool>
- </property>
- </widget>
- <widget class="KComboBox" row="8" column="2">
- <item>
- <property name="text">
- <string>Default</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string>No Placement</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string>Smart</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string>Maximizing</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string>Cascade</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string>Centered</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string>Random</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string>Top-Left Corner</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string>Under Mouse</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string>On Main Window</string>
- </property>
- </item>
- <property name="name">
- <cstring>placement</cstring>
- </property>
- <property name="enabled">
- <bool>false</bool>
- </property>
- </widget>
- <widget class="TQCheckBox" row="8" column="0">
- <property name="name">
- <cstring>enable_placement</cstring>
- </property>
- <property name="text">
- <string>P&amp;lacement</string>
- </property>
- </widget>
- <spacer row="9" column="1">
- <property name="name">
- <cstring>spacer31</cstring>
- </property>
- <property name="orientation">
- <enum>Vertical</enum>
- </property>
- <property name="sizeType">
- <enum>Expanding</enum>
- </property>
- <property name="tqsizeHint">
- <size>
- <width>20</width>
- <height>16</height>
- </size>
- </property>
- </spacer>
- <widget class="KComboBox" row="7" column="1">
- <item>
- <property name="text">
- <string>Do Not Affect</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string>Apply Initially</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string>Remember</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string>Force</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string>Apply Now</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string>Force Temporarily</string>
- </property>
- </item>
- <property name="name">
- <cstring>rule_shade</cstring>
- </property>
- <property name="enabled">
- <bool>false</bool>
- </property>
- </widget>
- </grid>
- </widget>
- <widget class="TQWidget">
- <property name="name">
- <cstring>TabPage</cstring>
- </property>
- <attribute name="title">
- <string>&amp;Preferences</string>
- </attribute>
- <grid>
- <property name="name">
- <cstring>unnamed</cstring>
- </property>
- <widget class="TQCheckBox" row="0" column="0">
- <property name="name">
- <cstring>enable_above</cstring>
- </property>
- <property name="text">
- <string>Keep &amp;above</string>
- </property>
- </widget>
- <widget class="TQCheckBox" row="1" column="0">
- <property name="name">
- <cstring>enable_below</cstring>
- </property>
- <property name="text">
- <string>Keep &amp;below</string>
- </property>
- </widget>
- <widget class="TQCheckBox" row="4" column="0">
- <property name="name">
- <cstring>enable_skippager</cstring>
- </property>
- <property name="text">
- <string>Skip pa&amp;ger</string>
- </property>
- </widget>
- <widget class="TQCheckBox" row="3" column="0">
- <property name="name">
- <cstring>enable_skiptaskbar</cstring>
- </property>
- <property name="text">
- <string>Skip &amp;taskbar</string>
- </property>
- </widget>
- <widget class="TQCheckBox" row="2" column="0">
- <property name="name">
- <cstring>enable_noborder</cstring>
- </property>
- <property name="text">
- <string>&amp;No border</string>
- </property>
- </widget>
- <widget class="TQCheckBox" row="5" column="0">
- <property name="name">
- <cstring>enable_acceptfocus</cstring>
- </property>
- <property name="text">
- <string>Accept &amp;focus</string>
- </property>
- </widget>
- <widget class="TQCheckBox" row="6" column="0">
- <property name="name">
- <cstring>enable_closeable</cstring>
- </property>
- <property name="text">
- <string>&amp;Closeable</string>
- </property>
- </widget>
- <widget class="TQCheckBox" row="7" column="0">
- <property name="name">
- <cstring>enable_opacityactive</cstring>
- </property>
- <property name="text">
- <string>A&amp;ctive opacity in %</string>
- </property>
- </widget>
- <widget class="KComboBox" row="7" column="1">
- <item>
- <property name="text">
- <string>Do Not Affect</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string>Force</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string>Force Temporarily</string>
- </property>
- </item>
- <property name="name">
- <cstring>rule_opacityactive</cstring>
- </property>
- <property name="enabled">
- <bool>false</bool>
- </property>
- </widget>
- <widget class="KRestrictedLine" row="7" column="2" rowspan="1" colspan="2">
- <property name="name">
- <cstring>opacityactive</cstring>
- </property>
- <property name="enabled">
- <bool>false</bool>
- </property>
- <property name="validChars">
- <string>0123456789</string>
- </property>
- </widget>
- <spacer row="7" column="4" rowspan="1" colspan="2">
- <property name="name">
- <cstring>spacer24</cstring>
- </property>
- <property name="orientation">
- <enum>Horizontal</enum>
- </property>
- <property name="sizeType">
- <enum>Expanding</enum>
- </property>
- <property name="tqsizeHint">
- <size>
- <width>171</width>
- <height>20</height>
- </size>
- </property>
- </spacer>
- <spacer row="6" column="3" rowspan="1" colspan="3">
- <property name="name">
- <cstring>spacer36_7</cstring>
- </property>
- <property name="orientation">
- <enum>Horizontal</enum>
- </property>
- <property name="sizeType">
- <enum>Expanding</enum>
- </property>
- <property name="tqsizeHint">
- <size>
- <width>290</width>
- <height>20</height>
- </size>
- </property>
- </spacer>
- <spacer row="5" column="3" rowspan="1" colspan="3">
- <property name="name">
- <cstring>spacer36_6</cstring>
- </property>
- <property name="orientation">
- <enum>Horizontal</enum>
- </property>
- <property name="sizeType">
- <enum>Expanding</enum>
- </property>
- <property name="tqsizeHint">
- <size>
- <width>290</width>
- <height>20</height>
- </size>
- </property>
- </spacer>
- <spacer row="4" column="3" rowspan="1" colspan="3">
- <property name="name">
- <cstring>spacer36_5</cstring>
- </property>
- <property name="orientation">
- <enum>Horizontal</enum>
- </property>
- <property name="sizeType">
- <enum>Expanding</enum>
- </property>
- <property name="tqsizeHint">
- <size>
- <width>290</width>
- <height>20</height>
- </size>
- </property>
- </spacer>
- <spacer row="3" column="3" rowspan="1" colspan="3">
- <property name="name">
- <cstring>spacer36_4</cstring>
- </property>
- <property name="orientation">
- <enum>Horizontal</enum>
- </property>
- <property name="sizeType">
- <enum>Expanding</enum>
- </property>
- <property name="tqsizeHint">
- <size>
- <width>290</width>
- <height>20</height>
- </size>
- </property>
- </spacer>
- <spacer row="2" column="3" rowspan="1" colspan="3">
- <property name="name">
- <cstring>spacer36_3</cstring>
- </property>
- <property name="orientation">
- <enum>Horizontal</enum>
- </property>
- <property name="sizeType">
- <enum>Expanding</enum>
- </property>
- <property name="tqsizeHint">
- <size>
- <width>290</width>
- <height>20</height>
- </size>
- </property>
- </spacer>
- <spacer row="1" column="3" rowspan="1" colspan="3">
- <property name="name">
- <cstring>spacer36_2</cstring>
- </property>
- <property name="orientation">
- <enum>Horizontal</enum>
- </property>
- <property name="sizeType">
- <enum>Expanding</enum>
- </property>
- <property name="tqsizeHint">
- <size>
- <width>290</width>
- <height>20</height>
- </size>
- </property>
- </spacer>
- <spacer row="0" column="3" rowspan="1" colspan="3">
- <property name="name">
- <cstring>spacer36</cstring>
- </property>
- <property name="orientation">
- <enum>Horizontal</enum>
- </property>
- <property name="sizeType">
- <enum>Expanding</enum>
- </property>
- <property name="tqsizeHint">
- <size>
- <width>290</width>
- <height>20</height>
- </size>
- </property>
- </spacer>
- <widget class="TQCheckBox" row="0" column="2">
- <property name="name">
- <cstring>above</cstring>
- </property>
- <property name="enabled">
- <bool>false</bool>
- </property>
- <property name="text">
- <string></string>
- </property>
- </widget>
- <widget class="TQCheckBox" row="1" column="2">
- <property name="name">
- <cstring>below</cstring>
- </property>
- <property name="enabled">
- <bool>false</bool>
- </property>
- <property name="text">
- <string></string>
- </property>
- </widget>
- <widget class="TQCheckBox" row="2" column="2">
- <property name="name">
- <cstring>noborder</cstring>
- </property>
- <property name="enabled">
- <bool>false</bool>
- </property>
- <property name="text">
- <string></string>
- </property>
- </widget>
- <widget class="TQCheckBox" row="3" column="2">
- <property name="name">
- <cstring>skiptaskbar</cstring>
- </property>
- <property name="enabled">
- <bool>false</bool>
- </property>
- <property name="text">
- <string></string>
- </property>
- </widget>
- <widget class="TQCheckBox" row="4" column="2">
- <property name="name">
- <cstring>skippager</cstring>
- </property>
- <property name="enabled">
- <bool>false</bool>
- </property>
- <property name="text">
- <string></string>
- </property>
- </widget>
- <widget class="TQCheckBox" row="5" column="2">
- <property name="name">
- <cstring>acceptfocus</cstring>
- </property>
- <property name="enabled">
- <bool>false</bool>
- </property>
- <property name="text">
- <string></string>
- </property>
- </widget>
- <widget class="TQCheckBox" row="6" column="2">
- <property name="name">
- <cstring>closeable</cstring>
- </property>
- <property name="enabled">
- <bool>false</bool>
- </property>
- <property name="text">
- <string></string>
- </property>
- </widget>
- <widget class="KComboBox" row="6" column="1">
- <item>
- <property name="text">
- <string>Do Not Affect</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string>Force</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string>Force Temporarily</string>
- </property>
- </item>
- <property name="name">
- <cstring>rule_closeable</cstring>
- </property>
- <property name="enabled">
- <bool>false</bool>
- </property>
- </widget>
- <widget class="KComboBox" row="5" column="1">
- <item>
- <property name="text">
- <string>Do Not Affect</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string>Force</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string>Force Temporarily</string>
- </property>
- </item>
- <property name="name">
- <cstring>rule_acceptfocus</cstring>
- </property>
- <property name="enabled">
- <bool>false</bool>
- </property>
- </widget>
- <widget class="KComboBox" row="4" column="1">
- <item>
- <property name="text">
- <string>Do Not Affect</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string>Apply Initially</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string>Remember</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string>Force</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string>Apply Now</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string>Force Temporarily</string>
- </property>
- </item>
- <property name="name">
- <cstring>rule_skippager</cstring>
- </property>
- <property name="enabled">
- <bool>false</bool>
- </property>
- </widget>
- <widget class="KComboBox" row="3" column="1">
- <item>
- <property name="text">
- <string>Do Not Affect</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string>Apply Initially</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string>Remember</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string>Force</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string>Apply Now</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string>Force Temporarily</string>
- </property>
- </item>
- <property name="name">
- <cstring>rule_skiptaskbar</cstring>
- </property>
- <property name="enabled">
- <bool>false</bool>
- </property>
- </widget>
- <widget class="KComboBox" row="2" column="1">
- <item>
- <property name="text">
- <string>Do Not Affect</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string>Apply Initially</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string>Remember</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string>Force</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string>Apply Now</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string>Force Temporarily</string>
- </property>
- </item>
- <property name="name">
- <cstring>rule_noborder</cstring>
- </property>
- <property name="enabled">
- <bool>false</bool>
- </property>
- </widget>
- <widget class="KComboBox" row="1" column="1">
- <item>
- <property name="text">
- <string>Do Not Affect</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string>Apply Initially</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string>Remember</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string>Force</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string>Apply Now</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string>Force Temporarily</string>
- </property>
- </item>
- <property name="name">
- <cstring>rule_below</cstring>
- </property>
- <property name="enabled">
- <bool>false</bool>
- </property>
- </widget>
- <widget class="KComboBox" row="0" column="1">
- <item>
- <property name="text">
- <string>Do Not Affect</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string>Apply Initially</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string>Remember</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string>Force</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string>Apply Now</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string>Force Temporarily</string>
- </property>
- </item>
- <property name="name">
- <cstring>rule_above</cstring>
- </property>
- <property name="enabled">
- <bool>false</bool>
- </property>
- </widget>
- <spacer row="10" column="1">
- <property name="name">
- <cstring>spacer33</cstring>
- </property>
- <property name="orientation">
- <enum>Vertical</enum>
- </property>
- <property name="sizeType">
- <enum>Expanding</enum>
- </property>
- <property name="tqsizeHint">
- <size>
- <width>20</width>
- <height>80</height>
- </size>
- </property>
- </spacer>
- <widget class="KComboBox" row="8" column="1">
- <item>
- <property name="text">
- <string>Do Not Affect</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string>Force</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string>Force Temporarily</string>
- </property>
- </item>
- <property name="name">
- <cstring>rule_opacityinactive</cstring>
- </property>
- <property name="enabled">
- <bool>false</bool>
- </property>
- </widget>
- <widget class="KRestrictedLine" row="8" column="2" rowspan="1" colspan="2">
- <property name="name">
- <cstring>opacityinactive</cstring>
- </property>
- <property name="enabled">
- <bool>false</bool>
- </property>
- <property name="validChars">
- <string>0123456789</string>
- </property>
- </widget>
- <spacer row="8" column="4" rowspan="1" colspan="2">
- <property name="name">
- <cstring>spacer25</cstring>
- </property>
- <property name="orientation">
- <enum>Horizontal</enum>
- </property>
- <property name="sizeType">
- <enum>Expanding</enum>
- </property>
- <property name="tqsizeHint">
- <size>
- <width>181</width>
- <height>20</height>
- </size>
- </property>
- </spacer>
- <widget class="TQCheckBox" row="8" column="0">
- <property name="name">
- <cstring>enable_opacityinactive</cstring>
- </property>
- <property name="text">
- <string>I&amp;nactive opacity in %</string>
- </property>
- </widget>
- <widget class="TQCheckBox" row="9" column="0">
- <property name="name">
- <cstring>enable_shortcut</cstring>
- </property>
- <property name="text">
- <string>Shortcut</string>
- </property>
- <property name="accel">
- <string></string>
- </property>
- </widget>
- <widget class="KComboBox" row="9" column="1">
- <item>
- <property name="text">
- <string>Do Not Affect</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string>Apply Initially</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string>Remember</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string>Force</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string>Apply Now</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string>Force Temporarily</string>
- </property>
- </item>
- <property name="name">
- <cstring>rule_shortcut</cstring>
- </property>
- <property name="enabled">
- <bool>false</bool>
- </property>
- </widget>
- <widget class="TQPushButton" row="9" column="5">
- <property name="name">
- <cstring>shortcut_edit</cstring>
- </property>
- <property name="text">
- <string>Edit...</string>
- </property>
- </widget>
- <widget class="KRestrictedLine" row="9" column="2" rowspan="1" colspan="3">
- <property name="name">
- <cstring>shortcut</cstring>
- </property>
- <property name="enabled">
- <bool>false</bool>
- </property>
- </widget>
- </grid>
- </widget>
- <widget class="TQWidget">
- <property name="name">
- <cstring>TabPage</cstring>
- </property>
- <attribute name="title">
- <string>W&amp;orkarounds</string>
- </attribute>
- <grid>
- <property name="name">
- <cstring>unnamed</cstring>
- </property>
- <widget class="TQCheckBox" row="0" column="0">
- <property name="name">
- <cstring>enable_fsplevel</cstring>
- </property>
- <property name="text">
- <string>&amp;Focus stealing prevention</string>
- </property>
- </widget>
- <widget class="KComboBox" row="2" column="1">
- <item>
- <property name="text">
- <string>Do Not Affect</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string>Force</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string>Force Temporarily</string>
- </property>
- </item>
- <property name="name">
- <cstring>rule_type</cstring>
- </property>
- <property name="enabled">
- <bool>false</bool>
- </property>
- </widget>
- <widget class="KComboBox" row="2" column="3">
- <item>
- <property name="text">
- <string>Normal Window</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string>Dialog Window</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string>Utility Window</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string>Dock (panel)</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string>Toolbar</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string>Torn-Off Menu</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string>Splash Screen</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string>Desktop</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string>Override Type</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string>Standalone Menubar</string>
- </property>
- </item>
- <property name="name">
- <cstring>type</cstring>
- </property>
- <property name="enabled">
- <bool>false</bool>
- </property>
- </widget>
- <widget class="KComboBox" row="1" column="3">
- <item>
- <property name="text">
- <string>Opaque</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string>Transparent</string>
- </property>
- </item>
- <property name="name">
- <cstring>moveresizemode</cstring>
- </property>
- <property name="enabled">
- <bool>false</bool>
- </property>
- </widget>
- <widget class="TQCheckBox" row="2" column="0">
- <property name="name">
- <cstring>enable_type</cstring>
- </property>
- <property name="text">
- <string>Window &amp;type</string>
- </property>
- </widget>
- <widget class="TQCheckBox" row="1" column="0">
- <property name="name">
- <cstring>enable_moveresizemode</cstring>
- </property>
- <property name="text">
- <string>&amp;Moving/resizing</string>
- </property>
- </widget>
- <widget class="KComboBox" row="0" column="1">
- <item>
- <property name="text">
- <string>Do Not Affect</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string>Force</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string>Force Temporarily</string>
- </property>
- </item>
- <property name="name">
- <cstring>rule_fsplevel</cstring>
- </property>
- <property name="enabled">
- <bool>false</bool>
- </property>
- </widget>
- <widget class="KComboBox" row="1" column="1">
- <item>
- <property name="text">
- <string>Do Not Affect</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string>Force</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string>Force Temporarily</string>
- </property>
- </item>
- <property name="name">
- <cstring>rule_moveresizemode</cstring>
- </property>
- <property name="enabled">
- <bool>false</bool>
- </property>
- </widget>
- <widget class="KComboBox" row="0" column="3">
- <item>
- <property name="text">
- <string>None</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string>Low</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string>Normal</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string>High</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string>Extreme</string>
- </property>
- </item>
- <property name="name">
- <cstring>fsplevel</cstring>
- </property>
- <property name="enabled">
- <bool>false</bool>
- </property>
- </widget>
- <widget class="KRestrictedLine" row="5" column="3">
- <property name="name">
- <cstring>maxsize</cstring>
- </property>
- <property name="enabled">
- <bool>false</bool>
- </property>
- <property name="validChars">
- <string>0123456789-+,xX:</string>
- </property>
- </widget>
- <widget class="TQCheckBox" row="4" column="0">
- <property name="name">
- <cstring>enable_minsize</cstring>
- </property>
- <property name="text">
- <string>M&amp;inimum size</string>
- </property>
- </widget>
- <widget class="KComboBox" row="4" column="1">
- <item>
- <property name="text">
- <string>Do Not Affect</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string>Force</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string>Force Temporarily</string>
- </property>
- </item>
- <property name="name">
- <cstring>rule_minsize</cstring>
- </property>
- <property name="enabled">
- <bool>false</bool>
- </property>
- </widget>
- <widget class="TQCheckBox" row="5" column="0">
- <property name="name">
- <cstring>enable_maxsize</cstring>
- </property>
- <property name="text">
- <string>M&amp;aximum size</string>
- </property>
- </widget>
- <widget class="KRestrictedLine" row="4" column="3">
- <property name="name">
- <cstring>minsize</cstring>
- </property>
- <property name="enabled">
- <bool>false</bool>
- </property>
- <property name="validChars">
- <string>0123456789-+,xX:</string>
- </property>
- </widget>
- <widget class="KComboBox" row="5" column="1">
- <item>
- <property name="text">
- <string>Do Not Affect</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string>Force</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string>Force Temporarily</string>
- </property>
- </item>
- <property name="name">
- <cstring>rule_maxsize</cstring>
- </property>
- <property name="enabled">
- <bool>false</bool>
- </property>
- </widget>
- <widget class="TQCheckBox" row="3" column="0">
- <property name="name">
- <cstring>enable_ignoreposition</cstring>
- </property>
- <property name="text">
- <string>Ignore requested &amp;geometry</string>
- </property>
- </widget>
- <widget class="KComboBox" row="3" column="1">
- <item>
- <property name="text">
- <string>Do Not Affect</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string>Force</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string>Force Temporarily</string>
- </property>
- </item>
- <property name="name">
- <cstring>rule_ignoreposition</cstring>
- </property>
- <property name="enabled">
- <bool>false</bool>
- </property>
- </widget>
- <widget class="TQCheckBox" row="3" column="3">
- <property name="name">
- <cstring>ignoreposition</cstring>
- </property>
- <property name="enabled">
- <bool>false</bool>
- </property>
- <property name="text">
- <string></string>
- </property>
- </widget>
- <spacer row="8" column="2">
- <property name="name">
- <cstring>spacer35</cstring>
- </property>
- <property name="orientation">
- <enum>Vertical</enum>
- </property>
- <property name="sizeType">
- <enum>Expanding</enum>
- </property>
- <property name="tqsizeHint">
- <size>
- <width>20</width>
- <height>160</height>
- </size>
- </property>
- </spacer>
- <widget class="TQCheckBox" row="6" column="0">
- <property name="name">
- <cstring>enable_strictgeometry</cstring>
- </property>
- <property name="text">
- <string>Strictly obey geometry</string>
- </property>
- <property name="accel">
- <string></string>
- </property>
- </widget>
- <widget class="KComboBox" row="6" column="1">
- <item>
- <property name="text">
- <string>Do Not Affect</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string>Force</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string>Force Temporarily</string>
- </property>
- </item>
- <property name="name">
- <cstring>rule_strictgeometry</cstring>
- </property>
- <property name="enabled">
- <bool>false</bool>
- </property>
- </widget>
- <widget class="TQCheckBox" row="6" column="3">
- <property name="name">
- <cstring>strictgeometry</cstring>
- </property>
- <property name="enabled">
- <bool>false</bool>
- </property>
- <property name="text">
- <string></string>
- </property>
- </widget>
- <widget class="TQCheckBox" row="7" column="3">
- <property name="name">
- <cstring>disableglobalshortcuts</cstring>
- </property>
- <property name="enabled">
- <bool>false</bool>
- </property>
- <property name="text">
- <string></string>
- </property>
- </widget>
- <widget class="TQCheckBox" row="7" column="0">
- <property name="name">
- <cstring>enable_disableglobalshortcuts</cstring>
- </property>
- <property name="text">
- <string>Block global shortcuts</string>
- </property>
- <property name="accel">
- <string></string>
- </property>
- </widget>
- <widget class="KComboBox" row="7" column="1">
- <item>
- <property name="text">
- <string>Do Not Affect</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string>Force</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string>Force Temporarily</string>
- </property>
- </item>
- <property name="name">
- <cstring>rule_disableglobalshortcuts</cstring>
- </property>
- <property name="enabled">
- <bool>false</bool>
- </property>
- </widget>
- </grid>
- </widget>
- </widget>
- </vbox>
-</widget>
-<customwidgets>
-</customwidgets>
-<connections>
- <connection>
- <sender>detect1</sender>
- <signal>clicked()</signal>
- <receiver>Form2</receiver>
- <slot>detectClicked()</slot>
- </connection>
- <connection>
- <sender>wmclass_match</sender>
- <signal>activated(int)</signal>
- <receiver>Form2</receiver>
- <slot>wmclassMatchChanged()</slot>
- </connection>
- <connection>
- <sender>role_match</sender>
- <signal>activated(int)</signal>
- <receiver>Form2</receiver>
- <slot>roleMatchChanged()</slot>
- </connection>
- <connection>
- <sender>title_match</sender>
- <signal>activated(int)</signal>
- <receiver>Form2</receiver>
- <slot>titleMatchChanged()</slot>
- </connection>
- <connection>
- <sender>extra_match</sender>
- <signal>activated(int)</signal>
- <receiver>Form2</receiver>
- <slot>extraMatchChanged()</slot>
- </connection>
- <connection>
- <sender>machine_match</sender>
- <signal>activated(int)</signal>
- <receiver>Form2</receiver>
- <slot>machineMatchChanged()</slot>
- </connection>
- <connection>
- <sender>shortcut_edit</sender>
- <signal>clicked()</signal>
- <receiver>Form2</receiver>
- <slot>shortcutEditClicked()</slot>
- </connection>
-</connections>
-<tabstops>
- <tabstop>tabs</tabstop>
- <tabstop>description</tabstop>
- <tabstop>wmclass</tabstop>
- <tabstop>whole_wmclass</tabstop>
- <tabstop>wmclass_match</tabstop>
- <tabstop>edit_reg_wmclass</tabstop>
- <tabstop>role</tabstop>
- <tabstop>role_match</tabstop>
- <tabstop>edit_reg_role</tabstop>
- <tabstop>detect1</tabstop>
- <tabstop>types</tabstop>
- <tabstop>title</tabstop>
- <tabstop>title_match</tabstop>
- <tabstop>edit_reg_title</tabstop>
- <tabstop>extra</tabstop>
- <tabstop>extra_match</tabstop>
- <tabstop>edit_reg_extra</tabstop>
- <tabstop>machine</tabstop>
- <tabstop>machine_match</tabstop>
- <tabstop>edit_reg_machine</tabstop>
- <tabstop>enable_position</tabstop>
- <tabstop>rule_position</tabstop>
- <tabstop>position</tabstop>
- <tabstop>enable_size</tabstop>
- <tabstop>rule_size</tabstop>
- <tabstop>size</tabstop>
- <tabstop>enable_maximizehoriz</tabstop>
- <tabstop>rule_maximizehoriz</tabstop>
- <tabstop>maximizehoriz</tabstop>
- <tabstop>enable_maximizevert</tabstop>
- <tabstop>rule_maximizevert</tabstop>
- <tabstop>maximizevert</tabstop>
- <tabstop>enable_fullscreen</tabstop>
- <tabstop>rule_fullscreen</tabstop>
- <tabstop>fullscreen</tabstop>
- <tabstop>enable_desktop</tabstop>
- <tabstop>rule_desktop</tabstop>
- <tabstop>desktop</tabstop>
- <tabstop>enable_minimize</tabstop>
- <tabstop>rule_minimize</tabstop>
- <tabstop>minimize</tabstop>
- <tabstop>enable_shade</tabstop>
- <tabstop>rule_shade</tabstop>
- <tabstop>shade</tabstop>
- <tabstop>enable_placement</tabstop>
- <tabstop>rule_placement</tabstop>
- <tabstop>placement</tabstop>
- <tabstop>enable_above</tabstop>
- <tabstop>rule_above</tabstop>
- <tabstop>above</tabstop>
- <tabstop>enable_below</tabstop>
- <tabstop>rule_below</tabstop>
- <tabstop>below</tabstop>
- <tabstop>enable_noborder</tabstop>
- <tabstop>rule_noborder</tabstop>
- <tabstop>noborder</tabstop>
- <tabstop>enable_skiptaskbar</tabstop>
- <tabstop>rule_skiptaskbar</tabstop>
- <tabstop>skiptaskbar</tabstop>
- <tabstop>enable_skippager</tabstop>
- <tabstop>rule_skippager</tabstop>
- <tabstop>skippager</tabstop>
- <tabstop>enable_acceptfocus</tabstop>
- <tabstop>rule_acceptfocus</tabstop>
- <tabstop>acceptfocus</tabstop>
- <tabstop>enable_closeable</tabstop>
- <tabstop>rule_closeable</tabstop>
- <tabstop>closeable</tabstop>
- <tabstop>enable_opacityactive</tabstop>
- <tabstop>rule_opacityactive</tabstop>
- <tabstop>opacityactive</tabstop>
- <tabstop>enable_opacityinactive</tabstop>
- <tabstop>rule_opacityinactive</tabstop>
- <tabstop>opacityinactive</tabstop>
- <tabstop>enable_shortcut</tabstop>
- <tabstop>rule_shortcut</tabstop>
- <tabstop>shortcut</tabstop>
- <tabstop>shortcut_edit</tabstop>
- <tabstop>enable_fsplevel</tabstop>
- <tabstop>rule_fsplevel</tabstop>
- <tabstop>fsplevel</tabstop>
- <tabstop>enable_moveresizemode</tabstop>
- <tabstop>rule_moveresizemode</tabstop>
- <tabstop>moveresizemode</tabstop>
- <tabstop>enable_type</tabstop>
- <tabstop>rule_type</tabstop>
- <tabstop>type</tabstop>
- <tabstop>enable_ignoreposition</tabstop>
- <tabstop>rule_ignoreposition</tabstop>
- <tabstop>ignoreposition</tabstop>
- <tabstop>enable_minsize</tabstop>
- <tabstop>rule_minsize</tabstop>
- <tabstop>minsize</tabstop>
- <tabstop>enable_maxsize</tabstop>
- <tabstop>rule_maxsize</tabstop>
- <tabstop>maxsize</tabstop>
- <tabstop>enable_strictgeometry</tabstop>
- <tabstop>rule_strictgeometry</tabstop>
- <tabstop>strictgeometry</tabstop>
- <tabstop>enable_disableglobalshortcuts</tabstop>
- <tabstop>rule_disableglobalshortcuts</tabstop>
- <tabstop>disableglobalshortcuts</tabstop>
-</tabstops>
-<Q_SLOTS>
- <slot access="protected" specifier="pure virtual">detectClicked()</slot>
- <slot access="protected" specifier="pure virtual">wmclassMatchChanged()</slot>
- <slot access="protected" specifier="pure virtual">roleMatchChanged()</slot>
- <slot access="protected" specifier="pure virtual">titleMatchChanged()</slot>
- <slot access="protected" specifier="pure virtual">extraMatchChanged()</slot>
- <slot access="protected" specifier="pure virtual">machineMatchChanged()</slot>
- <slot access="protected" specifier="pure virtual">shortcutEditClicked()</slot>
-</Q_SLOTS>
-<layoutdefaults spacing="6" margin="11"/>
-<layoutfunctions spacing="KDialog::spacingHint" margin="KDialog::marginHint"/>
-<includehints>
- <includehint>kcombobox.h</includehint>
- <includehint>kpushbutton.h</includehint>
- <includehint>kcombobox.h</includehint>
- <includehint>kpushbutton.h</includehint>
- <includehint>kpushbutton.h</includehint>
- <includehint>klistbox.h</includehint>
- <includehint>kcombobox.h</includehint>
- <includehint>kpushbutton.h</includehint>
- <includehint>kcombobox.h</includehint>
- <includehint>kpushbutton.h</includehint>
- <includehint>kcombobox.h</includehint>
- <includehint>kpushbutton.h</includehint>
- <includehint>kcombobox.h</includehint>
- <includehint>krestrictedline.h</includehint>
- <includehint>krestrictedline.h</includehint>
- <includehint>kcombobox.h</includehint>
- <includehint>kcombobox.h</includehint>
- <includehint>kcombobox.h</includehint>
- <includehint>kcombobox.h</includehint>
- <includehint>kcombobox.h</includehint>
- <includehint>kcombobox.h</includehint>
- <includehint>kcombobox.h</includehint>
- <includehint>kcombobox.h</includehint>
- <includehint>kcombobox.h</includehint>
- <includehint>kcombobox.h</includehint>
- <includehint>kcombobox.h</includehint>
- <includehint>krestrictedline.h</includehint>
- <includehint>kcombobox.h</includehint>
- <includehint>kcombobox.h</includehint>
- <includehint>kcombobox.h</includehint>
- <includehint>kcombobox.h</includehint>
- <includehint>kcombobox.h</includehint>
- <includehint>kcombobox.h</includehint>
- <includehint>kcombobox.h</includehint>
- <includehint>kcombobox.h</includehint>
- <includehint>krestrictedline.h</includehint>
- <includehint>kcombobox.h</includehint>
- <includehint>krestrictedline.h</includehint>
- <includehint>kcombobox.h</includehint>
- <includehint>kcombobox.h</includehint>
- <includehint>kcombobox.h</includehint>
- <includehint>kcombobox.h</includehint>
- <includehint>kcombobox.h</includehint>
- <includehint>kcombobox.h</includehint>
- <includehint>krestrictedline.h</includehint>
- <includehint>kcombobox.h</includehint>
- <includehint>krestrictedline.h</includehint>
- <includehint>kcombobox.h</includehint>
- <includehint>kcombobox.h</includehint>
- <includehint>kcombobox.h</includehint>
- <includehint>kcombobox.h</includehint>
-</includehints>
-</UI>
diff --git a/kwin/kcmkwin/showdesktop.desktop b/kwin/kcmkwin/showdesktop.desktop
deleted file mode 100644
index 3c59bf0c9..000000000
--- a/kwin/kcmkwin/showdesktop.desktop
+++ /dev/null
@@ -1,132 +0,0 @@
-[Desktop Entry]
-Encoding=UTF-8
-Name=Show Desktop
-Name[af]=Vertoon Werkskerm
-Name[ar]=أعرض سطح المكتب
-Name[be]=Паказаць працоўны стол
-Name[bg]=Показване на работния плот
-Name[bn]=ডেস্কটপ দেখাও
-Name[br]=Diskouez ar burev
-Name[bs]=Prikaži desktop
-Name[ca]=Mostra l'escriptori
-Name[cs]=Zobrazit plochu
-Name[csb]=Pòkôże pùlt
-Name[da]=Vis desktop
-Name[de]=Zugriff auf Arbeitsfläche
-Name[el]=Εμφάνιση επιφάνειας εργασίας
-Name[eo]=Montri Tabulon
-Name[es]=Mostrar escritorio
-Name[et]=Näita töölauda
-Name[eu]=Erakutsi mahaigaina
-Name[fa]=نمایش رومیزی
-Name[fi]=Näytä työpöytä
-Name[fr]=Afficher le bureau
-Name[fy]=Buroblêd sjen litte
-Name[ga]=Taispeáin an Deasc
-Name[gl]=Escritório
-Name[he]=הצג שולחן עבודה
-Name[hr]=Prikaži radnu površinu
-Name[hu]=A munkaasztal megjelenítése
-Name[is]=Sýna skjáborð
-Name[it]=Mostra il desktop
-Name[ja]=デスクトップを表示
-Name[ka]=სამუშაო დაფის ჩვენება
-Name[kk]=Үстелге ауысу
-Name[km]=បង្ហាញ​ផ្ទៃតុ
-Name[ko]=데스크톱 1로 바꾸기
-Name[lt]=Rodyti darbastalį
-Name[mk]=Прикажи работна површина
-Name[nb]=Vis skrivebord
-Name[nds]=Schriefdischwieser
-Name[ne]=डेस्कटप देखाउनुहोस्
-Name[nl]=Bureaublad tonen
-Name[nn]=Vis skrivebord
-Name[pa]=ਵੇਹੜਾ ਵੇਖਾਓ
-Name[pl]=Pokaż pulpit
-Name[pt]=Mostrar o Ecrã
-Name[pt_BR]=Mostrar Área de Trabalho
-Name[ro]=Arată desktop
-Name[ru]=Свернуть все окна
-Name[rw]=Kwerekana Ibiro
-Name[se]=Čájet čállinbeavddi
-Name[sk]=Ukáže pracovnú plochu
-Name[sl]=Prikaži namizje
-Name[sr]=Прикажи радну површину
-Name[sr@Latn]=Prikaži radnu površinu
-Name[sv]=Visa skrivbord
-Name[te]=రంగస్థలాన్ని చూపు
-Name[tg]=Намоиши мизи корӣ
-Name[th]=แสดงพื้นที่หน้าจอ
-Name[tr]=Masaüstünü Göster
-Name[tt]=Östäl Kürsätü
-Name[uk]=Показати стільницю
-Name[uz]=Ish stoli
-Name[uz@cyrillic]=Иш столи
-Name[vi]=Hiển thị Màn hình nền
-Name[wa]=Mostrer l' sicribanne
-Name[zh_CN]=显示桌面
-Name[zh_TW]=顯示桌面
-Comment=A button that gives quick access to the desktop when pressed
-Comment[af]='n Knoppie wat vinnige toegang tot die werkskerm gee wanneer dit gedruk word
-Comment[ar]=زرّ يسمح بالوصول السريع إلى سطح المكتب عند ضغطه
-Comment[be]=Кнопка, якая дае хуткі доступ да працоўнага стала
-Comment[bg]=Бутон за бърз достъп до работния плот
-Comment[bn]=একটা বাটন যেটি চাপলে ডেস্কটপ ফাঁকা করে দেখানো হবে
-Comment[bs]=Dugme koje sklanja sve prozore sa ekrana i prikazuje desktop
-Comment[ca]=Un botó que dóna accés ràpid a l'escriptori en prémer-hi
-Comment[cs]=Tlačítko s rychlým přístupem k pracovní ploše
-Comment[csb]=Knąpa chùtczégò przistãpù do pùltu
-Comment[da]=En knap der giver hurtig adgang til desktoppen når den trykkes ned
-Comment[de]=Dieser Knopf ermöglicht den schnellen Zugriff auf die Arbeitsfläche
-Comment[el]=Ένα κουμπί που όταν πατηθεί δίνει γρήγορη πρόσβαση στην επιφάνεια εργασίας
-Comment[eo]=Butono kiu ebligas rapid aliron al labortabulo kiam premita
-Comment[es]=Muestra rápidamente el escritorio al pulsarlo
-Comment[et]=Nupp, mis võimaldab ühe klõpsuga kiiresti pääseda otse töölauale
-Comment[eu]=Zapatzean mahagainera sarbide bizkorra ematen duen botoia
-Comment[fa]=دکمه‌ای که وقتی فشار داده ‌شد، امکان دستیابی سریع به رومیزی را می‌دهد.
-Comment[fi]=Painike, jota painamalla pääsee nopeasti työpöydälle
-Comment[fr]=Un bouton, qui, en étant cliqué, donne un accès rapide au bureau
-Comment[fy]=In knop hokker flugge tagong ta it buroblêd jout
-Comment[gl]=Un botón que dá aceso rápido ao escritório cando se preme
-Comment[he]=כפתור הנותן גישה מהירה לשולחן העבודה כאשר נלחץ
-Comment[hr]=Gumb koji omogućuje brz pristup radnoj površini
-Comment[hu]=Ezzel a gombbal gyorsan elérhető a munkaasztal
-Comment[is]=Hnappur sem veitir hraðan aðgang að skjáborðinu
-Comment[it]=Un pulsante che da accesso rapido al desktop quando viene premuto
-Comment[ja]=デスクトップに素早くアクセスするためのボタン
-Comment[kk]=Бір басып үстелге қатынау батырмасы
-Comment[km]=ប៊ូតុង​ដែល​ផ្តល់​ការ​ចូល​ដំណើរការ​រហ័សទៅ​ផ្ទៃតុ ពេល​ចុច
-Comment[lt]=Mygtukas, kurį nuspaudus suteikiama greita prieiga prie darbastalio
-Comment[mk]=Копче што дава брз пристап кон работната површина кога е притиснато
-Comment[nb]=En knapp som gir deg rask tilgang til skrivebordet
-Comment[nds]=Disse Knoop laat Een direktemang op den Schriefdisch togriepen
-Comment[ne]=थिचेको बेलामा डेस्कटपमा द्रुत पहुँच प्रदान गर्ने बटन
-Comment[nl]=Een knop die snelle toegang tot het bureaublad geeft
-Comment[nn]=Ein knapp som gir deg rask tilgang til skrivebordet
-Comment[pa]=ਇੱਕ ਬਟਨ, ਜੋ ਕਿ ਦਬਾਉਣ ਉਪਰੰਤ ਤੁਹਾਨੂ ਵੇਹੜਾ ਉਪਲੱਬਧ ਕਰਵਾਉਦਾ ਹੈ
-Comment[pl]=Przycisk szybkiego dostępu do pulpitu
-Comment[pt]=Um botão que dá acesso rápido ao ecrã, quando for carregado
-Comment[pt_BR]=Um botão que fornece acesso rápido para a área de trabalho, quando pressionado
-Comment[ro]=Un buton care permite acces rapid la desktop la apăsare
-Comment[ru]=Кнопка перехода на заданный рабочий стол
-Comment[rw]=Buto itanga ukugera vuba ku biro igihe ikanzwe
-Comment[se]=Boallu mii čiehká buot lásiid mat leat čállinbeavddis go dan coahkkala
-Comment[sk]=Tlačidlo pre rýchly prístup na pracovnú plochu
-Comment[sl]=Klik tega gumba omogoča hiter dostop do namizja
-Comment[sr]=Дугме које по притиску даје брз приступ радној површини
-Comment[sr@Latn]=Dugme koje po pritisku daje brz pristup radnoj površini
-Comment[sv]=En knapp som ger snabb åtkomst till skrivbordet när den klickas
-Comment[th]=ปุ่มที่กดแล้วจะแสดงพื้นที่หน้าจออย่างรวดเร็ว
-Comment[tr]=Tıklandığı zaman masaüstüne hızlı erişim sağlar
-Comment[tt]=Östäl eçtälegenä tiz ireşergä birüçe töymä
-Comment[uk]=Кнопка, яка при натисканні надає швидкий доступ до стільниці
-Comment[uz]=Ish stoliga qisqa yoʻl
-Comment[uz@cyrillic]=Иш столига қисқа йўл
-Comment[vi]=Một nút cho phép bạn truy cập ngay đến màn hình nền mỗi khi ấn vào
-Comment[wa]=On boton ki dene raddimint accès å scribanne cwand il est tchôkî
-Comment[zh_CN]=按下可快速访问桌面的按钮
-Comment[zh_TW]=按下去能快速顯示桌面的按鈕
-Exec=dcop kdesktop KDesktopIface toggleShowDesktop
-Icon=desktop
-Type=Application
-Categories=Qt;KDE;X-KDE-settings-desktop; \ No newline at end of file