summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--archivetreeview.cpp24
-rw-r--r--archivetreeview.h12
-rw-r--r--dbanalyzer.cpp28
-rw-r--r--dbanalyzer.h19
-rw-r--r--filepropertiesdialog.cpp15
-rw-r--r--filepropertiesdialog.h15
-rw-r--r--filestreewidget.cpp27
-rw-r--r--filestreewidget.h4
-rw-r--r--filesystemwidget.cpp13
-rw-r--r--filesystemwidget.h18
-rw-r--r--fileview.cpp11
-rw-r--r--fileview.h2
-rw-r--r--mappingtableeditor.cpp5
-rw-r--r--mappingtableeditor.h9
-rw-r--r--mappingtablewidget.cpp8
-rw-r--r--mappingtablewidget.h10
-rw-r--r--mappingtreewidget.cpp5
-rw-r--r--mappingtreewidget.h11
-rw-r--r--newmoviewizard.cpp14
-rw-r--r--newmoviewizard.h10
-rw-r--r--newpicsdialog.cpp25
-rw-r--r--newpicsdialog.h10
-rw-r--r--pictureswidget.cpp7
-rw-r--r--seriesmetadatamodel.cpp9
-rw-r--r--seriesmetadatamodel.h4
-rw-r--r--seriestreewidget.cpp25
-rw-r--r--seriestreewidget.h14
-rw-r--r--shemov.cpp32
-rw-r--r--shemov.h4
-rw-r--r--smglobals.cpp2
-rw-r--r--smtreeview.cpp9
-rw-r--r--smtreeview.h2
32 files changed, 119 insertions, 284 deletions
diff --git a/archivetreeview.cpp b/archivetreeview.cpp
index fbda038..2eb0b14 100644
--- a/archivetreeview.cpp
+++ b/archivetreeview.cpp
@@ -5,29 +5,11 @@
2 of the License, or (at your option) any later version.
*/
-#include <QtWidgets/QTreeView>
#include <QtWidgets/QSplitter>
-#include <QtWidgets/QHBoxLayout>
-#include <QtWidgets/QVBoxLayout>
-#include <QItemSelectionModel>
-#include <QAbstractItemModel>
-#include <QItemSelection>
-#include <QFileInfoList>
#include <QSettings>
-#include <QHash>
-#include <QProcess>
-#include <QtWidgets/QMessageBox>
-#include <QSqlDatabase>
-#include <QSqlQuery>
-#include <QtWidgets/QMenu>
#include <QtWidgets/QAction>
-#include <QContextMenuEvent>
-#include <QtWidgets/QLabel>
-#include <QtWidgets/QPushButton>
#include <QtWidgets/QHBoxLayout>
-#include <QtWidgets/QVBoxLayout>
#include <QProcess>
-#include <QUrl>
#include <QtWidgets/QMessageBox>
#include <QClipboard>
#include <QtWidgets/QApplication>
@@ -35,8 +17,6 @@
#include "archivetreeview.h"
#include "smglobals.h"
-#include "smtreemodel.h"
-#include "smtreeitem.h"
#include "seriestreewidget.h"
#include "filestreewidget.h"
#include "filestreemodel.h"
@@ -83,10 +63,6 @@ ArchiveTreeView::ArchiveTreeView(QWidget *parent) : QWidget(parent), mShowAllFil
verticalSplitter->setStretchFactor(0, 3);
verticalSplitter->setStretchFactor(1, 1);
- // misc
- mFilesWidget->filesTree()->setAlternatingRowColors(true);
- mSeriesWidget->seriesTree()->setAlternatingRowColors(true);
-
// layout
QHBoxLayout *mainLayout = new QHBoxLayout;
QSplitter *splitter = new QSplitter;
diff --git a/archivetreeview.h b/archivetreeview.h
index 08173db..ac70f16 100644
--- a/archivetreeview.h
+++ b/archivetreeview.h
@@ -9,13 +9,6 @@
#define ARCHIVETREEVIEW_H
#include <QtWidgets/QWidget>
-#include <QModelIndexList>
-#include <QList>
-#include <QSqlDatabase>
-#include <QtWidgets/QTreeView>
-
-#include "smtreemodel.h"
-#include "smdialog.h"
class SeriesTreeWidget;
class FilesTreeWidget;
@@ -26,11 +19,6 @@ class MappingTableModel;
class NoCoverMovieDialog;
class MetadataDisplay;
class QItemSelection;
-class QSqlQuery;
-class QPushButton;
-class QContextMenuEvent;
-class QLabel;
-class QAction;
class ArchiveTreeView : public QWidget
{
diff --git a/dbanalyzer.cpp b/dbanalyzer.cpp
index 90debeb..f9e3830 100644
--- a/dbanalyzer.cpp
+++ b/dbanalyzer.cpp
@@ -6,24 +6,16 @@
*/
#include <QSqlQuery>
-#include <QtWidgets/QTableWidget>
-#include <QtWidgets/QTreeView>
#include <QtWidgets/QPushButton>
-#include <QtWidgets/QHBoxLayout>
-#include <QtWidgets/QVBoxLayout>
-#include <QMutexLocker>
-#include <QtWidgets/QTableWidget>
-#include <QModelIndex>
#include <QtWidgets/QLabel>
-#include <QColor>
#include <QtWidgets/QMenu>
-#include <QtWidgets/QAction>
#include <QtWidgets/QStackedLayout>
#include "dbanalyzer.h"
#include "smtreemodel.h"
#include "smtreeitem.h"
#include "smglobals.h"
+#include "smtreeview.h"
DbAnalyzerDialog::DbAnalyzerDialog(QWidget *parent, Qt::WindowFlags f) : QDialog(parent, f), mMarkMode(DbAnalyzer::NOMARKS), mCurrentView(0){
//create tab widget
@@ -35,7 +27,7 @@ DbAnalyzerDialog::DbAnalyzerDialog(QWidget *parent, Qt::WindowFlags f) : QDialog
//no actors
QWidget *noActorsT = new QWidget;
QStringList noActorsHeaders = QStringList() << tr("Series") << tr("Part/Subtitle") << tr("Series Part") << tr("Seriespart Id") << tr("Series Id") << tr("Seriespart");
- mNoActorsV = new QTreeView;
+ mNoActorsV = new SmTreeView;
mNoActorsM = new SmTreeModel(noActorsHeaders, this);
mNoActorsV->setModel(mNoActorsM);
QVBoxLayout *noActorsL = new QVBoxLayout;
@@ -52,12 +44,11 @@ DbAnalyzerDialog::DbAnalyzerDialog(QWidget *parent, Qt::WindowFlags f) : QDialog
noActorsT->setLayout(noActorsL);
mCurrentView = mNoActorsV;
mMarkMode = DbAnalyzer::MARKS_ACTORS;
- SmGlobals::instance()->treeWidgets().append(mNoActorsV);
//no covers
QWidget *noCoversT = new QWidget;
QStringList noCoversHeaders = QStringList() << tr("Series") << tr("Part/Subtitle") << tr("Series Part") << tr("Seriespart Id") << tr("Series Id") << tr("Seriespart");
- mNoCoversV = new QTreeView;
+ mNoCoversV = new SmTreeView;
mNoCoversM = new SmTreeModel(noCoversHeaders, this);
mNoCoversV->setModel(mNoCoversM);
QVBoxLayout *noCoversL = new QVBoxLayout;
@@ -72,12 +63,11 @@ DbAnalyzerDialog::DbAnalyzerDialog(QWidget *parent, Qt::WindowFlags f) : QDialog
mNoCoversV->setAlternatingRowColors(true);
connect(mNoCoversV, SIGNAL(doubleClicked(QModelIndex)), this, SLOT(noDataDoubleClicked(QModelIndex)));
noCoversT->setLayout(noCoversL);
- SmGlobals::instance()->treeWidgets().append(mNoCoversV);
//stray actors
QWidget *strayActorsT = new QWidget;
QStringList strayActorsHeaders = QStringList() << tr("Actor") << tr("Actor Id") << tr("Count");
- mStrayActorsV = new QTreeView;
+ mStrayActorsV = new SmTreeView;
mStrayActorsM = new SmTreeModel(strayActorsHeaders, this);
mStrayActorsV->setModel(mStrayActorsM);
QVBoxLayout *strayActorsL = new QVBoxLayout;
@@ -88,12 +78,11 @@ DbAnalyzerDialog::DbAnalyzerDialog(QWidget *parent, Qt::WindowFlags f) : QDialog
mStrayActorsV->setSelectionMode(QAbstractItemView::ExtendedSelection);
mStrayActorsV->setAlternatingRowColors(true);
strayActorsT->setLayout(strayActorsL);
- SmGlobals::instance()->treeWidgets().append(mStrayActorsV);
//stray genres
QWidget *strayGenresT = new QWidget;
QStringList strayGenresHeaders = QStringList() << tr("Genre") << tr("Genre Id") << tr("Count");
- mStrayGenresV = new QTreeView;
+ mStrayGenresV = new SmTreeView;
mStrayGenresM = new SmTreeModel(strayGenresHeaders, this);
mStrayGenresV->setModel(mStrayGenresM);
QVBoxLayout *strayGenresL = new QVBoxLayout;
@@ -104,7 +93,6 @@ DbAnalyzerDialog::DbAnalyzerDialog(QWidget *parent, Qt::WindowFlags f) : QDialog
mStrayGenresV->setSelectionMode(QAbstractItemView::ExtendedSelection);
mStrayGenresV->setAlternatingRowColors(true);
strayGenresT->setLayout(strayGenresL);
- SmGlobals::instance()->treeWidgets().append(mStrayGenresV);
//buttons
mCancel = new QPushButton(tr("Cancel"));
@@ -214,7 +202,7 @@ void DbAnalyzerDialog::noDataDoubleClicked(const QModelIndex &idx){
}
void DbAnalyzerDialog::deleteItems(){
- QTreeView *view = 0;
+ SmTreeView *view = 0;
int deleteMode;
switch(mTab->currentIndex()){
case 0:
@@ -288,7 +276,7 @@ void DbAnalyzerDialog::deleteMarks(){
}
}
-void DbAnalyzerDialog::populate(QTreeView *view, SmTreeModel *model, const QList<QList<QVariant> > &data, const QHash<int, QVariant> &marks){
+void DbAnalyzerDialog::populate(SmTreeView *view, SmTreeModel *model, const QList<QList<QVariant> > &data, const QHash<int, QVariant> &marks){
if(data.isEmpty()){
return;
}
@@ -314,7 +302,7 @@ void DbAnalyzerDialog::populate(QTreeView *view, SmTreeModel *model, const QList
}
const QList<int> DbAnalyzerDialog::currentIds() const {
- QTreeView *curView = qobject_cast<QTreeView*>(mCurrentView);
+ SmTreeView *curView = qobject_cast<SmTreeView*>(mCurrentView);
Q_ASSERT(curView);
QModelIndexList curIdxs = curView->selectionModel()->selectedRows(4);
QList<int> retval;
diff --git a/dbanalyzer.h b/dbanalyzer.h
index eec9f5a..cc88bbc 100644
--- a/dbanalyzer.h
+++ b/dbanalyzer.h
@@ -9,18 +9,13 @@
#define DBANALYZER_H
#include <QThread>
-#include <QVariant>
-#include <QList>
-#include <QHash>
#include <QtWidgets/QDialog>
#include <QSqlDatabase>
#include <QMutex>
#include <QModelIndex>
-class QSqlQuery;
class QTabWidget;
-class QTreeView;
-class QPushButton;
+class SmTreeView;
class SmTreeModel;
class DbAnalyzer;
class QLabel;
@@ -50,13 +45,13 @@ class DbAnalyzerDialog : public QDialog {
void deleteMarks();
private:
- void populate(QTreeView *view ,SmTreeModel *model, const QList<QList<QVariant> > &data, const QHash<int, QVariant> &marks = QHash<int, QVariant>());
+ void populate(SmTreeView *view ,SmTreeModel *model, const QList<QList<QVariant> > &data, const QHash<int, QVariant> &marks = QHash<int, QVariant>());
const QList<int> currentIds() const;
QTabWidget *mTab;
- QTreeView *mNoActorsV;
- QTreeView *mNoCoversV;
- QTreeView *mStrayActorsV;
- QTreeView *mStrayGenresV;
+ SmTreeView *mNoActorsV;
+ SmTreeView *mNoCoversV;
+ SmTreeView *mStrayActorsV;
+ SmTreeView *mStrayGenresV;
SmTreeModel *mNoActorsM;
SmTreeModel *mNoCoversM;
SmTreeModel *mStrayActorsM;
@@ -70,7 +65,7 @@ class DbAnalyzerDialog : public QDialog {
QList<QString> mTotals;
DbAnalyzer *mAnalyzer;
int mMarkMode;
- QTreeView *mCurrentView;
+ SmTreeView *mCurrentView;
QStackedLayout *mButtonStack;
};
diff --git a/filepropertiesdialog.cpp b/filepropertiesdialog.cpp
index a36517a..a22076c 100644
--- a/filepropertiesdialog.cpp
+++ b/filepropertiesdialog.cpp
@@ -5,25 +5,19 @@
2 of the License, or (at your option) any later version.
*/
-#include <QtWidgets/QVBoxLayout>
#include <QtWidgets/QHBoxLayout>
#include <QtWidgets/QLabel>
-#include <QtWidgets/QTreeView>
#include <QtWidgets/QPushButton>
#include <QSettings>
-#include <QColor>
-#include <QVariant>
-#include <QPalette>
-#include <QtWidgets/QTabWidget>
#include <QApplication>
#include "filepropertiesdialog.h"
#include "seriesmetadatamodel.h"
-#include "smtreemodel.h"
#include "smtreeitem.h"
+#include "smtreeview.h"
#include "helper.h"
-FilePropertiesDialog::FilePropertiesDialog(int seriesPartId, QWidget *parent, Qt::WindowFlags f) : SmDialog(parent, f){
+FilePropertiesDialog::FilePropertiesDialog(/*int seriesPartId, */QWidget *parent, Qt::WindowFlags f) : SmDialog(parent, f){
//tab
mTab = new QTabWidget;
@@ -45,19 +39,16 @@ FilePropertiesDialog::FilePropertiesDialog(int seriesPartId, QWidget *parent, Qt
//the view + model
mModel = new SmTreeModel((QStringList() << QString() << QString()), this);
- mView = new QTreeView;
+ mView = new SmTreeView;
mView->setHeaderHidden(true);
- mView->setAlternatingRowColors(true);
mView->setEditTriggers(QAbstractItemView::NoEditTriggers);
mView->setModel(mModel);
streamDataLayout->addWidget(mView);
streamData->setLayout(streamDataLayout);
mTab->addTab(streamData, tr("Stream data"));
- mView->setPalette(qApp->palette());
//metadata widget
mMetadata = new MetadataWidget;
- mMetadata->setSeriesPartId(seriesPartId);
mTab->addTab(mMetadata, tr("Metadata"));
//buttons
diff --git a/filepropertiesdialog.h b/filepropertiesdialog.h
index d03eb86..ee9aa96 100644
--- a/filepropertiesdialog.h
+++ b/filepropertiesdialog.h
@@ -8,32 +8,27 @@
#ifndef FILEPROPERTIESDIALOG_H
#define FILEPROPERTIESDIALOG_H
-#include <QList>
-#include <QMap>
-
#include "smdialog.h"
-class QPushButton;
-class QTreeView;
+class SmTreeView;
class QLabel;
class QTabWidget;
class SmTreeModel;
class MetadataWidget;
-class QShowEvent;
-class FilePropertiesDialog : public SmDialog
-{
+class FilePropertiesDialog : public SmDialog {
Q_OBJECT
public:
- explicit FilePropertiesDialog(int seriesPartId, QWidget *parent = 0, Qt::WindowFlags f = 0);
+ explicit FilePropertiesDialog(/*int seriesPartId, */QWidget *parent = 0, Qt::WindowFlags f = 0);
void setFileName(const QString &fileName);
void setStreamData(const QList<QMap<QString, QString> > &streamData);
void addData(const QString &caption, const QMap<QString, QString> &data);
+ MetadataWidget *metaWidget() { return mMetadata; };
private:
QTabWidget *mTab;
MetadataWidget *mMetadata;
- QTreeView *mView;
+ SmTreeView *mView;
QPushButton *mOk;
QPushButton *mCancel;
QLabel *mDescriptionLabel;
diff --git a/filestreewidget.cpp b/filestreewidget.cpp
index 0bf50da..65564f6 100644
--- a/filestreewidget.cpp
+++ b/filestreewidget.cpp
@@ -33,6 +33,7 @@
#include <QDate>
#include "filestreewidget.h"
+#include "filepropertiesdialog.h"
#include "smglobals.h"
#include "filestreemodel.h"
#include "seriestreewidget.h"
@@ -55,6 +56,7 @@ FilesTreeWidget::FilesTreeWidget(QWidget *parent) : QWidget(parent), mSelectedSi
mProxy->setSourceModel(mModel);
mView->setModel(mProxy);
mView->setSortingEnabled(true);
+ mPropDlg = new FilePropertiesDialog(this);
QItemSelectionModel *selModel = mView->selectionModel();
connect(selModel, SIGNAL(selectionChanged(QItemSelection,QItemSelection)), this, SLOT(fileSelectionChanged()));
connect(mView, SIGNAL(doubleClicked(QModelIndex)), this, SLOT(itemDoubleClicked(QModelIndex)));
@@ -172,26 +174,26 @@ void FilesTreeWidget::fileProperties(){
}
QString fullPath = real.data(FilesTreeModel::FullPathRole).toString();
QString mimeType = Helper::mimeType(fullPath);
- FilePropertiesDialog dlg(real.data(FilesTreeModel::SeriesPartIdRole).toInt(), this);
- if(mimeType.startsWith("video")){
- QList<QMap<QString, QString> > fileData = mModel->streamInfo(real);
- dlg.setFileName(real.data(FilesTreeModel::FileNameRole).toString());
- dlg.setStreamData(fileData);
+ mPropDlg->metaWidget()->setSeriesPartId(real.data(FilesTreeModel::SeriesPartIdRole).toInt());
+ if(mimeType.startsWith("video")){
+ QList<QMap<QString, QString> > fileData = mModel->streamInfo(real);
+ mPropDlg->setFileName(real.data(FilesTreeModel::FileNameRole).toString());
+ mPropDlg->setStreamData(fileData);
}else if(mimeType.startsWith("image")){
QMap<QString, QString> imageData = mModel->pictureInfo(real);
- dlg.addData("Image data", imageData);
+ mPropDlg->addData("Image data", imageData);
QMap<QString, QString> textData = mModel->pictureMetaInfo(real);
if(!textData.isEmpty()){
- dlg.addData("Meta data", textData);
+ mPropDlg->addData("Meta data", textData);
}
int fileType = real.data(FilesTreeModel::FileTypeRole).toInt();
QString fileTypeName = mModel->fileTypes().value(fileType);
QString seriesName = real.data(FilesTreeModel::SeriesNameRole).toString();
QString seriesPart = QString::number(real.data(FilesTreeModel::SeriesPartRole).toInt());
QString label = QString(tr("%1\n%2 for %3 %4")).arg(real.data(FilesTreeModel::FileNameRole).toString()).arg(fileTypeName).arg(seriesName).arg(seriesPart);
- dlg.setFileName(label);
+ mPropDlg->setFileName(label);
}
- dlg.exec();
+ mPropDlg->exec();
}
}
@@ -361,7 +363,6 @@ void FilesTreeWidget::playItems(const QStringList &paths){
FilesTreeView::FilesTreeView(QWidget *parent) : SmTreeView("ui/headerpos", parent), mHoverPics(false){
setAttribute(Qt::WA_Hover);
mHoverWin = new HoverWindow(this);
- SmGlobals::instance()->treeWidgets().append(this);
}
void FilesTreeView::readSettings(){
@@ -389,7 +390,7 @@ void FilesTreeView::contextMenuEvent(QContextMenuEvent *event){
bool FilesTreeView::event(QEvent *e){
QHoverEvent *hEvent = static_cast<QHoverEvent*>(e);
if(!hEvent){
- return QTreeView::event(e);
+ return SmTreeView::event(e);
}
QPoint hotSpot(hEvent->pos().x(), hEvent->pos().y() + mCursorOffest);
QModelIndex curIdx = indexAt(hotSpot);
@@ -433,7 +434,7 @@ bool FilesTreeView::event(QEvent *e){
if(e->type() == QEvent::HoverLeave){
return exitHover();
}
- return QTreeView::event(e);
+ return SmTreeView::event(e);
}
bool FilesTreeView::exitHover(bool exitVal){
@@ -574,7 +575,7 @@ FileMoveDialog::FileMoveDialog(QPersistentModelIndex selected, QList<QPersistent
QLabel *l1 = new QLabel(tr("Select destination"));
QVBoxLayout *selectionLayout = new QVBoxLayout;
selectionLayout->addWidget(l1);
- mTree = new QTreeView;
+ mTree = new SmTreeView;
mModel = static_cast<SeriesTreeModel*>(SmGlobals::instance()->model("SeriesModel"));
mTree->setModel(mModel);
selectionLayout->addWidget(mTree);
diff --git a/filestreewidget.h b/filestreewidget.h
index 6369300..abb2872 100644
--- a/filestreewidget.h
+++ b/filestreewidget.h
@@ -19,6 +19,7 @@ typedef QList<QPersistentModelIndex> PersistenModelIndexList;
class FilesTreeView;
class FilesTreeModel;
+class FilePropertiesDialog;
class FilesTreeSortModel;
class SeriesTreeModel;
class PictureViewer2;
@@ -62,6 +63,7 @@ class FilesTreeWidget : public QWidget {
SeriesTreeModel *mSeriesModel;
PictureViewer2 *mPictureViewer;
QModelIndexList mSelectedFiles;
+ FilePropertiesDialog *mPropDlg;
qint64 mSelectedSize;
};
@@ -112,7 +114,7 @@ class FileMoveDialog : public QDialog {
private:
QPushButton *mOk;
QPushButton *mCancel;
- QTreeView *mTree;
+ SmTreeView *mTree;
SeriesTreeModel *mModel;
QList<QPersistentModelIndex> mFiles;
};
diff --git a/filesystemwidget.cpp b/filesystemwidget.cpp
index dce3b19..7ded048 100644
--- a/filesystemwidget.cpp
+++ b/filesystemwidget.cpp
@@ -5,11 +5,8 @@
2 of the License, or (at your option) any later version.
*/
-#include <QtWidgets/QFileSystemModel>
-#include <QtWidgets/QTreeView>
#include <QSettings>
#include <QtWidgets/QSplitter>
-#include <QtWidgets/QVBoxLayout>
#include <QtWidgets/QHBoxLayout>
#include <QtWidgets/QLineEdit>
#include <QtWidgets/QLabel>
@@ -17,9 +14,7 @@
#include <QProcess>
#include <QtWidgets/QApplication>
#include <QtWidgets/QMessageBox>
-#include <QtWidgets/QAction>
#include <QTextStream>
-#include <QSqlQuery>
#include <QClipboard>
#include <QMimeData>
#include <QUrl>
@@ -30,7 +25,6 @@
#include "fileview.h"
#include "shemoviconprovider.h"
#include "filesystemfileproxy.h"
-#include "helper.h"
#include "pictureviewer2.h"
#include "smglobals.h"
#include "smdirmodel.h"
@@ -41,7 +35,7 @@ FilesystemWidget::FilesystemWidget(QWidget *parent) : QWidget(parent), mClipboar
mModel->setFilter(QDir::AllEntries | QDir::NoDot);
mModel->setReadOnly(false);
mIconProvider = new SheMovIconProvider;
- mModel->setIconProvider(mIconProvider);
+ mModel->setIconProvider(mIconProvider);
QStringList fHeaders = QStringList() << tr("Name") << tr("Size") << tr("Type") << tr("Created") << tr("Md5Sum") << tr("Dur./Size") << tr("Bitrate") << tr("Full Path") << tr("Present");
mFileModel = new SmDirModel(fHeaders, this);
@@ -49,7 +43,7 @@ FilesystemWidget::FilesystemWidget(QWidget *parent) : QWidget(parent), mClipboar
mDirProxy = new FilesystemDirProxy;
mDirProxy->setSourceModel(mModel);
- mDirView = new QTreeView;
+ mDirView = new SmTreeView;
mDirView->setModel(mDirProxy);
mDirView->setColumnHidden(1, true);
mDirView->setColumnHidden(2, true);
@@ -59,8 +53,6 @@ FilesystemWidget::FilesystemWidget(QWidget *parent) : QWidget(parent), mClipboar
mDirView->setEditTriggers(QAbstractItemView::NoEditTriggers);
mDirView->setSortingEnabled(true);
mDirView->sortByColumn(0, Qt::AscendingOrder);
- mDirView->setAlternatingRowColors(true);
- SmGlobals::instance()->treeWidgets().append(mDirView);
mFileView = new FileView;
mFileProxy = new FilesystemFileProxy;
@@ -74,7 +66,6 @@ FilesystemWidget::FilesystemWidget(QWidget *parent) : QWidget(parent), mClipboar
mFileView->setSelectionMode(QAbstractItemView::ExtendedSelection);
mFileView->setSelectionBehavior(QAbstractItemView::SelectRows);
- mFileView->setAlternatingRowColors(true);
mFileProxy->setDynamicSortFilter(true);
connect(mFileView->selectionModel(), SIGNAL(selectionChanged(QItemSelection,QItemSelection)), mFileView, SLOT(selectedFilesChanged()));
connect(mFileModel, SIGNAL(modelAboutToBeReset()), mFileView, SLOT(saveSelection()));
diff --git a/filesystemwidget.h b/filesystemwidget.h
index eaa6348..62c42db 100644
--- a/filesystemwidget.h
+++ b/filesystemwidget.h
@@ -9,25 +9,17 @@
#define FILESYSTEMWIDGET_H
#include <QtWidgets/QWidget>
-#include <QPair>
#include <QtWidgets/QFileSystemModel>
-#include <QHash>
#include <QSqlDatabase>
#include <QDateTime>
-class QTreeView;
+class SmTreeView;
class FilesystemDirProxy;
class FileView;
-class QModelIndex;
class FilesystemFileProxy;
class QLineEdit;
-class QFileInfo;
-class QAction;
-class QVariant;
class PictureViewer2;
-class QStringList;
class FileSystemModel;
-class QSqlQuery;
class SheMovIconProvider;
class SmDirModel;
@@ -39,7 +31,7 @@ class FilesystemWidget : public QWidget {
~FilesystemWidget() {}
FileView *fileView() { return mFileView; }
FilesystemFileProxy *fileProxy() { return mFileProxy; }
- FileSystemModel *dirModel() { return mModel; }
+ FileSystemModel *dirModel() { return mModel; }
SmDirModel *fileModel() { return mFileModel; }
const QString windowTitle() const { return mWindowTitle; }
PictureViewer2 *pictureViewer() { return mPicViewer; }
@@ -84,9 +76,9 @@ class FilesystemWidget : public QWidget {
QPair<QString, QStringList> programData(const QString &prefix, const QString &preferred);
QStringList selectedFiles();
QStringList mExpandedDirs;
- FileSystemModel *mModel;
+ FileSystemModel *mModel;
SmDirModel *mFileModel;
- QTreeView *mDirView;
+ SmTreeView *mDirView;
FileView *mFileView;
FilesystemDirProxy *mDirProxy;
FilesystemFileProxy *mFileProxy;
@@ -104,7 +96,7 @@ class FileSystemModel : public QFileSystemModel {
Q_OBJECT
public:
FileSystemModel(QObject *parent = 0);
- ~FileSystemModel() {};
+ ~FileSystemModel() {}
public slots:
void markForClipboard(const QPersistentModelIndex &idx);
diff --git a/fileview.cpp b/fileview.cpp
index a6108bb..1720552 100644
--- a/fileview.cpp
+++ b/fileview.cpp
@@ -42,13 +42,12 @@ FileView::FileView(QWidget *parent) : SmTreeView("ui/fsheaderpos", parent), mDel
mHoverWin = new HoverWindow(this);
QSize curSize = SmGlobals::instance()->cursorSize();
mHoverWin->setHoverOffset(QPoint(curSize.width() + 30, 0));
- SmGlobals::instance()->treeWidgets().append(this);
}
void FileView::setModel(QAbstractItemModel *model){
mProxy = qobject_cast<FilesystemFileProxy*>(model);
mModel = qobject_cast<SmDirModel*>(mProxy->sourceModel());
- QTreeView::setModel(model);
+ SmTreeView::setModel(model);
}
const QVariant FileView::duration() const {
@@ -119,7 +118,7 @@ void FileView::writeConfig(){
}
void FileView::closeEditor(QWidget *editor, QAbstractItemDelegate::EndEditHint hint){
- QTreeView::closeEditor(editor, hint);
+ SmTreeView::closeEditor(editor, hint);
QSortFilterProxyModel *proxy = qobject_cast<QSortFilterProxyModel*>(model());
QModelIndex sourceIdx = proxy->mapToSource(currentIndex());
emit editorClosed(sourceIdx);
@@ -137,7 +136,7 @@ void FileView::contextMenuEvent(QContextMenuEvent *e){
void FileView::keyPressEvent(QKeyEvent *e){
if(!hasFocus()){
- QTreeView::keyPressEvent(e);
+ SmTreeView::keyPressEvent(e);
return;
}
switch(e->key()){
@@ -155,7 +154,7 @@ void FileView::keyPressEvent(QKeyEvent *e){
e->accept();
break;
default:
- QTreeView::keyPressEvent(e);
+ SmTreeView::keyPressEvent(e);
}
}
@@ -222,7 +221,7 @@ bool FileView::event(QEvent *e){
}else if(e->type() == QEvent::HoverLeave){
return exitHover();
}
- return QTreeView::event(e);
+ return SmTreeView::event(e);
}
void FileView::selectedFilesChanged(){
diff --git a/fileview.h b/fileview.h
index 2ddf3dd..ad2b522 100644
--- a/fileview.h
+++ b/fileview.h
@@ -8,8 +8,6 @@
#ifndef FILEVIEW_H
#define FILEVIEW_H
-#include <QtWidgets/QTreeView>
-
#include "smtreeview.h"
#include "helper.h"
diff --git a/mappingtableeditor.cpp b/mappingtableeditor.cpp
index f7ac64c..1f6d19d 100644
--- a/mappingtableeditor.cpp
+++ b/mappingtableeditor.cpp
@@ -5,17 +5,14 @@
2 of the License, or (at your option) any later version.
*/
-#include <QSqlDatabase>
#include <QSqlQuery>
#include <QContextMenuEvent>
#include <QtWidgets/QMenu>
-#include <QtWidgets/QVBoxLayout>
#include <QtWidgets/QHBoxLayout>
#include <QtWidgets/QLineEdit>
#include <QtWidgets/QPushButton>
#include <QtWidgets/QLabel>
#include <QtWidgets/QMessageBox>
-#include <QtWidgets/QAction>
#include <QSortFilterProxyModel>
#include "mappingtableeditor.h"
@@ -129,7 +126,7 @@ void MappingTableEditor::editItem(){
}
//view
-MappingTableEditorView::MappingTableEditorView(QWidget *parent) : QTreeView(parent) {}
+MappingTableEditorView::MappingTableEditorView(QWidget *parent) : SmTreeView(parent) {}
void MappingTableEditorView::contextMenuEvent(QContextMenuEvent *e){
QMenu contextMenu(this);
diff --git a/mappingtableeditor.h b/mappingtableeditor.h
index a87e636..cbdacf9 100644
--- a/mappingtableeditor.h
+++ b/mappingtableeditor.h
@@ -8,18 +8,13 @@
#ifndef MAPPINGTABLEEDITOR_H
#define MAPPINGTABLEEDITOR_H
-#include <QtWidgets/QTreeView>
#include <QSqlDatabase>
#include "smdialog.h"
#include "smtreemodel.h"
#include "smtreeitem.h"
+#include "smtreeview.h"
-class QSqlQuery;
-class QContextMenuEvent;
-class QPushButton;
-class QLineEdit;
-class QAction;
class MappingTableEditorView;
class MappingTableEditorModel;
@@ -46,7 +41,7 @@ class MappingTableEditor : public SmDialog {
MappingTableEditorModel *mModel;
};
-class MappingTableEditorView : public QTreeView {
+class MappingTableEditorView : public SmTreeView {
Q_OBJECT
public:
explicit MappingTableEditorView(QWidget *parent = 0);
diff --git a/mappingtablewidget.cpp b/mappingtablewidget.cpp
index 991b09d..593fd75 100644
--- a/mappingtablewidget.cpp
+++ b/mappingtablewidget.cpp
@@ -5,11 +5,8 @@
2 of the License, or (at your option) any later version.
*/
-#include <QIcon>
-#include <QtWidgets/QTreeView>
#include <QtWidgets/QPushButton>
#include <QtWidgets/QLineEdit>
-#include <QtWidgets/QHBoxLayout>
#include <QtWidgets/QVBoxLayout>
#include <QtWidgets/QLabel>
#include <QtWidgets/QCompleter>
@@ -22,13 +19,12 @@
MappingTableWidget::MappingTableWidget(const QString &table, QWidget *parent) : QWidget(parent), mTable(table), mCurrentId(-1){
//the view
- mView = new QTreeView;
+ mView = new SmTreeView;
mView->setHeaderHidden(true);
mModel = new MappingTableItemModel(this);
mModel->setHeaderData(0, Qt::Horizontal, mTable);
mView->setModel(mModel);
mView->setAlternatingRowColors(true);
- SmGlobals::instance()->treeWidgets().append(mView);
//mapping model
mMappingModel = static_cast<MappingTableModel*>(SmGlobals::instance()->model(mTable));
@@ -169,7 +165,7 @@ QModelIndex MappingTableItemModel::find(const QString &value) const{
MappingTableResultDialog::MappingTableResultDialog(const QStringList &results, QWidget *parent, Qt::WindowFlags f) : SmDialog(parent, f){
mModel = new QStringListModel(results, this);
- mView = new QTreeView(this);
+ mView = new SmTreeView(this);
mView->setModel(mModel);
mView->setRootIsDecorated(false);
mView->setSelectionMode(QAbstractItemView::SingleSelection);
diff --git a/mappingtablewidget.h b/mappingtablewidget.h
index 7c9e893..787d7f6 100644
--- a/mappingtablewidget.h
+++ b/mappingtablewidget.h
@@ -13,12 +13,8 @@
#include <QIcon>
#include "smdialog.h"
+#include "smtreeview.h"
-class QTreeView;
-class QLineEdit;
-class QPushButton;
-class QLabel;
-class QComboBox;
class MappingTableItemModel;
class MappingTableModel;
@@ -39,7 +35,7 @@ class MappingTableWidget : public QWidget{
void removeItem();
private:
- QTreeView *mView;
+ SmTreeView* mView;
QPushButton *mAddItem;
QPushButton *mRemoveItem;
QPushButton *mSearchItem;
@@ -79,7 +75,7 @@ class MappingTableResultDialog : public SmDialog {
void accept();
private:
- QTreeView *mView;
+ SmTreeView *mView;
QStringListModel *mModel;
QPushButton *mOk;
QPushButton *mCancel;
diff --git a/mappingtreewidget.cpp b/mappingtreewidget.cpp
index e026537..39bece7 100644
--- a/mappingtreewidget.cpp
+++ b/mappingtreewidget.cpp
@@ -44,7 +44,6 @@ MappingTreeWidget::MappingTreeWidget(QWidget *parent) : QWidget(parent){
mTree->setColumnHidden(4, true);
mTree->setAlternatingRowColors(true);
mTree->expandAll();
- SmGlobals::instance()->treeWidgets().append(mTree);
connect(mModel, SIGNAL(needExpansion()), mTree, SLOT(expandAll()));
connect(mTree->selectionModel(), SIGNAL(selectionChanged(QItemSelection,QItemSelection)), this, SLOT(selectionChanged()));
mTypeBox = new QComboBox;
@@ -257,7 +256,7 @@ const QModelIndex MappingTreeWidget::selected() const{
}
-MappingTreeView::MappingTreeView(QWidget *parent) : QTreeView(parent) {}
+MappingTreeView::MappingTreeView(QWidget *parent) : SmTreeView(parent) {}
void MappingTreeView::contextMenuEvent(QContextMenuEvent *e){
QMenu ctxMenu(this);
@@ -265,7 +264,7 @@ void MappingTreeView::contextMenuEvent(QContextMenuEvent *e){
ctxMenu.exec(e->globalPos());
}
-MappingTreeResultView::MappingTreeResultView(QWidget *parent) : QTreeView(parent) {
+MappingTreeResultView::MappingTreeResultView(QWidget *parent) : SmTreeView(parent) {
setAlternatingRowColors(true);
setPalette(qApp->palette());
}
diff --git a/mappingtreewidget.h b/mappingtreewidget.h
index 1bd77f4..d72dffa 100644
--- a/mappingtreewidget.h
+++ b/mappingtreewidget.h
@@ -8,19 +8,16 @@
#ifndef MAPPINGTREEWIDGET_H
#define MAPPINGTREEWIDGET_H
-#include <QtWidgets/QWidget>
-#include <QtWidgets/QTreeView>
#include <QtWidgets/QDialog>
+#include "smtreeview.h"
+
class MappingTreeView;
class MappingTreeModel;
class QComboBox;
-class QPushButton;
-class QLabel;
class QCheckBox;
class QSortFilterProxyModel;
class QStringListModel;
-class QAction;
class MappingTreeResultModel;
// defined in mappingtreemodel.h
@@ -66,7 +63,7 @@ class MappingTreeWidget : public QWidget {
QAction *mMoveChildA;
};
-class MappingTreeView : public QTreeView {
+class MappingTreeView : public SmTreeView {
Q_OBJECT
public:
MappingTreeView(QWidget *parent = 0);
@@ -75,7 +72,7 @@ class MappingTreeView : public QTreeView {
virtual void contextMenuEvent(QContextMenuEvent *e);
};
-class MappingTreeResultView : public QTreeView {
+class MappingTreeResultView : public SmTreeView {
Q_OBJECT
public:
explicit MappingTreeResultView(QWidget *parent = 0);
diff --git a/newmoviewizard.cpp b/newmoviewizard.cpp
index d098f87..1115145 100644
--- a/newmoviewizard.cpp
+++ b/newmoviewizard.cpp
@@ -6,23 +6,15 @@
*/
#include <QtWidgets/QLabel>
-#include <QtWidgets/QTreeView>
-#include <QtWidgets/QHBoxLayout>
-#include <QtWidgets/QVBoxLayout>
#include <QtWidgets/QPushButton>
#include <QtWidgets/QComboBox>
#include <QtWidgets/QLineEdit>
#include <QtWidgets/QSpinBox>
-#include <QSettings>
#include <QtWidgets/QFileDialog>
-#include <QFileInfo>
-#include <QLocale>
#include <QtWidgets/QCompleter>
#include <QtWidgets/QCheckBox>
#include <QtWidgets/QMessageBox>
-#include <QFile>
#include <QSettings>
-#include <QtWidgets/QFormLayout>
#include <QDate>
#include <QtWidgets/QPlainTextEdit>
#include <QtWidgets/QFormLayout>
@@ -30,9 +22,7 @@
#include "newmoviewizard.h"
#include "smtreeitem.h"
#include "seriestreemodel.h"
-#include "filestreemodel.h"
#include "smglobals.h"
-#include "mappingtablewidget.h"
#include "mappingtablemodel.h"
#include "seriesmetadatamodel.h"
#include "filestreemodel.h"
@@ -217,11 +207,9 @@ void MovieInfoPage::setupGui(){
initModel();
//files view
- mFileView = new QTreeView;
+ mFileView = new SmTreeView;
mFileView->setModel(mFileModel);
connect(mFileView->selectionModel(), SIGNAL(currentRowChanged(QModelIndex,QModelIndex)), this, SLOT(fileSelectionChanged(QModelIndex,QModelIndex)));
- mFileView->setAlternatingRowColors(true);
- SmGlobals::instance()->treeWidgets().append(mFileView);
//add + remove files
QHBoxLayout *fileButtonLayout = new QHBoxLayout;
diff --git a/newmoviewizard.h b/newmoviewizard.h
index 9717a2d..ecc416a 100644
--- a/newmoviewizard.h
+++ b/newmoviewizard.h
@@ -8,25 +8,17 @@
#ifndef NEWMOVIEWIZARD_H
#define NEWMOVIEWIZARD_H
-#include <QtWidgets/QWizard>
#include <QtWidgets/QWizardPage>
-#include <QHash>
-#include <QList>
#include "smtreemodel.h"
#include "mappingtablewidget.h"
-class QTreeView;
-class QLineEdit;
class QSpinBox;
-class QPushButton;
class QComboBox;
class QCheckBox;
-class QStringListModel;
class QPlainTextEdit;
class SeriesMetadataModel;
class WizardTreeModel;
-class SmTreeItem;
class MovieInfoPage;
class MovieMappingPage;
class MovieMetadataPage;
@@ -78,7 +70,7 @@ class MovieInfoPage : public QWizardPage {
private:
void setupGui();
- QTreeView *mFileView;
+ SmTreeView *mFileView;
QLineEdit *mTitle;
QLineEdit *mSubtitle;
QSpinBox *mSeriesNo;
diff --git a/newpicsdialog.cpp b/newpicsdialog.cpp
index 37a9cba..36fdfe1 100644
--- a/newpicsdialog.cpp
+++ b/newpicsdialog.cpp
@@ -5,36 +5,24 @@
2 of the License, or (at your option) any later version.
*/
-#include <QFileInfo>
-#include <QSqlDatabase>
#include <QSqlQuery>
-#include <QtWidgets/QLabel>
-#include <QtWidgets/QTreeView>
#include <QSortFilterProxyModel>
#include <QtWidgets/QPushButton>
#include <QSettings>
-#include <QDir>
#include <QtWidgets/QFileDialog>
-#include <QPersistentModelIndex>
-#include <QtWidgets/QHBoxLayout>
#include <QtWidgets/QVBoxLayout>
-#include <QApplication>
#include "newpicsdialog.h"
#include "smtreeitem.h"
#include "helper.h"
#include "mappingtreewidget.h"
#include "mappingtreemodel.h"
+#include "smglobals.h"
NewPicsDialog::NewPicsDialog(QWidget *parent, Qt::WindowFlags f) : QDialog(parent, f) {
setupDlg();
}
-NewPicsDialog::NewPicsDialog(const QStringList &files, QWidget *parent, Qt::WindowFlags f) : QDialog(parent, f){
- setupDlg();
- addFiles(files);
-}
-
void NewPicsDialog::setupDlg(){
//setup database
mDb = QSqlDatabase::database("treedb");
@@ -45,16 +33,14 @@ void NewPicsDialog::setupDlg(){
//files widget
mFilesWidget = new QWidget;
- mFilesV = new QTreeView;
+ mFilesV = new SmTreeView;
mFilesProxy = new QSortFilterProxyModel(this);
mFilesModel = new NewPicFilesModel(QStringList() << tr("Filename") << tr("Size") << tr("Val.") << tr("Md5") << tr("Mime type") << tr("Full path"), this);
mFilesProxy->setSourceModel(mFilesModel);
mFilesV->setModel(mFilesProxy);
mFilesV->setSortingEnabled(true);
- mFilesV->setAlternatingRowColors(true);
mFilesV->setColumnHidden(2, true);
mFilesV->setAlternatingRowColors(true);
- mFilesV->setPalette(qApp->palette());
mAddFiles = new QPushButton(tr("Select..."));
connect(mAddFiles, SIGNAL(clicked()), this, SLOT(selectFiles()));
mRemoveFiles = new QPushButton(tr("Remove"));
@@ -118,6 +104,13 @@ void NewPicsDialog::addFiles(const QStringList &files){
}
}
+void NewPicsDialog::clearFiles(){
+ mFilesV->setSortingEnabled(false);
+ SmTreeItem *rootItem = new SmTreeItem(NewPicFilesModel::NumFields);
+ mFilesModel->setRoot(rootItem);
+ mFilesV->setSortingEnabled(true);
+}
+
void NewPicsDialog::removeFiles(){
QModelIndexList selected = mFilesV->selectionModel()->selectedRows();
if(selected.isEmpty()){
diff --git a/newpicsdialog.h b/newpicsdialog.h
index 148795a..87db4f3 100644
--- a/newpicsdialog.h
+++ b/newpicsdialog.h
@@ -10,17 +10,13 @@
#include <QtWidgets/QDialog>
#include <QSqlDatabase>
-#include <QtWidgets/QTreeView>
#include "smtreemodel.h"
class QTabWidget;
-class QSqlDatabase;
-class QSqlQuery;
-class QTreeView;
+class SmTreeView;
class NewPicFilesModel;
class QSortFilterProxyModel;
-class QPushButton;
class MappingTreeWidget;
class MappingEditWidget;
@@ -30,12 +26,12 @@ class NewPicsDialog : public QDialog {
Q_OBJECT
public:
explicit NewPicsDialog(QWidget *parent = 0, Qt::WindowFlags f = 0);
- explicit NewPicsDialog(const QStringList &files, QWidget *parent = 0, Qt::WindowFlags f = 0);
public slots:
void selectFiles();
void removeFiles();
void addFiles(const QStringList &files);
+ void clearFiles();
void accept();
private:
@@ -43,7 +39,7 @@ class NewPicsDialog : public QDialog {
QTabWidget *mTab;
QWidget *mFilesWidget;
MappingEditWidget *mMappingEditWidget;
- QTreeView *mFilesV;
+ SmTreeView *mFilesV;
NewPicFilesModel *mFilesModel;
QSortFilterProxyModel *mFilesProxy;
QPushButton *mAddFiles;
diff --git a/pictureswidget.cpp b/pictureswidget.cpp
index 7951df5..287c493 100644
--- a/pictureswidget.cpp
+++ b/pictureswidget.cpp
@@ -154,7 +154,6 @@ PictureView::PictureView(QWidget *parent) : SmTreeView("ui/picheaderpos", parent
setAlternatingRowColors(true);
setColumnHidden(1, true);
setColumnHidden(4, true);
- SmGlobals::instance()->treeWidgets().append(this);
}
void PictureView::mappingChanged(int pMapId){
@@ -214,11 +213,11 @@ void PictureView::hideEvent(QHideEvent *){
bool PictureView::event(QEvent *e){
if(e->type() == QEvent::Leave){
mHoverWin->setVisible(false);
- return QTreeView::event(e);
+ return SmTreeView::event(e);
}
QHoverEvent *hEvent = static_cast<QHoverEvent*>(e);
if(!hEvent){
- return QTreeView::event(e);
+ return SmTreeView::event(e);
}
QPoint hotSpot(hEvent->pos().x(), hEvent->pos().y() + mCursorOffset);
QModelIndex curIdx = indexAt(hotSpot);
@@ -251,7 +250,7 @@ bool PictureView::event(QEvent *e){
return true;
}
}
- return QTreeView::event(e);
+ return SmTreeView::event(e);
}
void PictureView::contextMenuEvent(QContextMenuEvent *e){
diff --git a/seriesmetadatamodel.cpp b/seriesmetadatamodel.cpp
index d00dc40..21a9c3d 100644
--- a/seriesmetadatamodel.cpp
+++ b/seriesmetadatamodel.cpp
@@ -5,7 +5,6 @@
2 of the License, or (at your option) any later version.
*/
-#include <QSqlDatabase>
#include <QSqlQuery>
#include <QtWidgets/QSpinBox>
#include <QtWidgets/QLineEdit>
@@ -13,15 +12,12 @@
#include <QtWidgets/QPlainTextEdit>
#include <QtWidgets/QDateEdit>
#include <QtWidgets/QFormLayout>
-#include <QtWidgets/QVBoxLayout>
#include <QtWidgets/QLabel>
#include <QtWidgets/QGroupBox>
-#include <QSettings>
-#include <QColor>
-#include <QtWidgets/QTreeView>
#include "seriesmetadatamodel.h"
#include "smtreeitem.h"
+#include "smtreeview.h"
#include "smglobals.h"
#include "helper.h"
@@ -284,7 +280,7 @@ MetadataDisplay::MetadataDisplay(QWidget *parent) : QWidget(parent){
//display
QGroupBox *gb = new QGroupBox(tr("Metadata"));
QHBoxLayout *gbLayout = new QHBoxLayout;
- mDisplay = new QTreeView;
+ mDisplay = new SmTreeView;
mDisplay->setModel(mModel);
mDisplay->setSelectionBehavior(QAbstractItemView::SelectRows);
mDisplay->setAlternatingRowColors(true);
@@ -296,7 +292,6 @@ MetadataDisplay::MetadataDisplay(QWidget *parent) : QWidget(parent){
QVBoxLayout *mainLayout = new QVBoxLayout;
mainLayout->addWidget(gb);
setLayout(mainLayout);
- SmGlobals::instance()->treeWidgets().append(mDisplay);
}
void MetadataDisplay::setSeriesPartId(int seriesPartId){
diff --git a/seriesmetadatamodel.h b/seriesmetadatamodel.h
index 2bf0665..4aaa3e1 100644
--- a/seriesmetadatamodel.h
+++ b/seriesmetadatamodel.h
@@ -19,7 +19,7 @@ class QLineEdit;
class QPlainTextEdit;
class QDateEdit;
class QLabel;
-class QTreeView;
+class SmTreeView;
#include "smtreemodel.h"
@@ -96,7 +96,7 @@ class MetadataDisplay : public QWidget {
private:
SeriesMetadataModel *mModel;
- QTreeView *mDisplay;
+ SmTreeView *mDisplay;
};
diff --git a/seriestreewidget.cpp b/seriestreewidget.cpp
index b977c08..096d814 100644
--- a/seriestreewidget.cpp
+++ b/seriestreewidget.cpp
@@ -5,41 +5,26 @@
2 of the License, or (at your option) any later version.
*/
-#include <QtWidgets/QHBoxLayout>
-#include <QtWidgets/QVBoxLayout>
#include <QtWidgets/QPushButton>
-#include <QtWidgets/QLineEdit>
#include <QtWidgets/QLabel>
-#include <QSortFilterProxyModel>
-#include <QRegExp>
-#include <QContextMenuEvent>
#include <QtWidgets/QMenu>
-#include <QtWidgets/QAction>
#include <QtWidgets/QMessageBox>
-#include <QSettings>
#include <QtWidgets/QFileDialog>
#include <QSettings>
-#include <QFileInfo>
#include <QtWidgets/QComboBox>
#include <QtWidgets/QInputDialog>
-#include <QFile>
-#include <QEvent>
#include <QHoverEvent>
-#include <QPalette>
#include <QtWidgets/QCompleter>
#include <QStringListModel>
#include <QSqlQuery>
-#include <QSqlDatabase>
#include <QThread>
#include <QtWidgets/QGroupBox>
#include <QtWidgets/QFormLayout>
#include <QtWidgets/QCheckBox>
#include <QtWidgets/QSpinBox>
-#include <QFontMetrics>
#include <QtWidgets/QApplication>
#include "seriestreewidget.h"
-#include "smtreemodel.h"
#include "smglobals.h"
#include "seriestreemodel.h"
#include "filestreemodel.h"
@@ -396,10 +381,9 @@ void SeriesTreeWidget::setFilterMode(int mode){
mCompleterProducerThread->start();
}
-SeriesTreeView::SeriesTreeView(QWidget *parent) : QTreeView(parent), mHover(false) {
+SeriesTreeView::SeriesTreeView(QWidget *parent) : SmTreeView(parent), mHover(false) {
setAttribute(Qt::WA_Hover);
mHoverWin = new HoverWindow(this);
- SmGlobals::instance()->treeWidgets().append(this);
readSettings();
}
@@ -421,7 +405,7 @@ void SeriesTreeView::contextMenuEvent(QContextMenuEvent *e){
bool SeriesTreeView::event(QEvent *e){
QHoverEvent *hEvent = dynamic_cast<QHoverEvent*>(e);
if(!hEvent){
- return QTreeView::event(e);
+ return SmTreeView::event(e);
}
if(!mHover){
return true;
@@ -444,8 +428,7 @@ bool SeriesTreeView::event(QEvent *e){
if(curIdx != mCurHover){
mCurHover = curIdx;
mHoverWin->setContent(curIdx.data(Qt::DisplayRole).toString(), children(curIdx));
- //mHoverWin->setVisible(false);
- mHoverWin->setPos();
+ mHoverWin->setPos();
mHoverWin->setVisible(true);
return true;
}else{
@@ -456,7 +439,7 @@ bool SeriesTreeView::event(QEvent *e){
if(e->type() == QEvent::HoverLeave){
return exitHover();
}
- return QTreeView::event(e);
+ return SmTreeView::event(e);
}
bool SeriesTreeView::exitHover(bool exitVal){
diff --git a/seriestreewidget.h b/seriestreewidget.h
index 39de162..9740c02 100644
--- a/seriestreewidget.h
+++ b/seriestreewidget.h
@@ -9,30 +9,20 @@
#define SERIESTREEWIDGET_H
#include <QtWidgets/QWidget>
-#include <QtWidgets/QTreeView>
#include <QSortFilterProxyModel>
#include <QSqlDatabase>
-#include <QHash>
-#include <QPersistentModelIndex>
#include "smdialog.h"
+#include "smtreeview.h"
-class QLineEdit;
-class QPushButton;
-class QSortFilterProxyModel;
class QComboBox;
-class QEvent;
-class QLabel;
class QCompleter;
class QStringListModel;
-class QSqlQuery;
-class QThread;
class QCheckBox;
class QSpinBox;
class SeriesTreeModel;
class SeriesTreeView;
class SeriesTreeSortModel;
-class HoverWindow;
class FilesTreeModel;
class AddCoverDialog;
class HoverWindow;
@@ -87,7 +77,7 @@ class SeriesTreeWidget : public QWidget {
QString mOldFilterText;
};
-class SeriesTreeView : public QTreeView {
+class SeriesTreeView : public SmTreeView {
Q_OBJECT
public:
explicit SeriesTreeView(QWidget *parent = 0);
diff --git a/shemov.cpp b/shemov.cpp
index eed20df..a2fd195 100644
--- a/shemov.cpp
+++ b/shemov.cpp
@@ -59,6 +59,7 @@
#include "pictureviewer2.h"
#include "helper.h"
#include "smdirmodel.h"
+#include "smtreeview.h"
SheMov::SheMov(QWidget *parent, Qt::WindowFlags flags) : QMainWindow(parent, flags), mOpenWithGroupFS(0), mOpenWithGroupAV(0) {
//application icon
@@ -104,7 +105,7 @@ SheMov::SheMov(QWidget *parent, Qt::WindowFlags flags) : QMainWindow(parent, fla
connect(mPicWidget->picView(), SIGNAL(selectedSize(qint64)), this, SLOT(setSize(qint64)));
PictureViewer2 *picViewer = SmGlobals::instance()->pictureViewer();
- //newmoviewizard + dbanalyzer
+ //newmoviewizard + dbanalyzer + newpicsdialog
splash.showMessage(tr("Creating misc. Dialogs..."), Qt::AlignHCenter, Qt::yellow);
qApp->processEvents();
mNewMovieWizard = new NewMovieWizard(this);
@@ -112,6 +113,7 @@ SheMov::SheMov(QWidget *parent, Qt::WindowFlags flags) : QMainWindow(parent, fla
mDbAnalyzerDialog = new DbAnalyzerDialog(this);
connect(mDbAnalyzerDialog, SIGNAL(partClicked(int, int)), mATree, SLOT(selectMoviePart(int, int)));
connect(mDbAnalyzerDialog, SIGNAL(delItems(int,QList<int>&)), this, SLOT(analyzeDelete(int,QList<int>&)));
+ mNewPicsDialog = new NewPicsDialog(this);
QVBoxLayout *mainLayout = new QVBoxLayout;
mainLayout->addWidget(mTab);
@@ -144,6 +146,7 @@ SheMov::SheMov(QWidget *parent, Qt::WindowFlags flags) : QMainWindow(parent, fla
QWidget *centralWidget = new QWidget;
centralWidget->setLayout(mainLayout);
setCentralWidget(centralWidget);
+
show();
splash.finish(this);
mATree->readSettings();
@@ -398,8 +401,6 @@ void SheMov::createActions(){
connect(mConsistencyA, SIGNAL(triggered()), this, SLOT(checkConsistency()));
mAnalyzerA = new QAction(QIcon(":/higheels.png"), tr("Analyze Db..."), this);
connect(mAnalyzerA, SIGNAL(triggered()), this, SLOT(analyzeDb()));
- mMappingEditorA = new QAction(tr("Mapping editor..."), this);
- connect(mMappingEditorA, SIGNAL(triggered()), this, SLOT(mappingEditor()));
mNewPicsA = new QAction(tr("Archive pics...."), this);
connect(mNewPicsA, SIGNAL(triggered()), this, SLOT(newPicsDialog()));
@@ -765,7 +766,7 @@ void SheMov::createMenus(){
fileMenu->addSeparator();
fileMenu->addAction(mConsistencyA);
fileMenu->addAction(mAnalyzerA);
- fileMenu->addAction(mMappingEditorA);
+ //fileMenu->addAction(mMappingEditorA);
fileMenu->addSeparator();
fileMenu->addAction(mQuitA);
menuBar()->addMenu(fileMenu);
@@ -1110,9 +1111,11 @@ void SheMov::createPalette(){
pal.setColor(QPalette::Base, Qt::white);
pal.setColor(QPalette::AlternateBase, Qt::white);
}
- qApp->setPalette(pal);
foreach(QWidget *w, SmGlobals::instance()->treeWidgets()){
- w->setPalette(pal);
+ SmTreeView *aiv = qobject_cast<SmTreeView*>(w);
+ if(aiv){
+ aiv->setPalette(pal);
+ }
}
}
@@ -1171,18 +1174,8 @@ void SheMov::editMappings(QString table){
ed.exec();
}
-void SheMov::mappingEditor(){
- QDialog dlg(this);
- QHBoxLayout *dlgLayout = new QHBoxLayout;
- MappingTreeWidget *mtw = new MappingTreeWidget;
- dlgLayout->addWidget(mtw);
- dlg.setLayout(dlgLayout);
- dlg.exec();
-}
-
void SheMov::newPicsDialog(){
- NewPicsDialog npd(this);
- npd.exec();
+ mNewPicsDialog->exec();
}
void SheMov::newPicsDialogWithFiles(){
@@ -1194,6 +1187,7 @@ void SheMov::newPicsDialogWithFiles(){
foreach(QModelIndex idx, selected){
files << idx.data(SmDirModel::FullPathRole).toString();
}
- NewPicsDialog npd(files, this);
- npd.exec();
+ mNewPicsDialog->clearFiles();
+ mNewPicsDialog->addFiles(files);
+ mNewPicsDialog->exec();
}
diff --git a/shemov.h b/shemov.h
index 106d81f..cb3d3d3 100644
--- a/shemov.h
+++ b/shemov.h
@@ -27,6 +27,7 @@ class DbAnalyzerDialog;
class MappingTreeWidget;
class PicturesWidget;
class SmTreeModel;
+class NewPicsDialog;
class SheMov : public QMainWindow {
Q_OBJECT
@@ -57,7 +58,6 @@ class SheMov : public QMainWindow {
void checkMount(bool mounted);
void toggleFilterGroup(bool checked);
void editMappings(QString table);
- void mappingEditor();
void newPicsDialog();
void newPicsDialogWithFiles();
@@ -111,7 +111,6 @@ class SheMov : public QMainWindow {
QAction *mArchiveSelectedPicsA;
QAction *mConsistencyA;
QAction *mAnalyzerA;
- QAction *mMappingEditorA;
QAction *mNewPicsA;
QAction *mHoverDirectoriesA;
@@ -217,6 +216,7 @@ class SheMov : public QMainWindow {
FilesystemWidget *mFSWidget;
ArchiveTreeView *mATree;
NewMovieWizard *mNewMovieWizard;
+ NewPicsDialog *mNewPicsDialog;
DbAnalyzerDialog *mDbAnalyzerDialog;
PicturesWidget *mPicWidget;
};
diff --git a/smglobals.cpp b/smglobals.cpp
index 9240bf2..9f52854 100644
--- a/smglobals.cpp
+++ b/smglobals.cpp
@@ -1,4 +1,4 @@
- /*
+/*
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
diff --git a/smtreeview.cpp b/smtreeview.cpp
index 36d7c07..405f6a0 100644
--- a/smtreeview.cpp
+++ b/smtreeview.cpp
@@ -11,9 +11,18 @@
#include <QActionGroup>
#include "smtreeview.h"
+#include "smglobals.h"
+
+SmTreeView::SmTreeView(QWidget *parent) : QTreeView(parent) {
+ header()->setSectionResizeMode(QHeaderView::ResizeToContents);
+ SmGlobals::instance()->treeWidgets().append(this);
+ setAlternatingRowColors(true);
+}
SmTreeView::SmTreeView(const QString &hSetting, QWidget *parent) : QTreeView(parent), mHeaderSetting(hSetting){
header()->setSectionResizeMode(QHeaderView::ResizeToContents);
+ SmGlobals::instance()->treeWidgets().append(this);
+ setAlternatingRowColors(true);
}
void SmTreeView::readHeaderConfig(){
diff --git a/smtreeview.h b/smtreeview.h
index eff41d5..67ba844 100644
--- a/smtreeview.h
+++ b/smtreeview.h
@@ -15,7 +15,7 @@ class QActionGroup;
class SmTreeView : public QTreeView {
Q_OBJECT
public:
- SmTreeView(QWidget *parent = 0) : QTreeView(parent) {}
+ SmTreeView(QWidget *parent = 0);
SmTreeView(const QString &hSetting, QWidget *parent = 0);
virtual void setHeaderGroup(QActionGroup *ag) { mHeaderGroup = ag; }