//
//     Copyright 2008 Jim Bublitz <jbublitz@nwinternet.com>
//     Earlier copyrights 1998 - 2007 Jim Bublitz also apply

//                 Generated by twine

// This file is part of PyKDE4.

// PyKDE4 is free software; you can redistribute it and/or modify
// it under the terms of the GNU Lesser General Public License as
// published by the Free Software Foundation; either version 2.1 of
// the License, or (at your option) any later version.

// PyKDE4 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, see <http://www.gnu.org/licenses/>.



class KKeySequenceWidget : QWidget
{
%TypeHeaderCode
#include <kkeysequencewidget.h>
%End


public:

    enum Validation
    {
        Validate,
        NoValidate
    };

    explicit                KKeySequenceWidget (QWidget* parent /TransferThis/ = 0);

    enum ShortcutType
    {
        None,
        LocalShortcuts,
        StandardShortcuts,
        GlobalShortcuts
    };

    typedef QFlags<KKeySequenceWidget::ShortcutType> ShortcutTypes;

    void                    setCheckForConflictsAgainst (KKeySequenceWidget::ShortcutTypes types);
    KKeySequenceWidget::ShortcutTypes  checkForConflictsAgainst () const;
    void                    setMultiKeyShortcutsAllowed (bool);
    bool                    multiKeyShortcutsAllowed () const;
    void                    setModifierlessAllowed (bool allow);
    bool                    isModifierlessAllowed ();
    void                    setClearButtonShown (bool show);
    bool                    isKeySequenceAvailable (const QKeySequence& seq) const;
    QKeySequence            keySequence () const;
    void                    setCheckActionCollections (const QList<KActionCollection*>& actionCollections);
    void                    setCheckActionList (const QList<QAction*>& checkList);
    void                    setComponentName (const QString& componentName);

signals:
    void                    keySequenceChanged (const QKeySequence& seq);
    void                    stealShortcut (const QKeySequence& seq, KAction* action);

public:
    void                    captureKeySequence ();
    void                    setKeySequence (const QKeySequence& seq, KKeySequenceWidget::Validation val = KKeySequenceWidget::NoValidate);
    void                    clearKeySequence ();
    void                    applyStealShortcut ();

private:
                            KKeySequenceWidget (const KKeySequenceWidget&);
};   // KKeySequenceWidget


