Warning, file /education/kwordquiz/src/dlglanguage.cpp was not indexed or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).
0001 /* 0002 SPDX-FileCopyrightText: 2004-2009 Peter Hedlund <peter.hedlund@kdemail.net> 0003 SPDX-License-Identifier: GPL-2.0-or-later 0004 */ 0005 0006 #include "dlglanguage.h" 0007 0008 #include <QDBusInterface> 0009 #include <QDBusReply> 0010 #include <QDialogButtonBox> 0011 #include <QPushButton> 0012 #include <QVBoxLayout> 0013 0014 #include <KLocalizedString> 0015 0016 #include "kwqtablemodel.h" 0017 #include "prefs.h" 0018 0019 DlgLanguage::DlgLanguage(KWQTableModel *model, QWidget *parent): QDialog(parent) 0020 { 0021 setWindowTitle(i18nc("@title:window", "Column Settings")); 0022 QDialogButtonBox *buttonBox = new QDialogButtonBox(QDialogButtonBox::Ok|QDialogButtonBox::Cancel); 0023 QWidget *mainWidget = new QWidget(this); 0024 QVBoxLayout *mainLayout = new QVBoxLayout; 0025 setLayout(mainLayout); 0026 mainLayout->addWidget(mainWidget); 0027 QPushButton *okButton = buttonBox->button(QDialogButtonBox::Ok); 0028 okButton->setDefault(true); 0029 okButton->setShortcut(Qt::CTRL | Qt::Key_Return); 0030 connect(buttonBox, &QDialogButtonBox::accepted, this, &QDialog::accept); 0031 connect(buttonBox, &QDialogButtonBox::rejected, this, &QDialog::reject); 0032 //PORTING SCRIPT: WARNING mainLayout->addWidget(buttonBox) must be last item in layout. Please move it. 0033 mainLayout->addWidget(buttonBox); 0034 0035 setupUi(mainWidget); 0036 0037 const int iconSize = style()->pixelMetric(QStyle::PixelMetric::PM_LargeIconSize); 0038 column1Picture->setPixmap(QIcon::fromTheme(QStringLiteral("question")).pixmap(iconSize)); 0039 column2Picture->setPixmap(QIcon::fromTheme(QStringLiteral("answer")).pixmap(iconSize)); 0040 0041 #if 0 // FIXME KF5: Use QCompleter for this 0042 column1TitleLineEdit->completionObject(true)->setItems(Prefs::columnTitles1()); 0043 column1TitleLineEdit->setCompletionMode(KGlobalSettings::CompletionAuto); 0044 0045 column2TitleLineEdit->completionObject(true)->setItems(Prefs::columnTitles2()); 0046 column2TitleLineEdit->setCompletionMode(KGlobalSettings::CompletionAuto); 0047 #endif 0048 0049 column1TitleLineEdit->setText(model->headerData(0, Qt::Horizontal, Qt::DisplayRole).toString()); 0050 column2TitleLineEdit->setText(model->headerData(1, Qt::Horizontal, Qt::DisplayRole).toString()); 0051 0052 // keyboard layout 0053 // try to talk to kxbk - get a list of keyboard layouts 0054 QDBusInterface kxbk(QStringLiteral("org.kde.keyboard"), QStringLiteral("/Layouts"), QStringLiteral("org.kde.KeyboardLayouts")); 0055 QDBusReply<QStringList> reply = kxbk.call(QStringLiteral("getLayoutsList")); 0056 if (reply.isValid()) { 0057 QStringList layouts = reply; 0058 column1LayoutComboBox->addItems(layouts); 0059 column2LayoutComboBox->addItems(layouts); 0060 column1LayoutComboBox->setEnabled(true); 0061 column2LayoutComboBox->setEnabled(true); 0062 0063 QString layout = model->headerData(0, Qt::Horizontal, KWQTableModel::KeyboardLayoutRole).toString(); 0064 column1LayoutComboBox->setCurrentIndex(column1LayoutComboBox->findText(layout)); 0065 0066 layout = model->headerData(1, Qt::Horizontal, KWQTableModel::KeyboardLayoutRole).toString(); 0067 column2LayoutComboBox->setCurrentIndex(column2LayoutComboBox->findText(layout)); 0068 0069 } else { 0070 qDebug() << "kxkb dbus error"; 0071 column1LayoutComboBox->setEnabled(false); 0072 column2LayoutComboBox->setEnabled(false); 0073 } 0074 0075 QSize s = model->headerData(0, Qt::Horizontal, Qt::SizeHintRole).toSize(); 0076 column1WidthSpinBox->setValue(s.width()); 0077 0078 s = model->headerData(1, Qt::Horizontal, Qt::SizeHintRole).toSize(); 0079 column2WidthSpinBox->setValue(s.width()); 0080 0081 column1TitleLineEdit->setFocus(); 0082 } 0083 0084 ColumnDataList DlgLanguage::columnData() 0085 { 0086 ColumnDataList result; 0087 ColumnData cd; 0088 0089 cd.identifier = column1TitleLineEdit->text(); 0090 cd.layout = column1LayoutComboBox->currentText(); 0091 cd.width = column1WidthSpinBox->value(); 0092 result.append(cd); 0093 0094 cd.identifier = column2TitleLineEdit->text(); 0095 cd.layout = column2LayoutComboBox->currentText(); 0096 cd.width = column2WidthSpinBox->value(); 0097 result.append(cd); 0098 0099 return result; 0100 }