summaryrefslogtreecommitdiffstats
path: root/kdeui/kkeydialog.h
diff options
context:
space:
mode:
Diffstat (limited to 'kdeui/kkeydialog.h')
-rw-r--r--kdeui/kkeydialog.h407
1 files changed, 0 insertions, 407 deletions
diff --git a/kdeui/kkeydialog.h b/kdeui/kkeydialog.h
deleted file mode 100644
index 8b7390e0e..000000000
--- a/kdeui/kkeydialog.h
+++ /dev/null
@@ -1,407 +0,0 @@
-/* This file is part of the KDE libraries
- Copyright (C) 1997 Nicolas Hadacek <hadacek@kde.org>
- Copyright (C) 2001,2001 Ellis Whitehead <ellis@kde.org>
-
- This library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Library General Public
- License as published by the Free Software Foundation; either
- version 2 of the License, or (at your option) any later version.
-
- This library 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
- Library General Public License for more details.
-
- You should have received a copy of the GNU Library General Public License
- along with this library; see the file COPYING.LIB. If not, write to
- the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
- Boston, MA 02110-1301, USA.
-*/
-
-#ifndef __KKEYDIALOG_H__
-#define __KKEYDIALOG_H__
-
-#include <tqdict.h>
-#include <kdialogbase.h>
-#include <klistview.h>
-
-class TQButtonGroup;
-class TQCheckBox;
-class TQGroupBox;
-class TQLabel;
-class TQLineEdit;
-class TQRadioButton;
-class KAccel;
-class KAccelActions;
-class KActionCollection;
-class KConfigBase;
-class KGlobalAccel;
-class KKeySequence;
-class KShortcut;
-class KShortcutList;
-class KKeyChooserItem;
-
-/**
- * @short Widget for configuration of KAccel and KGlobalAccel.
- *
- * Configure dictionaries of key/action associations for KAccel and
- * KGlobalAccel.
- *
- * The class takes care of all aspects of configuration, including
- * handling key conflicts internally. Connect to the allDefault()
- * slot if you want to set all configurable shortcuts to their
- * default values.
- *
- * @see KKeyDialog
- * @author Nicolas Hadacek <hadacek@via.ecp.fr>
- */
-class KDEUI_EXPORT KKeyChooser : public TQWidget
-{
- Q_OBJECT
- public:
- enum ActionType { Application, ApplicationGlobal, Standard, Global };
-
- /**
- * Constructor.
- *
- * @param parent the parent widget for this widget
- * @param type the ActionType for this KKeyChooser
- * @param bAllowLetterShortcuts Set to false if unmodified alphanumeric
- * keys ('A', '1', etc.) are not permissible shortcuts.
- **/
- KKeyChooser( TQWidget* parent, ActionType type = Application, bool bAllowLetterShortcuts = true );
- /**
- * \overload
- * @param parent parent widget
- * @param coll the KActionCollection to configure
- * @param bAllowLetterShortcuts Set to false if unmodified alphanumeric
- * keys ('A', '1', etc.) are not permissible shortcuts.
- */
- KKeyChooser( KActionCollection* coll, TQWidget* parent, bool bAllowLetterShortcuts = true );
-
- KKeyChooser( KAccel* actions, TQWidget* parent, bool bAllowLetterShortcuts = true );
- KKeyChooser( KGlobalAccel* actions, TQWidget* parent );
- KKeyChooser( KShortcutList*, TQWidget* parent, ActionType type = Application, bool bAllowLetterShortcuts = true );
-
- virtual ~KKeyChooser();
-
- /**
- * Insert an action collection, i.e. add all its actions to the ones
- * already associated with the KKeyChooser object.
- */
- bool insert( KActionCollection* ); // #### KDE4 : remove me
- /**
- * Insert an action collection, i.e. add all its actions to the ones
- * already associated with the KKeyChooser object.
- * @param title subtree title of this collection of shortcut.
- * @since 3.1
- */
- bool insert( KActionCollection *, const TQString &title);
-
- void syncToConfig( const TQString& sConfigGroup, KConfigBase* pConfig, bool bClearUnset );
-
- /**
- * This function writes any shortcut changes back to the original
- * action set(s).
- */
- void commitChanges();
-
- /**
- * This commits and then saves the actions to disk.
- * Any KActionCollection objects with the xmlFile() value set
- * will be written to an XML file. All other will be written
- * to the application's rc file.
- */
- void save();
-
- /**
- * Checks whether the given shortcut conflicts with global keyboard shortcuts.
- * If yes, and the warnUser argument is true, warns the user and gives them a chance
- * to reassign the shortcut from the global shortcut.
- *
- * @return true if there was conflict (and the user didn't reassign the shortcut)
- * @param cut the shortcut that will be checked for conflicts
- * @param warnUser if true, the user will be warned about a conflict and given a chance
- * to reassign the shortcut
- * @param parent parent widget for the warning dialog
- *
- * @since 3.2
- */
- static bool checkGlobalShortcutsConflict( const KShortcut& cut, bool warnUser, TQWidget* parent );
-
- /**
- * Checks whether the given shortcut conflicts with standard keyboard shortcuts.
- * If yes, and the warnUser argument is true, warns the user and gives them a chance
- * to reassign the shortcut from the standard shortcut.
- *
- * @return true if there was conflict (and the user didn't reassign the shortcut)
- * @param cut the shortcut that will be checked for conflicts
- * @param warnUser if true, the user will be warned about a conflict and given a chance
- * to reassign the shortcut
- * @param parent parent widget for the warning dialog
- *
- * @since 3.2
- */
- static bool checkStandardShortcutsConflict( const KShortcut& cut, bool warnUser, TQWidget* parent );
-
- signals:
- /**
- * Emitted when an action's shortcut has been changed.
- **/
- void keyChange();
-
- public slots:
- /**
- * Set all keys to their default values (bindings).
- **/
- void allDefault();
-
- /**
- * Specifies whether to use the 3 or 4 modifier key scheme.
- * This determines which default is used when the 'Default' button is
- * clicked.
- */
- void setPreferFourModifierKeys( bool preferFourModifierKeys );
-
- // KDE4 a lot of stuff in this class should be probably private:
- protected:
- enum { NoKey = 1, DefaultKey, CustomKey };
-
- void initGUI( ActionType type, bool bAllowLetterShortcuts );
- bool insert( KAccel* );
- bool insert( KGlobalAccel* );
- bool insert( KShortcutList* );
- /// @since 3.1
- void buildListView( uint iList, const TQString &title = TQString::null );
-
- void readGlobalKeys();
-
- void updateButtons();
- void fontChange( const TQFont& _font );
- void setShortcut( const KShortcut& cut );
- bool isKeyPresent( const KShortcut& cut, bool warnuser = true );
- bool isKeyPresentLocally( const KShortcut& cut, KKeyChooserItem* ignoreItem, const TQString& warnText );
- void _warning( const KKeySequence& seq, TQString sAction, TQString sTitle );
-
- protected slots:
- void slotNoKey();
- void slotDefaultKey();
- void slotCustomKey();
- void slotListItemSelected( TQListViewItem *item );
- void capturedShortcut( const KShortcut& cut );
- void slotSettingsChanged( int );
- void slotListItemDoubleClicked ( TQListViewItem * ipoQListViewItem, const TQPoint & ipoQPoint, int c );
-
- protected:
- ActionType m_type;
- bool m_bAllowLetterShortcuts;
- bool m_bAllowWinKey; // unused KDE4 remove
- // When set, pressing the 'Default' button will select the aDefaultKeycode4,
- // otherwise aDefaultKeycode.
- bool m_bPreferFourModifierKeys;
-
- TQRadioButton* m_prbNone;
- TQRadioButton* m_prbDef;
- TQRadioButton* m_prbCustom;
-
- private:
- bool isKeyPresentLocally( const KShortcut& cut, KKeyChooserItem* ignoreItem, bool bWarnUser );
- static bool promptForReassign( const KKeySequence& cut, const TQString& sAction, ActionType action, TQWidget* parent );
- // Remove the key sequences contained in cut from the standard shortcut @p name
- // which currently has @p origCut as shortcut.
- static void removeStandardShortcut( const TQString& name, KKeyChooser* chooser, const KShortcut &origCut, const KShortcut &cut );
- // Remove the key sequences contained in cut from the global shortcut @p name
- // which currently has @p origCut as shortcut.
- static void removeGlobalShortcut( const TQString& name, KKeyChooser* chooser, const KShortcut &origCut, const KShortcut &cut );
- static void readGlobalKeys( TQMap< TQString, KShortcut >& map );
- static bool checkGlobalShortcutsConflict( const KShortcut& cut, bool bWarnUser, TQWidget* parent,
- const TQMap< TQString, KShortcut >& map, const TQString& ignoreAction );
- // Remove the key sequences contained in cut from this item
- bool removeShortcut( const TQString& name, const KShortcut &cut );
-
-private slots:
- void captureCurrentItem();
-
-#ifndef KDE_NO_COMPAT
- public:
- /**
- * @obsolete
- */
- KKeyChooser( KAccel* actions, TQWidget* parent,
- bool bCheckAgainstStdKeys,
- bool bAllowLetterShortcuts,
- bool bAllowWinKey = false );
- /**
- * @obsolete
- */
- KKeyChooser( KGlobalAccel* actions, TQWidget* parent,
- bool bCheckAgainstStdKeys,
- bool bAllowLetterShortcuts,
- bool bAllowWinKey = false );
-
- public slots:
- /**
- * Rebuild list entries based on underlying map.
- * Use this if you changed the underlying map.
- */
- void listSync();
-
-#endif
- protected:
- virtual void virtual_hook( int id, void* data );
- private:
- class KKeyChooserPrivate *d;
- friend class KKeyDialog;
-};
-typedef KKeyChooser KKeyChooser;
-
-/**
- * @short Dialog for configuration of KActionCollection, KAccel, and KGlobalAccel.
- *
- * The KKeyDialog class is used for configuring dictionaries of key/action
- * associations for KActionCollection, KAccel, and KGlobalAccel. It uses the KKeyChooser widget
- * and offers buttons to set all keys to defaults and invoke on-line help.
- *
- * Several static methods are supplied which provide the most convenient interface
- * to the dialog. The most common and most encouraged use is with KActionCollection.
- *
- * \code
- * KKeyDialog::configure( actionCollection() );
- * \endcode
- *
- * @author Nicolas Hadacek <hadacek@via.ecp.fr>
- */
-class KDEUI_EXPORT KKeyDialog : public KDialogBase
-{
- Q_OBJECT
-
-public:
- /**
- * Constructs a KKeyDialog called @p name as a child of @p parent.
- * Set @p bAllowLetterShortcuts to false if unmodified alphanumeric
- * keys ('A', '1', etc.) are not permissible shortcuts.
- */
- KKeyDialog( bool bAllowLetterShortcuts = true, TQWidget* parent = 0, const char* name = 0 );
-
- /**
- * Destructor. Deletes all resources used by a KKeyDialog object.
- */
- virtual ~KKeyDialog();
-
- /**
- * Insert an action collection, i.e. add all its actions to the ones
- * displayed by the dialog.
- * This method can be useful in applications following the document/view
- * design, with actions in both the document and the view.
- * Simply call insert with the action collections of each one in turn.
- * @return true :)
- */
- bool insert( KActionCollection* ); // #### KDE4: remove me
-
- /**
- * Insert an action collection, i.e. add all its actions to the ones
- * displayed by the dialog.
- * This method can be useful in applications following the document/view
- * design, with actions in both the document and the view.
- * Simply call insert with the action collections of each one in turn.
- *
- * @param title the title associated with the collection (if null, the
- * KAboutData::progName() of the collection's instance is used)
- * @return true :)
- * @since 3.1
- */
- bool insert(KActionCollection *, const TQString &title);
-
- /**
- * Run the dialog and call commitChanges() if @p bSaveSettings
- * is true.
- */
- bool configure( bool bSaveSettings = true );
-
- /**
- * Commit key setting changes so that changed settings actually become active.
- * This method is implicitly called from configure(bool) if
- * @p bSaveSettings is true.
- */
- void commitChanges();
-
- /**
- * Pops up a modal dialog for configuring key settings. The new
- * shortcut settings will be active if the user presses OK. If
- * @p bSaveSettings if true, the settings will also be saved back to
- * the *uirc file which they were intially read from.
- * @return Accept if the dialog was closed with OK, Reject otherwise.
- */
- static int configure( KActionCollection* coll, TQWidget* parent = 0, bool bSaveSettings = true );
-
- /**
- * This is an overloaded member function, provided for convenience.
- * It behaves essentially like the above function, except that settings
- * are saved to a *.rc file using KConfig.
- */
- static int configure( KAccel* keys, TQWidget* parent = 0, bool bSaveSettings = true );
-
- /**
- * This is an overloaded member function, provided for convenience.
- * It behaves essentially like the above function.
- */
- static int configure( KGlobalAccel* keys, TQWidget* parent = 0, bool bSaveSettings = true );
-
-
- /**
- * This is an overloaded member function, provided for convenience.
- * It behaves essentially like the above function.
- *
- * @param coll the KActionCollection to configure
- * @param bAllowLetterShortcuts Set to false if unmodified alphanumeric
- * keys ('A', '1', etc.) are not permissible shortcuts.
- * @param parent the parent widget to attach to
- * @param bSaveSettings if true, the settings will also be saved back to
- * the *uirc file which they were intially read from.
- */
- static int configure( KActionCollection* coll, bool bAllowLetterShortcuts, TQWidget* parent = 0, bool bSaveSettings = true ); // BCI: merge with bAllowLetterShortcuts = true
-
- /**
- * This is an overloaded member function, provided for convenience.
- * It behaves essentially like the above function.
- **/
- static int configure( KAccel* keys, bool bAllowLetterShortcuts, TQWidget* parent = 0, bool bSaveSettings = true ); // BCI: merge with bAllowLetterShortcuts = true
-
- /**
- * This is an overloaded member function, provided for convenience.
- * It behaves essentially like the above function.
- **/
- static int configure( KGlobalAccel* keys, bool bAllowLetterShortcuts, TQWidget* parent = 0, bool bSaveSettings = true ); // BCI: merge with bAllowLetterShortcuts = true
-
- /**
- * @deprecated Obsolete.
- * Please use KKeyDialog::configure instead
- */
- static KDE_DEPRECATED int configureKeys( KAccel* keys, bool save_settings = true, TQWidget* parent = 0 )
- { return configure( keys, parent, save_settings ); }
- /**
- * @deprecated Obsolete.
- * Please use KKeyDialog::configure instead
- */
- static KDE_DEPRECATED int configureKeys( KGlobalAccel* keys, bool save_settings = true, TQWidget* parent = 0 )
- { return configure( keys, parent, save_settings ); }
- /**
- * @deprecated Obsolete.
- * Please use KKeyDialog::configure instead
- */
- static KDE_DEPRECATED int configureKeys( KActionCollection* coll, const TQString& /*xmlfile*/,
- bool save_settings = true, TQWidget* parent = 0 )
- { return configure( coll, parent, save_settings ); }
-
-private:
- KKeyDialog( KKeyChooser::ActionType, bool bAllowLetterShortcuts = true, TQWidget* parent = 0, const char* name = 0 );
-
- protected:
- virtual void virtual_hook( int id, void* data );
-
- private:
- class KKeyDialogPrivate* d;
- KKeyChooser* m_pKeyChooser;
-};
-
-#endif // __KKEYDIALOG_H__