29 #include <QtGui/QTableWidget>
30 #include <QtGui/QHeaderView>
39 #include "selectlanguagedlg.moc"
43 const QString& caption,
44 const QStringList& languageCodes,
51 setButtons(KDialog::Help|KDialog::Ok|KDialog::Cancel);
53 m_langList =
new QTableWidget(
this );
54 m_langList->setColumnCount(2);
55 m_langList->verticalHeader()->hide();
56 m_langList->setHorizontalHeaderItem(0,
new QTableWidgetItem(i18n(
"Language")));
57 m_langList->setHorizontalHeaderItem(1,
new QTableWidgetItem(i18n(
"Code")));
58 m_langList->horizontalHeader()->setResizeMode(QHeaderView::Stretch);
59 m_langList->setSelectionBehavior(QAbstractItemView::SelectRows);
61 m_langList->setSelectionMode(QAbstractItemView::ExtendedSelection);
63 m_langList->setSelectionMode(QAbstractItemView::SingleSelection);
64 QStringList allLocales = KGlobal::locale()->allLanguagesList();
67 const int allLocalesCount = allLocales.count();
68 for (
int ndx=0; ndx < allLocalesCount; ++ndx)
70 locale = allLocales[ndx];
72 if (!language.isEmpty()) {
73 int row = m_langList->rowCount();
74 m_langList->setRowCount(row + 1);
75 m_langList->setItem(row, 0,
new QTableWidgetItem(language));
76 m_langList->setItem(row, 1,
new QTableWidgetItem(locale));
77 if (languageCodes.contains(locale)) m_langList->selectRow(row);
81 m_langList->sortItems(0);
84 m_langList->insertRow(0);
85 m_langList->setItem(0, 0,
new QTableWidgetItem(QLatin1String(
"" )));
86 m_langList->setItem(0, 1,
new QTableWidgetItem(QLatin1String(
"" )));
88 setMainWidget(m_langList);
89 setHelp(QLatin1String(
"select-language" ), QLatin1String(
"jovie" ));
90 QSize size = m_langList->minimumSize();
92 m_langList->setMinimumSize(size);
97 return firstSelectedItem(0);
102 return firstSelectedItem(1);
107 return allSelectedItems(0);
112 return allSelectedItems(1);
115 QString SelectLanguageDlg::firstSelectedItem(
int col)
118 for (
int row = 0; row < m_langList->rowCount(); ++row) {
119 if (m_langList->isItemSelected(m_langList->item(row, col)))
120 return m_langList->item(row, col)->text();
125 QStringList SelectLanguageDlg::allSelectedItems(
int col)
128 for (
int row = 0; row < m_langList->rowCount(); ++row) {
129 if (m_langList->isItemSelected(m_langList->item(row, col)))
130 sl.append(m_langList->item(row, col)->text());
SelectLanguageDlg(QWidget *parent=0, const QString &caption=i18n("Select Language"), const QStringList &languageCodes=QStringList(), bool selectMode=SingleSelect, bool blankMode=BlankAllowed)
Constructor.
QStringList selectedLanguageCodes()
In multiple select mode, returns the list of language codes user chose.
QString selectedLanguage()
In single select mode, returns the language user chose.
QStringList selectedLanguages()
In multiple select mode, returns list of languages user chose.
QString selectedLanguageCode()
In single select mode, returns the language code user chose.