30 this->setWindowTitle(windowTitle);
31 ui->label->setText(availableString);
32 ui->label_2->setText(currentString);
34 KGuiItem::assign(
ui->btnBox->button(QDialogButtonBox::Ok), KStandardGuiItem::ok());
35 KGuiItem::assign(
ui->btnBox->button(QDialogButtonBox::Cancel), KStandardGuiItem::cancel());
38 Q_FOREACH(QString name, available) {
39 QListWidgetItem *item =
new QListWidgetItem(name);
40 item->setData(Qt::UserRole, availableData[i]);
41 ui->lstAvailable->addItem(item);
45 Q_FOREACH(QString name, chosen) {
46 QListWidgetItem *item =
new QListWidgetItem(name);
47 item->setData(Qt::UserRole, chosenData[i]);
48 ui->lstCurrent->addItem(item);
52 ui->lstAvailable->sortItems();
77 QListWidgetItem *item =
ui->lstAvailable->currentItem();
80 const int prevPosition =
ui->lstAvailable->row(item) - 1;
81 const int newPosition =
ui->lstCurrent->currentRow() + 1;
83 ui->lstAvailable->takeItem(
ui->lstAvailable->row(item));
84 ui->lstAvailable->setCurrentRow(qMax(0, prevPosition));
85 ui->lstCurrent->insertItem(newPosition, item);
86 ui->lstCurrent->setCurrentItem(item);
91 QListWidgetItem *item =
ui->lstCurrent->currentItem();
94 const int prevPosition =
ui->lstCurrent->row(item) - 1;
95 const int newPosition =
ui->lstAvailable->currentRow() + 1;
97 ui->lstCurrent->takeItem(
ui->lstCurrent->row(item));
98 ui->lstCurrent->setCurrentRow(qMax(0, prevPosition));
99 ui->lstAvailable->insertItem(newPosition, item);
100 ui->lstAvailable->setCurrentItem(item);
KisDlgListPicker(QString windowTitle, QString availableString, QString currentString, QList< QString > available, QList< QVariant > availableData, QList< QString > chosen, QList< QVariant > currentData, QWidget *parent=0)