From: Mikko Keinänen Date: Tue, 7 Dec 2010 22:23:49 +0000 (+0200) Subject: Adding now adds an empty string to list and starts edit for that string. X-Git-Url: http://vcs.maemo.org/git/?a=commitdiff_plain;ds=sidebyside;h=d7d05943bbdf9ffe4f572c28322563c0246097f5;p=emufront Adding now adds an empty string to list and starts edit for that string. Emits signal after editing is done. --- diff --git a/src/widgets/stringlistwidget.cpp b/src/widgets/stringlistwidget.cpp index 3bd3c3a..e3b7a86 100644 --- a/src/widgets/stringlistwidget.cpp +++ b/src/widgets/stringlistwidget.cpp @@ -30,8 +30,8 @@ StringListWidget::StringListWidget(QWidget *parent, bool sort, int sortIndex) : 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); @@ -49,20 +49,16 @@ void StringListWidget::connectSignals() { 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 @@ -101,3 +97,8 @@ void StringListWidget::clear() { stringList->clear(); } + +void StringListWidget::itemUpdated(QListWidgetItem *) +{ + emit stringListUpdated(); +} diff --git a/src/widgets/stringlistwidget.h b/src/widgets/stringlistwidget.h index 794c75f..934fd8f 100644 --- a/src/widgets/stringlistwidget.h +++ b/src/widgets/stringlistwidget.h @@ -23,6 +23,7 @@ #include class QListWidget; +class QListWidgetItem; class QPushButton; class StringListWidget : public QWidget @@ -43,6 +44,7 @@ protected: private slots: void addClicked(); void removeClicked(); + void itemUpdated(QListWidgetItem *); private: void initUi();