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.
tdeedu/kvoctrain/kvoctrain/common-dialogs/languageoptions.h

102 lines
2.7 KiB

/***************************************************************************
language options for kvoctrain
-----------------------------------------------------------------------
begin : Tue Apr 5 2005
copyright :(C) 2005 Peter Hedlund
email : peter.hedlund@kdemail.net
-----------------------------------------------------------------------
***************************************************************************/
/***************************************************************************
* *
* 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 LANGUAGEOPTIONS_H
#define LANGUAGEOPTIONS_H
#include <qpopupmenu.h>
#include "languageoptionsbase.h"
#include "langset.h"
class LanguageOptions : public LanguageOptionsBase
{
Q_OBJECT
public:
LanguageOptions(LangSet & langset, QWidget* parent = 0, const char* name = 0, WFlags fl = 0 );
virtual ~LanguageOptions ();
LangSet getLangSet () const;
struct Country
{
Country(const QString& c, const QValueList<int> l, const QString& p, int i)
: country(c), langs(l), pixmap(p), id(i) { }
Country() { }
QString country;
QValueList<int> langs;
QString pixmap;
int id;
};
struct Region
{
Region (const QString& reg)
: region(reg) {}
Region() {}
QString region;
QValueList<Country> countries;
};
void updateWidgets();
bool hasChanged();
bool isDefault();
void updateSettings();
signals:
void widgetModified();
protected slots:
void slotDeleteClicked();
void slotNewClicked();
void slotPixmapClicked();
void slotLangChanged(const QString&);
void slotShort2Changed(const QString&);
void slotShortActivated(const QString&);
void slotNewNameChanged(const QString&);
void slotLangFromGlobalActivated(int);
void slotLangFromISO6391Activated(int);
void slotKeyboardLayoutChanged(const QString&);
private:
bool setPixmap(QString pm);
void enableLangWidgets();
void loadCountryData();
void loadISO6391Data();
void createISO6391Menus();
LangSet global_langset;
QMap<int, Country> countryIdMap;
QPopupMenu * langset_popup;
QPopupMenu * iso6391_popup;
LangSet m_langSet;
QString m_lastPix;
bool m_hasChanged;
};
#endif