kglobalaccel.cpp
00001 /* This file is part of the KDE libraries 00002 Copyright (C) 2001,2002 Ellis Whitehead <ellis@kde.org> 00003 00004 This library is free software; you can redistribute it and/or 00005 modify it under the terms of the GNU Library General Public 00006 License as published by the Free Software Foundation; either 00007 version 2 of the License, or (at your option) any later version. 00008 00009 This library is distributed in the hope that it will be useful, 00010 but WITHOUT ANY WARRANTY; without even the implied warranty of 00011 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00012 Library General Public License for more details. 00013 00014 You should have received a copy of the GNU Library General Public License 00015 along with this library; see the file COPYING.LIB. If not, write to 00016 the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, 00017 Boston, MA 02110-1301, USA. 00018 */ 00019 00020 #include "kglobalaccel.h" 00021 #ifdef Q_WS_X11 00022 #include "kglobalaccel_x11.h" 00023 #elif defined(Q_WS_WIN) 00024 #include "kglobalaccel_win.h" 00025 #elif defined(Q_WS_MACX) 00026 #include "kglobalaccel_mac.h" 00027 #else 00028 #include "kglobalaccel_emb.h" 00029 #endif 00030 00031 #include <tqstring.h> 00032 #include "kaccelbase.h" 00033 #include <kdebug.h> 00034 #include <kshortcut.h> 00035 #include <klocale.h> 00036 00037 //---------------------------------------------------- 00038 00039 KGlobalAccel::KGlobalAccel( TQObject* pParent, const char* psName ) 00040 : TQObject( pParent, psName ) 00041 { 00042 kdDebug(125) << "KGlobalAccel(): this = " << this << endl; 00043 d = new KGlobalAccelPrivate(); 00044 } 00045 00046 KGlobalAccel::~KGlobalAccel() 00047 { 00048 kdDebug(125) << "~KGlobalAccel(): this = " << this << endl; 00049 delete d; 00050 } 00051 00052 /* 00053 void KGlobalAccel::clear() 00054 { d->clearActions(); } 00055 */ 00056 KAccelActions& KGlobalAccel::actions() 00057 { return d->KAccelBase::actions(); } 00058 00059 const KAccelActions& KGlobalAccel::actions() const 00060 { return d->KAccelBase::actions(); } 00061 00062 bool KGlobalAccel::isEnabled() 00063 { return ((KAccelBase*)d)->isEnabled(); } 00064 00065 void KGlobalAccel::setEnabled( bool bEnabled ) 00066 { d->setEnabled( bEnabled ); } 00067 00068 void KGlobalAccel::suspend( bool s ) 00069 { d->suspend( s ); } 00070 00071 void KGlobalAccel::blockShortcuts( bool block ) 00072 { KGlobalAccelPrivate::blockShortcuts( block ); } 00073 00074 void KGlobalAccel::disableBlocking( bool disable ) 00075 { d->disableBlocking( disable ); } 00076 00077 KAccelAction* KGlobalAccel::insert( const TQString& sAction, const TQString& sDesc, const TQString& sHelp, 00078 const KShortcut& cutDef3, const KShortcut& cutDef4, 00079 const TQObject* pObjSlot, const char* psMethodSlot, 00080 bool bConfigurable, bool bEnabled ) 00081 { 00082 return d->insert( sAction, sDesc, sHelp, 00083 cutDef3, cutDef4, 00084 pObjSlot, psMethodSlot, 00085 bConfigurable, bEnabled ); 00086 } 00087 00088 KAccelAction* KGlobalAccel::insert( const TQString& sName, const TQString& sDesc ) 00089 { return d->insert( sName, sDesc ); } 00090 bool KGlobalAccel::updateConnections() 00091 { return d->updateConnections(); } 00092 00093 bool KGlobalAccel::remove( const TQString& sAction ) 00094 { return d->remove( sAction ); } 00095 00096 const KShortcut& KGlobalAccel::shortcut( const TQString& sAction ) const 00097 { 00098 const KAccelAction* pAction = d->KAccelBase::actions().actionPtr( sAction ); 00099 return (pAction) ? pAction->shortcut() : KShortcut::null(); 00100 } 00101 00102 bool KGlobalAccel::setShortcut( const TQString& sAction, const KShortcut& cut ) 00103 { return d->setShortcut( sAction, cut ); } 00104 bool KGlobalAccel::setSlot( const TQString& sAction, const TQObject* pObjSlot, const char* psMethodSlot ) 00105 { return d->setActionSlot( sAction, pObjSlot, psMethodSlot ); } 00106 TQString KGlobalAccel::label( const TQString& sAction ) const 00107 { 00108 const KAccelAction* pAction = d->KAccelBase::actions().actionPtr( sAction ); 00109 return (pAction) ? pAction->label() : TQString(); 00110 } 00111 bool KGlobalAccel::setActionEnabled( const TQString& sAction, bool bEnable ) 00112 { 00113 return d->setActionEnabled( sAction, bEnable ); 00114 } 00115 00116 const TQString& KGlobalAccel::configGroup() const 00117 { return d->configGroup(); } 00118 // for kdemultimedia/kmix 00119 void KGlobalAccel::setConfigGroup( const TQString& s ) 00120 { d->setConfigGroup( s ); } 00121 00122 bool KGlobalAccel::readSettings( KConfigBase* pConfig ) 00123 { d->readSettings( pConfig ); return true; } 00124 bool KGlobalAccel::writeSettings( KConfigBase* pConfig ) const 00125 { d->writeSettings( pConfig ); return true; } 00126 bool KGlobalAccel::writeSettings( KConfigBase* pConfig, bool bGlobal ) const 00127 { 00128 d->setConfigGlobal( bGlobal ); 00129 d->writeSettings( pConfig ); 00130 return true; 00131 } 00132 00133 bool KGlobalAccel::useFourModifierKeys() 00134 { return KAccelAction::useFourModifierKeys(); } 00135 00136 void KGlobalAccel::virtual_hook( int, void* ) 00137 { /*BASE::virtual_hook( id, data );*/ } 00138 00139 #include "kglobalaccel.moc"