00001 /**************************************************************************** 00002 ** 00003 ** Copyright (C) Qxt Foundation. Some rights reserved. 00004 ** 00005 ** This file is part of the QxtGui module of the Qxt library. 00006 ** 00007 ** This library is free software; you can redistribute it and/or modify it 00008 ** under the terms of the Common Public License, version 1.0, as published 00009 ** by IBM, and/or under the terms of the GNU Lesser General Public License, 00010 ** version 2.1, as published by the Free Software Foundation. 00011 ** 00012 ** This file is provided "AS IS", without WARRANTIES OR CONDITIONS OF ANY 00013 ** KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY 00014 ** WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR 00015 ** FITNESS FOR A PARTICULAR PURPOSE. 00016 ** 00017 ** You should have received a copy of the CPL and the LGPL along with this 00018 ** file. See the LICENSE file and the cpl1.0.txt/lgpl-2.1.txt files 00019 ** included with the source distribution for more information. 00020 ** If you did not receive a copy of the licenses, contact the Qxt Foundation. 00021 ** 00022 ** <http://libqxt.org> <foundation@libqxt.org> 00023 ** 00024 ****************************************************************************/ 00025 00026 #ifndef QXTLANGUAGECOMBOBOX_P_H 00027 #define QXTLANGUAGECOMBOBOX_P_H 00028 00029 #include "qxtlanguagecombobox.h" 00030 #include "qxtpimpl.h" 00031 #include <QComboBox> 00032 00033 class QxtLanguageComboBoxPrivate : public QObject, public QxtPrivate<QxtLanguageComboBox> 00034 { 00035 Q_OBJECT 00036 public: 00037 QXT_DECLARE_PUBLIC(QxtLanguageComboBox); 00038 00039 public: 00040 explicit QxtLanguageComboBoxPrivate(); 00041 void init(); 00042 00043 QLocale::Language currentLanguage() const; 00044 QString currentLanguageName() const; 00045 00046 void setDisplayMode(QxtLanguageComboBox::DisplayMode mode); 00047 void setTranslationPath(const QString& path); 00048 QxtLanguageComboBox::DisplayMode displayMode() const 00049 { 00050 return _mDisplayMode; 00051 } 00052 QString translationPath() const 00053 { 00054 return _mTranslationPath; 00055 } 00056 00057 public Q_SLOTS: 00058 void setCurrentLanguage(QLocale::Language language); 00059 void comboBoxCurrentIndexChanged(int index); 00060 00061 private: 00062 void handleLanguageChange(); 00063 void reset(); 00064 00065 private: 00066 QxtLanguageComboBox::DisplayMode _mDisplayMode; 00067 QString _mTranslationPath; 00068 QAbstractTableModel* _mModel; 00069 }; 00070 00071 00072 #endif // QXTLANGUAGECOMBOBOX_P_H