diff options
author | am <am@f440f766-f032-0410-8965-dc7d17de2ca0> | 2009-07-17 17:36:23 +0000 |
---|---|---|
committer | am <am@f440f766-f032-0410-8965-dc7d17de2ca0> | 2009-07-17 17:36:23 +0000 |
commit | a477a1998c03bc0e7251463aff5486e3c0872d23 (patch) | |
tree | 1de3c2d32f1f1811a7dcc2058bfaf26c18f7e296 /covereditor.cpp | |
parent | 1b1e48aa11c4518e100004dac594540e6024fa68 (diff) | |
download | SheMov-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 'covereditor.cpp')
-rw-r--r-- | covereditor.cpp | 104 |
1 files changed, 104 insertions, 0 deletions
diff --git a/covereditor.cpp b/covereditor.cpp new file mode 100644 index 0000000..13bd461 --- /dev/null +++ b/covereditor.cpp @@ -0,0 +1,104 @@ +/* + 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 <QStringList> +#include <QLabel> +#include <QGridLayout> + +#include "covereditor.h" + +CoverEditor::CoverEditor(QWidget *parent, Qt::WindowFlags f) : QWidget(parent, f){ + QGridLayout *mainLayout = new QGridLayout; + QLabel *l1 = new QLabel(tr("Front cover")); + mFrontCover = new QComboBox; + mainLayout->addWidget(l1, 0, 0); + mainLayout->addWidget(mFrontCover, 0, 1); + QLabel *l2 = new QLabel(tr("Back cover")); + mBackCover = new QComboBox; + mainLayout->addWidget(l2, 1, 0); + mainLayout->addWidget(mBackCover, 1, 1); + QLabel *l3 = new QLabel(tr("General cover")); + mCovers = new QComboBox; + mainLayout->addWidget(l3, 2, 0); + mainLayout->addWidget(mCovers, 2, 1); + setLayout(mainLayout); +} + +void CoverEditor::setCovers(const QStringList &covers){ + mCoverPaths = covers; + QStringList coverNames("-"); + QString front, back; + int idx(-1); + foreach(QString c, mCoverPaths){ + if((idx = c.lastIndexOf('/')) != -1){ + c.remove(0, idx); + } + if(c.toLower().contains("front")){ + front = c; + } + if(c.toLower().contains("back")){ + back = c; + } + coverNames << c; + } + mFrontCover->clear(); + mFrontCover->addItems(coverNames); + mBackCover->clear(); + mBackCover->addItems(coverNames); + mCovers->clear(); + mCovers->addItems(coverNames); + if(!front.isEmpty()){ + int idx = mFrontCover->findText(front); + if(idx != -1){ + mFrontCover->setCurrentIndex(idx); + } + } + if(!back.isEmpty()){ + int idx = mBackCover->findText(back); + if(idx != -1){ + mBackCover->setCurrentIndex(idx); + } + } +} + +const QString CoverEditor::frontCover() const{ + QString sel = mFrontCover->currentText(); + if(sel.isEmpty() || (sel == "-")){ + return QString(); + } + return findPath(sel); +} + +const QString CoverEditor::backCover() const{ + QString sel = mBackCover->currentText(); + if(sel.isEmpty() || (sel == "-")){ + return QString(); + } + return findPath(sel); +} + +const QString CoverEditor::covers() const{ + QString sel = mCovers->currentText(); + if(sel.isEmpty() || (sel == "-")){ + return QString(); + } + return findPath(sel); + +} + +const QString CoverEditor::findPath(const QString &name) const{ + QString retval; + foreach(QString s, mCoverPaths){ + if(s.endsWith(name)){ + retval = s; + break; + } + } + return retval; +} + |