diff options
Diffstat (limited to 'kwin/kcmkwin/kwinoptions/mouse.cpp')
-rw-r--r-- | kwin/kcmkwin/kwinoptions/mouse.cpp | 856 |
1 files changed, 0 insertions, 856 deletions
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 <[email protected]> - * - * 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"); -} |