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

103 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 <tqpopupmenu.h>
#include "languageoptionsbase.h"
#include "langset.h"
class LanguageOptions : public LanguageOptionsBase
{
TQ_OBJECT
public:
LanguageOptions(LangSet & langset, TQWidget* parent = 0, const char* name = 0, WFlags fl = 0 );
virtual ~LanguageOptions ();
LangSet getLangSet () const;
struct Country
{
Country(const TQString& c, const TQValueList<int> l, const TQString& p, int i)
: country(c), langs(l), pixmap(p), id(i) { }
Country() { }
TQString country;
TQValueList<int> langs;
TQString pixmap;
int id;
};
struct Region
{
Region (const TQString& reg)
: region(reg) {}
Region() {}
TQString region;
TQValueList<Country> countries;
};
void updateWidgets();
bool hasChanged();
bool isDefault();
void updateSettings();
signals:
void widgetModified();
protected slots:
void slotDeleteClicked();
void slotNewClicked();
void slotPixmapClicked();
void slotLangChanged(const TQString&);
void slotShort2Changed(const TQString&);
void slotShortActivated(const TQString&);
void slotNewNameChanged(const TQString&);
void slotLangFromGlobalActivated(int);
void slotLangFromISO6391Activated(int);
void slotKeyboardLayoutChanged(const TQString&);
private:
bool setPixmap(TQString pm);
void enableLangWidgets();
void loadCountryData();
void loadISO6391Data();
void createISO6391Menus();
LangSet global_langset;
TQMap<int, Country> countryIdMap;
TQPopupMenu * langset_popup;
TQPopupMenu * iso6391_popup;
LangSet m_langSet;
TQString m_lastPix;
bool m_hasChanged;
};
#endif