From 46a552d89c70895abc75d94f3c647be29873afd9 Mon Sep 17 00:00:00 2001 From: Arno Date: Fri, 26 Jul 2013 15:01:19 +0200 Subject: Use new icon scheme Use new icon configuration consistently in: * Filemanager * NewMovieWizard * Experimental view --- archivecontroller.cpp | 13 +++++++++++-- archivecontroller.h | 5 +++++ archivemodel.cpp | 36 ++++++++++++++++++++++++++++++++++++ archivemodel.h | 3 +++ archiveview.cpp | 2 +- archiveview.h | 2 ++ newmoviewizard.cpp | 6 +++++- shemov.cpp | 1 + 8 files changed, 64 insertions(+), 4 deletions(-) diff --git a/archivecontroller.cpp b/archivecontroller.cpp index 869ffb0..30d94f3 100644 --- a/archivecontroller.cpp +++ b/archivecontroller.cpp @@ -25,6 +25,7 @@ ArchiveController::ArchiveController(QObject *parent) : QObject(parent) { if(parent){ mParentWidget = qobject_cast(this->parent()); } + readConfig(); } void ArchiveController::setArchiveView(ArchiveView *view){ @@ -168,6 +169,14 @@ void ArchiveController::addActionForTree(QAction *a){ mArchiveTree->addAction(a); } +void ArchiveController::readConfig(){ + QSettings s; + QString actorS = s.value("ui/actoricon", "Dildo").toString(); + mActorIcon = QIcon(SmGlobals::instance()->icons().value(actorS)); + QString genreS = s.value("ui/genreicon", "Dildo").toString(); + mGenreIcon = QIcon(SmGlobals::instance()->icons().value(genreS)); +} + void ArchiveController::treeSelectionChanged(const QItemSelection &selected, const QItemSelection &deselected){ Q_UNUSED(selected); Q_UNUSED(deselected); @@ -185,13 +194,13 @@ void ArchiveController::treeSelectionChanged(const QItemSelection &selected, con QStringList actors = mArchiveModel->actors(ids); mActorModel->clear(); foreach(QString actor, actors){ - QStandardItem *newItem = new QStandardItem(QIcon(":/spreadingpants.png"), actor); + QStandardItem *newItem = new QStandardItem(mActorIcon, actor); mActorModel->appendRow(newItem); } QStringList genres = mArchiveModel->genres(ids); mGenreModel->clear(); foreach(QString genre, genres){ - QStandardItem *newItem = new QStandardItem(QIcon(":/spreadingpants.png"), genre); + QStandardItem *newItem = new QStandardItem(mGenreIcon, genre); mGenreModel->appendRow(newItem); } QString metaData = mArchiveModel->metadata(*ids.begin()); diff --git a/archivecontroller.h b/archivecontroller.h index f381584..750b017 100644 --- a/archivecontroller.h +++ b/archivecontroller.h @@ -11,6 +11,7 @@ #include #include #include +#include class ArchiveView; class ArchiveTree; @@ -50,6 +51,7 @@ class ArchiveController : public QObject { void editFileType(); void editFileNo(); void addActionForTree(QAction *a); + void readConfig(); private slots: void fileDoubleClicked(const QModelIndex &idx); @@ -70,6 +72,9 @@ class ArchiveController : public QObject { QTextEdit *mMetadataView; QWidget *mParentWidget; QList mActionsForTree; + QIcon mActorIcon; + QIcon mGenreIcon; + QIcon mFileIcon; }; #endif // ARCHIVECONTROLLER_H diff --git a/archivemodel.cpp b/archivemodel.cpp index 59d1e74..255910f 100644 --- a/archivemodel.cpp +++ b/archivemodel.cpp @@ -19,6 +19,7 @@ #include "smtreeitem.h" #include "archivemodel.h" #include "helper.h" +#include "smglobals.h" ArchiveModel::ArchiveModel(const QStringList &headers, QObject *parent) : SmTreeModel(headers, parent), mOrder(NoOrder){ mDb = QSqlDatabase::database("treedb"); @@ -38,6 +39,7 @@ ArchiveModel::ArchiveModel(const QStringList &headers, QObject *parent) : SmTree connect(collectorMapper, SIGNAL(mapped(QObject*)), this, SLOT(collectorFinished(QObject*))); mCollectors << c1 << c2 << c3; connect(this, SIGNAL(needRefresh()), this, SLOT(refresh())); + readConfig(); refresh(); } @@ -99,6 +101,12 @@ QVariant ArchiveModel::data(const QModelIndex &index, int role) const{ if(role == SubtitleRole){ return item->data(Subtitle); } + if(role == Qt::DecorationRole){ + if(index.column() == 0){ + return mNodeIcons.value(item->data(Type).toInt()); + } + return QVariant(); + } return SmTreeModel::data(index, role); } @@ -510,6 +518,17 @@ void ArchiveModel::refresh(){ } } +void ArchiveModel::readConfig(){ + QSettings s; + QString seriesS = s.value("ui/seriesicon", "Dildo").toString(); + mNodeIcons.insert(SeriesNode, QIcon(SmGlobals::instance()->icons().value(seriesS))); + mNodeIcons.insert(SeriesPartNode, QIcon(SmGlobals::instance()->icons().value(seriesS))); + QString actorS = s.value("ui/actoricon", "Dildo").toString(); + mNodeIcons.insert(ActorNode, QIcon(SmGlobals::instance()->icons().value(actorS))); + QString genreS = s.value("ui/genreicon", "Dildo").toString(); + mNodeIcons.insert(GenreNode, QIcon(SmGlobals::instance()->icons().value(genreS))); +} + void ArchiveModel::collectorFinished(QObject *thread){ ArchiveCollector *t = qobject_cast(thread); SmTreeItem *rootCopy = t->rootItem(); @@ -639,6 +658,7 @@ ArchiveFilesModel::ArchiveFilesModel(const QStringList &headers, QObject *parent mRoleDbColumnMap.insert(FileTypeRole, "sifiletype"); mRoleDbColumnMap.insert(FileNumberRole, "sifileno"); mRoleDbColumnMap.insert(QualityRole, "siquality"); + readConfig(); } QVariant ArchiveFilesModel::data(const QModelIndex &index, int role) const { @@ -724,6 +744,16 @@ QVariant ArchiveFilesModel::data(const QModelIndex &index, int role) const { return QFont("courier new"); } } + if(role == Qt::DecorationRole){ + if(index.column() == 0){ + if(item->parent() == root()){ + return QVariant(); + }else{ + return decorationIcon(); + } + } + return QVariant(); + } return SmTreeModel::data(index, role); } @@ -833,6 +863,12 @@ void ArchiveFilesModel::refresh(){ populate(mSeriesPartIds); } +void ArchiveFilesModel::readConfig(){ + QSettings s; + QString fileS = s.value("ui/fileicon", "Dildo").toString(); + setDecorationIcon(QIcon(SmGlobals::instance()->icons().value(fileS))); +} + /* * ArchiveCollector BEGIN */ diff --git a/archivemodel.h b/archivemodel.h index 185d296..337de65 100644 --- a/archivemodel.h +++ b/archivemodel.h @@ -62,6 +62,7 @@ class ArchiveModel : public SmTreeModel { void setOrder(int order); void setOrder(const QString &order); void refresh(); + void readConfig(); private slots: void collectorFinished(QObject *thread); @@ -78,6 +79,7 @@ class ArchiveModel : public SmTreeModel { QSqlDatabase mDb; QHash mAvailableOrders; QList mCollectors; + QHash mNodeIcons; int mOrder; }; @@ -98,6 +100,7 @@ class ArchiveFilesModel : public SmTreeModel { public slots: void refresh(); + void readConfig(); private: QSet mSeriesPartIds; diff --git a/archiveview.cpp b/archiveview.cpp index ca5615c..3031815 100644 --- a/archiveview.cpp +++ b/archiveview.cpp @@ -483,7 +483,7 @@ void MappingEditorWidget::addItem(){ return; } QStandardItem *newItem = new QStandardItem(itemName); - newItem->setIcon(QIcon(":/huge_bra.png")); + newItem->setIcon(mDecorationIcon); mModel->appendRow(newItem); mProxy->sort(0, mProxy->sortOrder()); mEditor->clear(); diff --git a/archiveview.h b/archiveview.h index e3dfba6..6627508 100644 --- a/archiveview.h +++ b/archiveview.h @@ -144,6 +144,7 @@ class MappingEditorWidget : public QWidget { void fillCompleter(const QStringList &completions); void setCurrentItems(const QStringList &items); QStringList items() const; + void setDecorationItem(const QIcon &icon) { mDecorationIcon = icon; } public slots: void clear(); @@ -162,6 +163,7 @@ class MappingEditorWidget : public QWidget { QCompleter *mCompleter; QStringListModel *mCompleterModel; QString mCaption; + QIcon mDecorationIcon; }; /* dialog putting MappingEditorWidget and diff --git a/newmoviewizard.cpp b/newmoviewizard.cpp index ad74f41..9447a6c 100644 --- a/newmoviewizard.cpp +++ b/newmoviewizard.cpp @@ -417,10 +417,15 @@ MovieMappingPage::MovieMappingPage(const QString &table, QWidget *parent) : QWiz void MovieMappingPage::initializePage(){ ArchiveController *c = SmGlobals::instance()->archiveController(); + QSettings s; if(mTable.toLower() == "actors"){ mWidget->fillCompleter(c->archiveTreeModel()->allActors()); + QString actorS = s.value("ui/actoricon", "Dildo").toString(); + mWidget->setDecorationItem(QIcon(SmGlobals::instance()->icons().value(actorS))); }else if(mTable.toLower() == "genres"){ mWidget->fillCompleter(c->archiveTreeModel()->allGenres()); + QString genreS = s.value("ui/genreicon", "Dildo").toString(); + mWidget->setDecorationItem(QIcon(SmGlobals::instance()->icons().value(genreS))); } mWidget->clear(); } @@ -428,7 +433,6 @@ void MovieMappingPage::initializePage(){ MovieMetadataPage::MovieMetadataPage(QWidget *parent) : QWizardPage(parent){ setTitle(tr("Edit movie metadata")); setSubTitle(tr("Set the movie metadata here, as far as known")); - //mModel = static_cast(SmGlobals::instance()->model("SeriesMetadata")); setupGui(); } diff --git a/shemov.cpp b/shemov.cpp index c7ba5db..7acf59f 100644 --- a/shemov.cpp +++ b/shemov.cpp @@ -128,6 +128,7 @@ SheMov::SheMov(QWidget *parent, Qt::WindowFlags flags) : QMainWindow(parent, fla connect(this, SIGNAL(configChanged()), mFSWidget->fileView(), SLOT(readConfig())); connect(this, SIGNAL(configChanged()), mATree->seriesWidget(), SLOT(readSettings())); connect(this, SIGNAL(configChanged()), picViewer, SLOT(readSettings())); + connect(this, SIGNAL(configChanged()), c->archiveTreeModel(), SLOT(readConfig())); connect(mFSWidget, SIGNAL(mounted(bool)), this, SLOT(checkMount(bool))); QWidget *centralWidget = new QWidget; -- cgit v1.2.3-70-g09d2