You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
111 lines
4.1 KiB
111 lines
4.1 KiB
/***************************************************************************
|
|
kbconfig.h - description
|
|
-------------------
|
|
begin : Sun Jul 8 2001
|
|
copyright : (C) 2001 by Leonid Zeitlin
|
|
email : lz@europe.com
|
|
***************************************************************************/
|
|
|
|
/***************************************************************************
|
|
* *
|
|
* 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. *
|
|
* *
|
|
***************************************************************************/
|
|
|
|
#ifndef KBCONFIG_H
|
|
#define KBCONFIG_H
|
|
|
|
#include "kbgroup.h"
|
|
|
|
#include <ntqptrvector.h>
|
|
#include <ntqvaluevector.h>
|
|
#include <tdeconfig.h>
|
|
|
|
#define ICONS_SECTION "Icons"
|
|
#define OPTIONS_SECTION "Options"
|
|
|
|
#define FLAG_ICON_WIDTH 21
|
|
#define FLAG_ICON_HEIGHT 14
|
|
|
|
class TDEGlobalAccel;
|
|
|
|
typedef TQPtrVector<KBGroup> KBGroupVector;
|
|
|
|
/**The class that stores configuration information of KBSwitch
|
|
*@author Leonid Zeitlin
|
|
*/
|
|
|
|
class KBConfig {
|
|
public:
|
|
enum IconStyle { ICON_FLAG, ICON_CODE, ICON_CODE_AND_FLAG };
|
|
enum GroupScope { SCOPE_GLOBAL, SCOPE_CLASS, SCOPE_WINDOW };
|
|
private:
|
|
KBGroupVector m_groups;
|
|
bool m_toggle_mode;
|
|
int m_default_groupno;
|
|
//bool m_perwindow_group;
|
|
GroupScope m_group_scope;
|
|
bool m_autostart;
|
|
bool m_use_shortcuts;
|
|
IconStyle m_icon_style;
|
|
TDEGlobalAccel *m_keys;
|
|
public:
|
|
KBConfig();
|
|
~KBConfig();
|
|
int groupCount() { return m_groups.count(); };
|
|
KBGroup *getGroup(int groupno) { return m_groups[groupno]; };
|
|
bool toggle_mode() {return m_toggle_mode; };
|
|
/** No descriptions */
|
|
void set_toggle_mode(bool value) {m_toggle_mode = value; };
|
|
int default_groupno() { return m_default_groupno; };
|
|
void set_default_groupno(int value) { m_default_groupno = value; };
|
|
/*bool perwindow_group() { return m_perwindow_group; };
|
|
void set_perwindow_group(int value) { m_perwindow_group = value; };*/
|
|
GroupScope group_scope() { return m_group_scope; }
|
|
void set_group_scope(GroupScope value) { m_group_scope = value; }
|
|
bool autostart() { return m_autostart; }
|
|
void set_autostart(bool value) { m_autostart = value; }
|
|
IconStyle icon_style() { return m_icon_style; }
|
|
void set_icon_style(IconStyle value) { m_icon_style = value; }
|
|
bool use_shortcuts() { return m_use_shortcuts; }
|
|
void set_use_shortcuts(bool value) { m_use_shortcuts = value; }
|
|
TDEGlobalAccel *keys() { return m_keys; }
|
|
/** Load the KBSwitch configration from the application TDEConfig object */
|
|
void load(TDEConfig *config);
|
|
/** Save the KBSwitch configration to the application TDEConfig object */
|
|
void save(TDEConfig *config);
|
|
/** No descriptions */
|
|
/*void notifyChanged();*/
|
|
/*static TQString entryForGroup(int i) {
|
|
return TQString("Group%1").arg(i+1);
|
|
}*/
|
|
void drawIcons(IconStyle icon_style, TQValueVector<TQPixmap> *icons,
|
|
TQStringList *iconpaths);
|
|
void checkKeysEnabled();
|
|
int getNextGroup(int groupno) {
|
|
return groupno >= groupCount() - 1 ? 0 : groupno + 1;
|
|
}
|
|
private: // Private methods
|
|
/** No descriptions */
|
|
//void guessGroupPixmaps();
|
|
/** No descriptions */
|
|
//void drawDefaultPixmaps();
|
|
/** No descriptions */
|
|
//void loadConfiguredPixmaps(TDEConfig *config);
|
|
void drawFlagPixmap(TQPixmap &pix, TQString &path, const TQString &code,
|
|
int group, TDEConfig *config);
|
|
void drawCodePixmap(TQPixmap &pix, const TQString &code);
|
|
void drawCodeAndFlagPixmap(TQPixmap &pix, TQString &path,
|
|
const TQString &countryCode, const TQString &langCode, int group,
|
|
TDEConfig *config);
|
|
void drawDefaultPixmap(TQPixmap &pix, int group);
|
|
bool getGroupImage(TQImage &img, TQString &path, const TQString &code, int group,
|
|
TDEConfig *config);
|
|
void getXkbLayouts(TQStringList &layouts);
|
|
};
|
|
|
|
#endif
|