void StringListWidget::initUi()
{
stringList = new QListWidget(this);
- btnAdd = new QPushButton(tr("&Add"), this);
- btnRemove = new QPushButton(tr("&Remove"), this);
+ btnAdd = new QPushButton(tr("&+"), this);
+ btnRemove = new QPushButton(tr("&-"), this);
QVBoxLayout *rightLayout = new QVBoxLayout;
rightLayout->addWidget(btnAdd);
{
connect(btnAdd, SIGNAL(clicked()), this, SLOT(addClicked()));
connect(btnRemove, SIGNAL(clicked()), this, SLOT(removeClicked()));
+ connect(stringList, SIGNAL(itemChanged(QListWidgetItem*)), this, SLOT(itemUpdated(QListWidgetItem *)));
}
void StringListWidget::addClicked()
{
- QString input = QInputDialog::getText(this, tr("Add"), tr("Add new item"));
- input = input.trimmed();
- if (input.isEmpty()) return;
- if (!confirmInput(input)) {
- QMessageBox::information(this, tr("Input failed!"), ("Input was not accepted."));
- return;
- }
- stringList->addItem(input);
- stringList->sortItems();
- emit stringListUpdated();
+ QListWidgetItem *item = new QListWidgetItem;
+ item->setText("");
+ item->setFlags(item->flags() | Qt::ItemIsEditable);
+ stringList->insertItem(0, item);
+ stringList->editItem(item);
}
bool StringListWidget::confirmInput(const QString &) const
{
stringList->clear();
}
+
+void StringListWidget::itemUpdated(QListWidgetItem *)
+{
+ emit stringListUpdated();
+}