diff options
Diffstat (limited to 'listeditor.cpp')
-rw-r--r-- | listeditor.cpp | 82 |
1 files changed, 0 insertions, 82 deletions
diff --git a/listeditor.cpp b/listeditor.cpp deleted file mode 100644 index 244b11c..0000000 --- a/listeditor.cpp +++ /dev/null @@ -1,82 +0,0 @@ -/* - This program is free software; you can redistribute it and/or - modify it under the terms of the GNU General Public License - as published by the Free Software Foundation; either version - 2 of the License, or (at your option) any later version. -*/ - -#include <QComboBox> -#include <QLineEdit> -#include <QPushButton> -#include <QHBoxLayout> -#include <QVBoxLayout> -#include <QCompleter> -#include <QLabel> - -#include "listeditor.h" -#include "listmodel.h" - -ListEditor::ListEditor(ListModel *model, QWidget *parent) : QWidget(parent), mModel(model){ - QString caption = QString(tr("Edit %1s")).arg(model->table()); - QLabel *l1 = new QLabel(caption); - - mItems = new QComboBox; - mItems->setModel(mModel); - - mEdit = new QLineEdit; - QCompleter *completer = new QCompleter(this); - completer->setModel(mModel); - completer->setCompletionRole(Qt::DisplayRole); - mEdit->setCompleter(completer); - - mAdd = new QPushButton(tr("Add")); - connect(mAdd, SIGNAL(clicked()), this, SLOT(addItem())); - mRemove = new QPushButton(tr("Remove")); - connect(mRemove, SIGNAL(clicked()), this, SLOT(removeItem())); - mRename = new QPushButton(tr("Rename")); - connect(mRename, SIGNAL(clicked()), this, SLOT(renameItem())); - - QHBoxLayout *buttonLayout = new QHBoxLayout; - buttonLayout->addWidget(mAdd); - buttonLayout->addWidget(mRemove); - - QVBoxLayout *mainLayout = new QVBoxLayout; - mainLayout->addWidget(l1); - mainLayout->addWidget(mItems); - mainLayout->addWidget(mEdit); - mainLayout->addLayout(buttonLayout); - mainLayout->setContentsMargins(0, 0, 0, 0); - - setLayout(mainLayout); -} - -void ListEditor::addItem(){ - if(mEdit->text().isEmpty()){ - return; - } - QString newItem = mEdit->text().toLower().trimmed(); - QModelIndex idx = mModel->index(newItem); - if(idx == QModelIndex()){ - mModel->addItem(newItem); - emit itemAdded(newItem); - }else{ - emit itemAdded(idx.data().toString()); - } -} - -void ListEditor::removeItem(){ - mModel->removeItem(mItems->currentText()); -} - -void ListEditor::renameItem(){ - QString oldName = mItems->currentText(); - QString newName = mEdit->text(); - if(!newName.isEmpty()){ - mModel->renameItem(oldName, newName); - } -} - -void ListEditor::itemChanged(const QString &name){ - mEdit->setText(name); -} - |