/*************************************************************************** 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 #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 l, const TQString& p, int i) : country(c), langs(l), pixmap(p), id(i) { } Country() { } TQString country; TQValueList langs; TQString pixmap; int id; }; struct Region { Region (const TQString& reg) : region(reg) {} Region() {} TQString region; TQValueList 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 countryIdMap; TQPopupMenu * langset_popup; TQPopupMenu * iso6391_popup; LangSet m_langSet; TQString m_lastPix; bool m_hasChanged; }; #endif