Make a branch to make krunner Good Enough For Aaron™.
[kdebase/uwolfer.git] / workspace / kcontrol / kxkb / kxkbapp.h
blob2c03cdf06d580e0cfa51b27ba4e81960c2daeae3
1 /*
2 Copyright (C) 2001, S.R.Haque <srhaque@iee.org>.
3 Copyright (C) 2006, Andriy Rysin <rysin@kde.org>. Derived from an
4 original by Matthias H�zer-Klpfel released under the QPL.
5 This file is part of the KDE project
7 This library is free software; you can redistribute it and/or
8 modify it under the terms of the GNU Library General Public
9 License as published by the Free Software Foundation; either
10 version 2 of the License, or (at your option) any later version.
12 This library is distributed in the hope that it will be useful,
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15 Library General Public License for more details.
17 You should have received a copy of the GNU Library General Public License
18 along with this library; see the file COPYING.LIB. If not, write to
19 the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
20 Boston, MA 02110-1301, USA.
22 DESCRIPTION
24 KDE Keyboard Tool. Manages XKB keyboard mappings.
26 #ifndef __K_XKBAPP_H__
27 #define __K_XKBAPP_H__
30 #include <kuniqueapplication.h>
32 #include "kxkbcore.h"
34 class LayoutUnit;
36 /**
37 This class is used when calling kxkb as a standalone app
39 class KXKBApp : public KUniqueApplication
41 Q_OBJECT
43 public:
44 explicit KXKBApp(bool allowStyles=true, bool GUIenabled=true);
45 ~KXKBApp();
47 virtual int newInstance();
49 bool isError() { return m_kxkbCore->getStatus() != 0; }
51 // External API:
52 public slots:
53 bool setLayout(const QString& layoutPair) { return m_kxkbCore->setLayout(layoutPair); }
54 QString getCurrentLayout() { return m_kxkbCore->getCurrentLayout(); }
55 QStringList getLayoutsList() { return m_kxkbCore->getLayoutsList(); }
57 private:
58 KxkbCore* m_kxkbCore;
61 #endif