summaryrefslogtreecommitdiffstats
path: root/listeditor.cpp
diff options
context:
space:
mode:
authoram <am@f440f766-f032-0410-8965-dc7d17de2ca0>2009-07-17 17:36:23 +0000
committeram <am@f440f766-f032-0410-8965-dc7d17de2ca0>2009-07-17 17:36:23 +0000
commita477a1998c03bc0e7251463aff5486e3c0872d23 (patch)
tree1de3c2d32f1f1811a7dcc2058bfaf26c18f7e296 /listeditor.cpp
parent1b1e48aa11c4518e100004dac594540e6024fa68 (diff)
downloadSheMov-a477a1998c03bc0e7251463aff5486e3c0872d23.tar.gz
SheMov-a477a1998c03bc0e7251463aff5486e3c0872d23.tar.bz2
SheMov-a477a1998c03bc0e7251463aff5486e3c0872d23.zip
Huge changes:
-Created an application icon and one for archives -implemented database configuration dialog -implemented listeditor -implemented covereditor -implemented md5sum helper -implemented archivefilewidget -Debugging spree: fixed SQL-statements and ListModel git-svn-id: file:///var/svn/repos2/shemov/trunk@389 f440f766-f032-0410-8965-dc7d17de2ca0
Diffstat (limited to 'listeditor.cpp')
-rw-r--r--listeditor.cpp67
1 files changed, 67 insertions, 0 deletions
diff --git a/listeditor.cpp b/listeditor.cpp
new file mode 100644
index 0000000..d3d2caf
--- /dev/null
+++ b/listeditor.cpp
@@ -0,0 +1,67 @@
+/*
+ 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 "listeditor.h"
+#include "listmodel.h"
+
+ListEditor::ListEditor(ListModel *model, QWidget *parent) : QWidget(parent), mModel(model){
+ mItems = new QComboBox;
+ mItems->setModel(mModel);
+
+ mEdit = new QLineEdit;
+
+ 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(mItems);
+ mainLayout->addWidget(mEdit);
+ mainLayout->addLayout(buttonLayout);
+
+ connect(mItems, SIGNAL(currentIndexChanged(const QString&)), this, SLOT(itemChanged(const QString &)));
+
+ setLayout(mainLayout);
+}
+
+void ListEditor::addItem(){
+ if(mEdit->text().isEmpty()){
+ return;
+ }
+ QString newItem = mEdit->text().toLower();
+ mModel->addItem(newItem);
+}
+
+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);
+}
+