summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorArno <arno@disconnect.de>2022-04-15 13:27:34 +0200
committerArno <arno@disconnect.de>2022-04-15 13:27:34 +0200
commit856119c5a43b4781b051b93a0713c152cfd99f85 (patch)
tree4e2fde4e7a76179cc243e0665091c6ad429ea640
parent62d3ca1482b202d2883eeb5e17e72300e8612477 (diff)
downloadSheMov-856119c5a43b4781b051b93a0713c152cfd99f85.tar.gz
SheMov-856119c5a43b4781b051b93a0713c152cfd99f85.tar.bz2
SheMov-856119c5a43b4781b051b93a0713c152cfd99f85.zip
Make it run with Qt6
This is a huge commit. Changes: * Obviously, make it compile * Make it run (only scarcely tested) * get rid of most of clang's warnings Let's see what surprises are in store...
-rw-r--r--archivebrowser.cpp30
-rw-r--r--archivebrowsermodel.cpp4
-rw-r--r--archivemodel.cpp24
-rw-r--r--archiveview.cpp2
-rw-r--r--configurationdialog.cpp20
-rw-r--r--consistencycheck.cpp12
-rw-r--r--copyworker.cpp4
-rw-r--r--copyworker.h2
-rw-r--r--filepropertiesdialog.cpp2
-rw-r--r--fswidget.cpp120
-rw-r--r--fswidget.h5
-rw-r--r--helper.cpp18
-rw-r--r--mappingdata.cpp2
-rw-r--r--mappingdata.h2
-rw-r--r--mappingeditwidget.cpp1
-rw-r--r--mappingtableeditor.cpp5
-rw-r--r--mappingtablemodel.cpp18
-rw-r--r--mappingtablemodel.h1
-rw-r--r--mappingtablewidget.cpp2
-rw-r--r--mappingtreemodel.cpp2
-rw-r--r--mappingtreemodel.h4
-rw-r--r--mappingtreeproxy.cpp8
-rw-r--r--mappingtreeproxy.h2
-rw-r--r--mappingtreeresultmodel.cpp4
-rw-r--r--mappingtreewidget.cpp6
-rw-r--r--movieinfopage.cpp12
-rw-r--r--moviepropertiesdialog.cpp8
-rw-r--r--moviewidget.cpp24
-rw-r--r--newmoviewizard.cpp2
-rw-r--r--newpicsdialog.cpp13
-rw-r--r--picfilesmodel.cpp8
-rw-r--r--pictureswidget.cpp7
-rw-r--r--pictureviewer2.cpp28
-rw-r--r--pictureviewer2.h1
-rw-r--r--programconfigurator.cpp26
-rw-r--r--programconfigurator.h3
-rw-r--r--randomtab.cpp12
-rw-r--r--searchdialog.cpp10
-rw-r--r--shemov.cpp6
-rw-r--r--shemov.pro2
-rw-r--r--smglobals.cpp11
-rw-r--r--smtreemodel.cpp4
-rw-r--r--smtreemodel.h4
-rw-r--r--statisticsdialog.cpp10
-rw-r--r--videoviewer.cpp13
-rw-r--r--viewer.cpp4
46 files changed, 219 insertions, 289 deletions
diff --git a/archivebrowser.cpp b/archivebrowser.cpp
index a912eba..a30db3d 100644
--- a/archivebrowser.cpp
+++ b/archivebrowser.cpp
@@ -22,6 +22,7 @@
#include <QHeaderView>
#include <QMenu>
#include <QApplication>
+#include <qactiongroup.h>
#include "archivebrowser.h"
#include "archivebrowsermodel.h"
@@ -105,7 +106,7 @@ ArchiveBrowser::ArchiveBrowser(QWidget *parent) : QWidget(parent), mSelectedSize
if(!mTree->header()->isSectionHidden(hData.value(h))){
a->setChecked(true);
}
- connect(a, &QAction::triggered, [=] { mTree->toggleHeader(a); });
+ connect(a, &QAction::triggered, a, [=] { mTree->toggleHeader(a); });
}
QIcon headerIcon = Helper::icon(Qt::transparent, qApp->palette().color(QPalette::Text), 'H', true, false);
QAction *headerA = new QAction(headerIcon, tr("Show headers"), this);
@@ -140,6 +141,9 @@ ArchiveBrowser::ArchiveBrowser(QWidget *parent) : QWidget(parent), mSelectedSize
}
void ArchiveBrowser::browserSelectionChanged(const QItemSelection &selected, const QItemSelection &deselected) {
+ if(selected.isEmpty() && deselected.isEmpty()){
+ return;
+ }
QModelIndexList selectedIdx = selectedRows(selected);
QModelIndexList deselectedIdx = selectedRows(deselected);
for(const QModelIndex &sel : selectedIdx){
@@ -191,13 +195,13 @@ void ArchiveBrowser::moveToBurn() {
QString dirName = idx.data(ArchiveBrowserModel::NameRole).toString();
dirName.replace(' ', '.');
burnDir.mkdir(dirName);
- QString burnDirS = QString("%1/%2").arg(destDirS).arg(dirName);
+ QString burnDirS = QString("%1/%2").arg(destDirS, dirName);
QModelIndex real = mProxy->mapToSource(idx);
QModelIndexList children = mModel->children(real);
for(const QModelIndex &child : children){
QFileInfo current(child.data(ArchiveBrowserModel::FullPathRole).toString());
int type = child.data(ArchiveBrowserModel::FileTypeRole).toInt();
- QString destination = QString("%1/%2").arg(burnDirS).arg(current.fileName());
+ QString destination = QString("%1/%2").arg(burnDirS, current.fileName());
if(type == FT_MOVIE){
QFile::rename(current.absoluteFilePath(), destination);
filesToUpdate << child.data(ArchiveBrowserModel::GenericIdRole).toInt();
@@ -230,19 +234,19 @@ void ArchiveBrowser::moveToUSB(){
QString dvdDirS = QString("DVD_%1").arg(QString::number(nextDVDNo));
QDir dest(destDirS);
if(dest.exists(dvdDirS)){
- QString msg = QString(tr("Something fishy is going on: %1 already exists in %2!")).arg(dvdDirS).arg(destDirS);
+ QString msg = QString(tr("Something fishy is going on: %1 already exists in %2!")).arg(dvdDirS, destDirS);
QMessageBox::critical(this, tr("Error"), msg);
return;
}
bool mkdir = dest.mkdir(dvdDirS);
if(!mkdir){
- QString msg = QString(tr("Failed to create %1 in %2!")).arg(dvdDirS).arg(destDirS);
+ QString msg = QString(tr("Failed to create %1 in %2!")).arg(dvdDirS, destDirS);
QMessageBox::critical(this, tr("Error"), msg);
return;
}
// this one is .../DVD_123
- QString finalDir = QString("%1/%2").arg(destDirS).arg(dvdDirS);
- QString msg = QString(tr("<p>This will do the following:</p><p><ul><li>Move %1 file(s) to %2</li><li>Update the DVD no. for %1 files</li></ul></p><p>Continue?</p>")).arg(sel.size()).arg(finalDir);
+ QString finalDir = QString("%1/%2").arg(destDirS, dvdDirS);
+ QString msg = QString(tr("<p>This will do the following:</p><p><ul><li>Move %1 file(s) to %2</li><li>Update the DVD no. for %1 files</li></ul></p><p>Continue?</p>")).arg(QString::number(sel.size()), finalDir);
int retval = QMessageBox::question(this, tr("Question"), msg, QMessageBox::Yes | QMessageBox::No);
if(retval == QMessageBox::Yes){
mCopyWorker->clear();
@@ -258,7 +262,7 @@ void ArchiveBrowser::moveToUSB(){
for(const QModelIndex &child : children){
QString source = child.data(ArchiveBrowserModel::FullPathRole).toString();
QFileInfo sFi(source);
- QString destination = QString("%1/%2/%3").arg(finalDir).arg(dirName).arg(sFi.fileName());
+ QString destination = QString("%1/%2/%3").arg(finalDir, dirName, sFi.fileName());
mCopyWorker->enqueue(source, destination);
mCopyWorker->appendData(source, child.data(ArchiveBrowserModel::FileTypeRole));
mCopyWorker->appendData(source, child.data(ArchiveBrowserModel::GenericIdRole));
@@ -357,12 +361,14 @@ void ArchiveBrowser::copySuccess(QString success){
if(q == QMessageBox::Yes){
QHash<QString, QList<QVariant> > data = mCopyWorker->data();
QList<int> filesToUpdate;
- for(const QString &source : data.keys()){
- int ft = data.value(source).at(0).toInt();
+ auto i = data.constBegin();
+ while(i != data.constEnd()){
+ int ft = i.value().at(0).toInt();
if(ft == FT_MOVIE){
- QFile::remove(source);
- filesToUpdate << data.value(source).at(1).toInt();
+ QFile::remove(i.key());
+ filesToUpdate << i.value().at(1).toInt();
}
+ ++i;
}
mModel->updateDVDNo(filesToUpdate);
mModel->refresh();
diff --git a/archivebrowsermodel.cpp b/archivebrowsermodel.cpp
index 4174f7e..c6e7d08 100644
--- a/archivebrowsermodel.cpp
+++ b/archivebrowsermodel.cpp
@@ -167,9 +167,9 @@ void ArchiveBrowserModel::populate(){
QList<QVariant> serPartData;
QString name;
if(localQ.value(2).toInt() > 0){
- name = QString("%1 %2").arg(localQ.value(1).toString()).arg(QString::number(localQ.value(2).toInt()));
+ name = QString("%1 %2").arg(localQ.value(1).toString(), QString::number(localQ.value(2).toInt()));
}else{
- name = QString("%1 - %2").arg(localQ.value(1).toString()).arg(localQ.value(3).toString());
+ name = QString("%1 - %2").arg(localQ.value(1).toString(), localQ.value(3).toString());
}
serPartData << QChar(0x26A4) << name << localQ.value(4) << SeriesPartNode << QVariant() << QVariant() << QVariant() << QString() << false;
SmTreeItem *seriesItem = new SmTreeItem(serPartData, rootItem);
diff --git a/archivemodel.cpp b/archivemodel.cpp
index 20658e9..8e15dea 100644
--- a/archivemodel.cpp
+++ b/archivemodel.cpp
@@ -28,15 +28,15 @@ ArchiveModel::ArchiveModel(const QStringList &headers, QObject *parent) : SmTree
mAvailableOrders.insert("Local files", Local);
mAvailableOrders.insert("Favorites", FavoriteOrder);
ArchiveCollector *c1 = new ArchiveCollector(NumFields, SeriesName, this);
- connect(c1, &ArchiveCollector::finished, [=] { collectorFinished(c1) ;});
+ connect(c1, &ArchiveCollector::finished, c1, [=] { collectorFinished(c1) ;});
ArchiveCollector *c2 = new ArchiveCollector(NumFields, Actor, this);
- connect(c2, &ArchiveCollector::finished, [=] { collectorFinished(c2) ;});
+ connect(c2, &ArchiveCollector::finished, c2, [=] { collectorFinished(c2) ;});
ArchiveCollector *c3 = new ArchiveCollector(NumFields, Genre, this);
- connect(c3, &ArchiveCollector::finished, [=] { collectorFinished(c3) ;});
+ connect(c3, &ArchiveCollector::finished, c3, [=] { collectorFinished(c3) ;});
ArchiveCollector *c4 = new ArchiveCollector(NumFields, Local, this);
- connect(c4, &ArchiveCollector::finished, [=] { collectorFinished(c4) ;});
+ connect(c4, &ArchiveCollector::finished, c4, [=] { collectorFinished(c4) ;});
ArchiveCollector *c5 = new ArchiveCollector(NumFields, FavoriteOrder, this);
- connect(c5, &ArchiveCollector::finished, [=] { collectorFinished(c5) ;});
+ connect(c5, &ArchiveCollector::finished, c5, [=] { collectorFinished(c5) ;});
mCollectors << c1 << c2 << c3 << c4 << c5;
connect(this, &ArchiveModel::needRefresh, this, &ArchiveModel::refresh);
readConfig();
@@ -81,16 +81,16 @@ QVariant ArchiveModel::data(const QModelIndex &index, int role) const{
int childCount = item->data(Count).toInt();
int nodeType = item->data(Type).toInt();
if(nodeType == SeriesNode || nodeType == GenreNode || nodeType == ActorNode){
- retval = QString("%1 (%2)").arg(item->data(Name).toString()).arg(QString::number(childCount));
+ retval = QString("%1 (%2)").arg(item->data(Name).toString(), QString::number(childCount));
}else if(nodeType == SeriesPartNode){
retval = item->data(Name).toString();
QString subtitle = item->data(Subtitle).toString();
if(!subtitle.isEmpty() && (part > 0)){
- retval = QString("%1 - %2 - %3").arg(item->data(Name).toString()).arg(subtitle).arg(QString::number(part));
+ retval = QString("%1 - %2 - %3").arg(item->data(Name).toString(), subtitle, QString::number(part));
}else if(part > 0){
- retval = QString("%1 %2").arg(item->data(Name).toString()).arg(QString::number(part));
+ retval = QString("%1 %2").arg(item->data(Name).toString(), QString::number(part));
}else if(!subtitle.isEmpty()){
- retval = QString("%1 - %2").arg(item->data(Name).toString()).arg(subtitle);
+ retval = QString("%1 - %2").arg(item->data(Name).toString(), subtitle);
}
}
return retval;
@@ -482,7 +482,7 @@ void ArchiveModel::addFiles(int partId, const QStringList files){
durationOrSize = Helper::picSize(file);
fileQ.prepare("INSERT INTO files(iseriespart_id, tfilename, cmd5sum, bisize, sifiletype, cpicsize) VALUES(:id, :fn, :md5, :size, :type, :durOrSize)");
}else{
- QString msg = QString("Unknown mime type %1 for %2").arg(mimeType).arg(file);
+ QString msg = QString("Unknown mime type %1 for %2").arg(mimeType, file);
emit message(msg);
continue;
}
@@ -665,7 +665,7 @@ void ArchiveModel::collectorFinished(QObject *thread){
void ArchiveModel::emitDatabaseError(const QSqlError &e){
QString databaseText = e.databaseText().isEmpty() ? tr("(none)") : e.databaseText();
QString driverText = e.driverText().isEmpty() ? tr("(none)") : e.driverText();
- QString errormsg = QString(tr("<b>Database error:</b><br/><ul><li>driverText(): %1</li><li>databaseText(): %2</li></ul>")).arg(driverText).arg(databaseText);
+ QString errormsg = QString(tr("<b>Database error:</b><br/><ul><li>driverText(): %1</li><li>databaseText(): %2</li></ul>")).arg(driverText, databaseText);
emit databaseError(errormsg);
}
@@ -901,7 +901,7 @@ bool ArchiveFilesModel::setData(const QModelIndex &idx, const QVariant &value, i
QFile f(idx.data(FullPathRole).toString());
QFileInfo fi(f);
QString dir = fi.absolutePath();
- QString newName = QString("%1/%2").arg(dir).arg(value.toString());
+ QString newName = QString("%1/%2").arg(dir, value.toString());
success = f.rename(newName);
}
// check rename, too!
diff --git a/archiveview.cpp b/archiveview.cpp
index ab64a5f..8d58f68 100644
--- a/archiveview.cpp
+++ b/archiveview.cpp
@@ -195,7 +195,7 @@ MetadataEditorWidget::MetadataEditorWidget(QWidget *parent) : QWidget(parent){
commentGBL->addWidget(mComment);
commentGBL->addWidget(reasonGB);
commentGB->setLayout(commentGBL);
- connect(clearB, &QPushButton::clicked, [this] { mComment->clear(); });
+ connect(clearB, &QPushButton::clicked, this, [this] { mComment->clear(); });
QVBoxLayout *mainLayout = new QVBoxLayout;
mainLayout->addWidget(captionL);
diff --git a/configurationdialog.cpp b/configurationdialog.cpp
index e65a4b0..acb7b46 100644
--- a/configurationdialog.cpp
+++ b/configurationdialog.cpp
@@ -28,7 +28,7 @@
#include <QPalette>
#include <QStandardItemModel>
#include <QStandardItem>
-#include <QDesktopWidget>
+#include <QScreen>
#include <QInputDialog>
#include "configurationdialog.h"
@@ -287,7 +287,7 @@ ConfigurationDialog::ConfigurationDialog(QWidget *parent, Qt::WindowFlags f) : S
mClipboardColor->setFrameStyle(QFrame::Sunken | QFrame::Panel);
mClipboardColor->setScaledContents(true);
QPushButton *clipboardButton = new QPushButton(tr("Choose..."));
- connect(clipboardButton, &QPushButton::clicked, [=] { chooseColor(mClipboardColor); });
+ connect(clipboardButton, &QPushButton::clicked, this, [=] { chooseColor(mClipboardColor); });
colorGrid->addWidget(colorl2, 1, 0);
colorGrid->addWidget(mClipboardColor, 1, 1);
colorGrid->addWidget(clipboardButton, 1, 2);
@@ -296,7 +296,7 @@ ConfigurationDialog::ConfigurationDialog(QWidget *parent, Qt::WindowFlags f) : S
mBaseColor->setFrameStyle(QFrame::Sunken | QFrame::Panel);
mBaseColor->setScaledContents(true);
mBaseButton = new QPushButton(tr("Choose..."));
- connect(mBaseButton, &QPushButton::clicked, [=] { chooseColor(mBaseColor); });
+ connect(mBaseButton, &QPushButton::clicked, this, [=] { chooseColor(mBaseColor); });
colorGrid->addWidget(colorl3, 2, 0);
colorGrid->addWidget(mBaseColor, 2, 1);
colorGrid->addWidget(mBaseButton, 2, 2);
@@ -305,7 +305,7 @@ ConfigurationDialog::ConfigurationDialog(QWidget *parent, Qt::WindowFlags f) : S
mAlternateBaseColor->setFrameStyle(QFrame::Sunken | QFrame::Panel);
mAlternateBaseColor->setScaledContents(true);
mAlternateBaseButton = new QPushButton(tr("Choose..."));
- connect(mAlternateBaseButton, &QPushButton::clicked, [=] { chooseColor(mAlternateBaseColor); });
+ connect(mAlternateBaseButton, &QPushButton::clicked, this, [=] { chooseColor(mAlternateBaseColor); });
colorGrid->addWidget(colorl4, 3, 0);
colorGrid->addWidget(mAlternateBaseColor, 3, 1);
colorGrid->addWidget(mAlternateBaseButton, 3, 2);
@@ -314,7 +314,7 @@ ConfigurationDialog::ConfigurationDialog(QWidget *parent, Qt::WindowFlags f) : S
mFontColor->setFrameStyle(QFrame::Sunken | QFrame::Panel);
mFontColor->setScaledContents(true);
QPushButton *fontColorBtn = new QPushButton(tr("Choose..."));
- connect(fontColorBtn, &QPushButton::clicked, [=] { chooseColor(mFontColor); });
+ connect(fontColorBtn, &QPushButton::clicked, this, [=] { chooseColor(mFontColor); });
colorGrid->addWidget(colorl5, 4, 0);
colorGrid->addWidget(mFontColor, 4, 1);
colorGrid->addWidget(fontColorBtn, 4, 2);
@@ -323,7 +323,7 @@ ConfigurationDialog::ConfigurationDialog(QWidget *parent, Qt::WindowFlags f) : S
mLocalColor->setFrameStyle(QFrame::Sunken | QFrame::Panel);
mLocalColor->setScaledContents(true);
QPushButton *localColorBtn = new QPushButton(tr("Choose..."));
- connect(localColorBtn, &QPushButton::clicked, [=] { chooseColor(mLocalColor); });
+ connect(localColorBtn, &QPushButton::clicked, this, [=] { chooseColor(mLocalColor); });
colorGrid->addWidget(colorl6, 5, 0);
colorGrid->addWidget(mLocalColor, 5, 1);
colorGrid->addWidget(localColorBtn, 5, 2);
@@ -332,7 +332,7 @@ ConfigurationDialog::ConfigurationDialog(QWidget *parent, Qt::WindowFlags f) : S
mArchivedColor->setFrameStyle(QFrame::Sunken | QFrame::Panel);
mArchivedColor->setScaledContents(true);
QPushButton *archivedColorBtn = new QPushButton(tr("Choose..."));
- connect(archivedColorBtn, &QPushButton::clicked, [=] { chooseColor(mArchivedColor); });
+ connect(archivedColorBtn, &QPushButton::clicked, this, [=] { chooseColor(mArchivedColor); });
colorGrid->addWidget(colorl7, 6, 0);
colorGrid->addWidget(mArchivedColor, 6, 1);
colorGrid->addWidget(archivedColorBtn, 6, 2);
@@ -341,7 +341,7 @@ ConfigurationDialog::ConfigurationDialog(QWidget *parent, Qt::WindowFlags f) : S
mFavoriteColor->setFrameStyle(QFrame::Sunken | QFrame::Panel);
mFavoriteColor->setScaledContents(true);
QPushButton *favoriteColorBtn = new QPushButton(tr("Choose..."));
- connect(favoriteColorBtn, &QPushButton::clicked, [=] { chooseColor(mFavoriteColor); });
+ connect(favoriteColorBtn, &QPushButton::clicked, this, [=] { chooseColor(mFavoriteColor); });
colorGrid->addWidget(colorl8, 7, 0);
colorGrid->addWidget(mFavoriteColor, 7, 1);
colorGrid->addWidget(favoriteColorBtn, 7, 2);
@@ -356,7 +356,7 @@ ConfigurationDialog::ConfigurationDialog(QWidget *parent, Qt::WindowFlags f) : S
mPVBgColor->setFrameStyle(QFrame::Sunken | QFrame::Panel);
mPVBgColor->setScaledContents(true);
mPVBgButton = new QPushButton(tr("Choose..."));
- connect(mPVBgButton, &QPushButton::clicked, [=] { chooseColor(mPVBgColor); });
+ connect(mPVBgButton, &QPushButton::clicked, this, [=] { chooseColor(mPVBgColor); });
QGridLayout *pvGrid = new QGridLayout;
pvGrid->addWidget(color9, 0, 0);
pvGrid->addWidget(mPVBgColor, 0, 1);
@@ -574,7 +574,7 @@ bool ConfigurationDialog::checkDvdPath(){
do {
line = fStream.readLine();
if(line.contains(path)){
- QStringList fsParts = line.split(QRegExp("\\s+"));
+ QStringList fsParts = line.split(QRegularExpression("\\s+"));
if(fsParts.isEmpty() || (fsParts.size() < 4)){
continue;
}
diff --git a/consistencycheck.cpp b/consistencycheck.cpp
index 24d128c..22c0e55 100644
--- a/consistencycheck.cpp
+++ b/consistencycheck.cpp
@@ -60,9 +60,9 @@ ConsistencyCheck::ConsistencyCheck(QWidget *parent, Qt::WindowFlags f) : SmDialo
// Buttons
mCancelExit = new QPushButton(tr("Close"));
mCheckDb = new QPushButton(tr("Check database"));
- connect(mCheckDb, &QPushButton::clicked, [=] { startChecker(ConsistencyCheck::DbCheck); });
+ connect(mCheckDb, &QPushButton::clicked, this, [=] { startChecker(ConsistencyCheck::DbCheck); });
mCheckFs = new QPushButton(tr("Check Filesystem"));
- connect(mCheckFs, &QPushButton::clicked, [=] { startChecker(ConsistencyCheck::FsCheck); });
+ connect(mCheckFs, &QPushButton::clicked, this, [=] { startChecker(ConsistencyCheck::FsCheck); });
mCleanup = new QPushButton(tr("Cleanup..."));
connect(mCleanup, &QPushButton::clicked, this, &ConsistencyCheck::cleanup);
mCleanup->setEnabled(false);
@@ -209,7 +209,7 @@ void ConsistencyCheck::moveFiles(const QStringList &files){
QString startDir = s.value("paths/selecteddir").toString();
QString targetDir = QFileDialog::getExistingDirectory(this, tr("Move stray files to..."), startDir);
if(!targetDir.isEmpty()){
- for(QString file : files){
+ for(const auto &file : files){
QFileInfo fi(file);
QString tgt = QString("%1%2%3").arg(targetDir).arg(QDir::separator()).arg(fi.fileName());
QFileInfo tfi(tgt);
@@ -416,7 +416,7 @@ void ConsistencyChecker::doFsCheck(const QFileInfo &start, const QVector<QString
if(start.isDir()){
QDirIterator it(start.absoluteFilePath(), QDir::AllEntries | QDir::NoDotAndDotDot);
while(it.hasNext()){
- QFileInfo fi = it.next();
+ QFileInfo fi(it.next());
mCancelMutex.lock();
if(mCanceled){
mCancelMutex.unlock();
@@ -428,12 +428,12 @@ void ConsistencyChecker::doFsCheck(const QFileInfo &start, const QVector<QString
}else{
QString md5sum = Helper::md5Sum(fi.absoluteFilePath());
if(md5sums.contains(md5sum)){
- emit consistencyMsg(QString(tr("OK: %1 -> %2")).arg(fi.fileName()).arg(md5sum));
+ emit consistencyMsg(QString(tr("OK: %1 -> %2")).arg(fi.fileName(), md5sum));
}else{
mStrayFilesMutex.lock();
mStrayFiles << fi.absoluteFilePath();
mStrayFilesMutex.unlock();
- emit consistencyMsg(QString(tr("NOT FOUND: %1 -> %2")).arg(fi.fileName()).arg(md5sum));
+ emit consistencyMsg(QString(tr("NOT FOUND: %1 -> %2")).arg(fi.fileName(), md5sum));
}
++mCurCount;
if(mCurCount % 50 == 0){
diff --git a/copyworker.cpp b/copyworker.cpp
index 0fbc802..22e62f4 100644
--- a/copyworker.cpp
+++ b/copyworker.cpp
@@ -15,7 +15,7 @@ CopyWorker::CopyWorker(QObject *parent) : QThread(parent), mMax(0) {}
void CopyWorker::enqueue(const QString &source, const QString &destination){
QMutexLocker l(&mSourceMx);
- QPair<QString, QString> x = qMakePair<QString, QString>(source, destination);
+ std::pair<QString, QString> x(source, destination);
if(!mFiles.contains(x)){
QFileInfo fi(source);
mFiles.append(x);
@@ -74,7 +74,7 @@ void CopyWorker::run(){
qint64 cur = total / 1024 / 1024;
emit bytesRead(cur);
}
- delete buf;
+ delete[] buf;
}
QString s = QString(tr("Done copying %1 file(s)")).arg(QString::number(mFiles.size()));
emit success(s);
diff --git a/copyworker.h b/copyworker.h
index 165f59b..bf477e1 100644
--- a/copyworker.h
+++ b/copyworker.h
@@ -34,7 +34,7 @@ class CopyWorker : public QThread {
void file(QString);
private:
- QList<QPair<QString, QString> > mFiles;
+ QList<std::pair<QString, QString> > mFiles;
QHash<QString, QList<QVariant> > mData;
QMutex mSourceMx;
int mMax;
diff --git a/filepropertiesdialog.cpp b/filepropertiesdialog.cpp
index be5e261..fbef6c2 100644
--- a/filepropertiesdialog.cpp
+++ b/filepropertiesdialog.cpp
@@ -103,7 +103,7 @@ void FilePropertiesDialog::movieData(){
SmTreeItem *streamItem = new SmTreeItem(2);
QJsonArray streamA = obj.value("streams").toArray();
for(int i = 0; i < streamA.size(); ++i){
- QString itemName = QString(tr("Stream %1 [%2]")).arg(QString::number(i + 1)).arg(streamA.at(i).toObject().value("codec_type").toString());
+ QString itemName = QString(tr("Stream %1 [%2]")).arg(QString::number(i + 1), streamA.at(i).toObject().value("codec_type").toString());
SmTreeItem *item = new SmTreeItem(QList<QVariant>() << itemName << QVariant(), streamItem);
streamItem->appendChild(item);
movieDataRecursive(streamA.at(i), item);
diff --git a/fswidget.cpp b/fswidget.cpp
index 7bae773..79215d3 100644
--- a/fswidget.cpp
+++ b/fswidget.cpp
@@ -19,10 +19,9 @@
#include <QProcess>
#include <QSettings>
#include <QApplication>
-#include <QMediaPlayer>
-#include <QMediaPlaylist>
#include <QStringList>
#include <QClipboard>
+#include <QActionGroup>
#include "fswidget.h"
#include "helper.h"
@@ -34,7 +33,6 @@
#include "fsproxy.h"
#include "smview.h"
#include "viewer.h"
-#include "videoviewer.h"
FSWidget::FSWidget(QWidget *parent) : QWidget(parent) {
mMovieWizard = new NewMovieWizard(this);
@@ -42,9 +40,6 @@ FSWidget::FSWidget(QWidget *parent) : QWidget(parent) {
mViewer = new Viewer;
mNewPicsDlg = new NewPicsDialog;
mPlayer = new QProcess(qApp);
- mVideoViewer = new VideoViewer;
- mVideoViewer->setVisible(false);
- connect(mVideoViewer->player(), &QMediaPlayer::stateChanged, this, &FSWidget::playerStateChanged);
connect(mPlayer, QOverload<int, QProcess::ExitStatus>::of(&QProcess::finished), this, &FSWidget::doPlay);
setPalette(qApp->palette());
setupWidget();
@@ -71,10 +66,10 @@ void FSWidget::setupWidget(){
transform.rotate(-180);
QIcon buttplugLeft(buttplug.transformed(transform));
QAction *backA = new QAction(buttplugLeft, tr("Prev. dir"), this);
- connect(backA, &QAction::triggered, [=] { advanceDir(-1); });
+ connect(backA, &QAction::triggered, this, [=] { advanceDir(-1); });
toolbar->addAction(backA);
QAction *forwardA = new QAction(buttplugRight, tr("Next dir"), this);
- connect(forwardA, &QAction::triggered, [=] { advanceDir(1); });
+ connect(forwardA, &QAction::triggered, this, [=] { advanceDir(1); });
toolbar->addAction(forwardA);
QAction *refreshA = new QAction(QIcon(":/refresh.png"), tr("Refresh"), this);
connect(refreshA, &QAction::triggered, this, &FSWidget::refresh);
@@ -115,7 +110,7 @@ void FSWidget::setupWidget(){
if(!mFileView->header()->isSectionHidden(i)){
a->setChecked(true);
}
- connect(a, &QAction::triggered, [=] { mFileView->header()->setSectionHidden(i, a->isChecked() == false); });
+ connect(a, &QAction::triggered, this, [=] { mFileView->header()->setSectionHidden(i, a->isChecked() == false); });
headerAG->addAction(a);
}
QIcon headerIcon = Helper::icon(Qt::transparent, qApp->palette().color(QPalette::Text), 'H', true, false);
@@ -127,14 +122,14 @@ void FSWidget::setupWidget(){
toolbar->addSeparator();
toolbar->addAction(SmGlobals::instance()->globalAction());
QAction *playSelectedA = new QAction(QIcon(":/spreadingpants.png"), tr("Play selected"), this);
- connect(playSelectedA, &QAction::triggered, [=] { playSelected(1, QString()); });
+ connect(playSelectedA, &QAction::triggered, this, [=] { playSelected(1, QString()); });
playSelectedA->setShortcut(Qt::Key_Return);
QMenu *repeatMenu = new QMenu;
for(int i = 2; i < 6; ++i){
QString actionStr = QString(tr("Play %1 times")).arg(QString::number(i));
QAction *a = new QAction(actionStr, this);
repeatMenu->addAction(a);
- connect(a, &QAction::triggered, [=] { playSelected(i, QString()); });
+ connect(a, &QAction::triggered, this, [=] { playSelected(i, QString()); });
}
QAction *playRepeatMA = new QAction(tr("Play repeat"), this);
playRepeatMA->setMenu(repeatMenu);
@@ -146,7 +141,7 @@ void FSWidget::setupWidget(){
selectFilterA->setShortcut(tr("CTRL+j"));
selectFilterA->setData(SmView::InvisibleAction);
QAction *unselectAllA = new QAction(tr("unselect all..."), this);
- connect(unselectAllA, &QAction::triggered, [=] { mFileView->selectionModel()->clear(); });
+ connect(unselectAllA, &QAction::triggered, this, [=] { mFileView->selectionModel()->clear(); });
unselectAllA->setShortcut(tr("CTRL+k"));
unselectAllA->setData(SmView::InvisibleAction);
QAction *compareA = new QAction(QIcon(":/compare.png"), tr("Compare..."), this);
@@ -159,7 +154,7 @@ void FSWidget::setupWidget(){
mDirCB->setSizeAdjustPolicy(QComboBox::AdjustToContents);
connect(mDirCB, &QComboBox::currentTextChanged, this, &FSWidget::gatherData);
QAction *addDirA = new QAction(plusIcon, tr("Add dir..."), this);
- connect(addDirA, &QAction::triggered, [=] {
+ connect(addDirA, &QAction::triggered, this, [=] {
QString startDir = QDir::homePath();
QDir cDir(mDirCB->currentText());
if(cDir.cdUp()){
@@ -169,7 +164,7 @@ void FSWidget::setupWidget(){
insertItem(mDirCB, newDir);
} );
QAction *removeDirA = new QAction(minusIcon, tr("Remove dir."), this);
- connect(removeDirA, &QAction::triggered, [=] { removeItem(mDirCB);} );
+ connect(removeDirA, &QAction::triggered, this, [=] { removeItem(mDirCB);} );
QToolBar *dirTB = new QToolBar;
dirTB->addAction(addDirA);
dirTB->addAction(removeDirA);
@@ -181,12 +176,12 @@ void FSWidget::setupWidget(){
connect(mFilterCB, &QComboBox::currentTextChanged, this, &FSWidget::filterMime);
QAction *addFilterA = new QAction(plusIcon, tr("Add filter..."), this);
- connect(addFilterA, &QAction::triggered, [=] {
+ connect(addFilterA, &QAction::triggered, this, [=] {
QString filter = QInputDialog::getText(this, tr("Mime filter"), tr("Filter"));
insertItem(mFilterCB, filter);
} );
QAction *removeFilterA = new QAction(minusIcon, tr("Remove filter"), this);
- connect(removeFilterA, &QAction::triggered, [=] { removeItem(mFilterCB); });
+ connect(removeFilterA, &QAction::triggered, this, [=] { removeItem(mFilterCB); });
QToolBar *filterTB = new QToolBar;
filterTB->addAction(addFilterA);
filterTB->addAction(removeFilterA);
@@ -287,11 +282,9 @@ void FSWidget::readSettings(){
pMenu->clear();
for(const QString &p : players){
QAction *a = new QAction(p, this);
- connect(a, &QAction::triggered, [=] { playSelected(1, p); });
+ connect(a, &QAction::triggered, this, [=] { playSelected(1, p); });
pMenu->addAction(a);
}
- bool fullScreen = s.value("vw/fullscreen").toBool();
- mVideoViewer->setLastFullScreen(fullScreen);
}
void FSWidget::writeSettings(){
@@ -311,7 +304,6 @@ void FSWidget::writeSettings(){
s.setValue("fs/filters", filters);
s.setValue("fs/curfilter", curFilter);
s.setValue("fs/headerdata", mFileView->header()->saveState());
- s.setValue("vw/fullscreen", mVideoViewer->lastFullScreen());
}
void FSWidget::insertItem(QComboBox *cb, const QString &text){
@@ -384,7 +376,7 @@ void FSWidget::gatherData(const QString &curDir){
mFileView->setUpdatesEnabled(false);
while(it.hasNext()){
QBrush currentBrush = defaultBrush;
- QFileInfo fi = it.next();
+ QFileInfo fi(it.next());
++fileCount;
QMimeType mimeType = mimedb.mimeTypeForFile(fi);
QString mimeName = mimeType.name();
@@ -409,28 +401,28 @@ void FSWidget::gatherData(const QString &curDir){
//do this goto dance to execute as few queries as possible
if(mimeName.startsWith("video")){
- if(queryCount(filesMd5Q, md5) > 0){
+ if(queryCount(&filesMd5Q, md5) > 0){
currentBrush = greenBrush;
presenceStr = tr("Files: MD5");
goto ci;
}
- if(queryCount(originMd5Q, md5)){
+ if(queryCount(&originMd5Q, md5)){
currentBrush = blueBrush;
presenceStr = tr("Origin: MD5");
goto ci;
}
- if(queryCount(filesNameQ, fi.fileName())){
+ if(queryCount(&filesNameQ, fi.fileName())){
currentBrush = greenBrush;
presenceStr = tr("Files: Name");
goto ci;
}
- if(queryCount(originNameQ, likeArg)){
+ if(queryCount(&originNameQ, likeArg)){
currentBrush = blueBrush;
presenceStr = tr("Origin: Name");
goto ci;
}
}else if(mimeName.startsWith("image")){
- if(queryCount(picsMd5Q, md5) > 0){
+ if(queryCount(&picsMd5Q, md5) > 0){
currentBrush = greenBrush;
presenceStr = tr("Pics: MD5");
goto ci;
@@ -485,7 +477,7 @@ void FSWidget::gatherData(const QString &curDir){
mFileView->setSortingEnabled(true);
mFileView->sortByColumn(sc, so);
qApp->restoreOverrideCursor();
- QString msg = QString(tr("Analyzed %1 files in %2 ms using %3 queries").arg(QString::number(fileCount)).arg(QString::number(timer.elapsed())).arg(QString::number(mQueryCount)));
+ QString msg = QString(tr("Analyzed %1 files in %2 ms using %3 queries").arg(QString::number(fileCount), QString::number(timer.elapsed()), QString::number(mQueryCount)));
emit message(msg);
emit needRefreshFs();
wTitle = QString("Filesystem - [%1]").arg(curDir);
@@ -583,12 +575,12 @@ void FSWidget::advanceDir(int by){
mDirCB->setCurrentIndex(nextIdx);
}
-int FSWidget::queryCount(QSqlQuery &q, const QString &arg){
+int FSWidget::queryCount(QSqlQuery *q, const QString &arg){
int retval = -1;
- q.bindValue(":arg", arg);
- q.exec();
- while(q.next()){
- retval = q.value(0).toInt();
+ q->bindValue(":arg", arg);
+ q->exec();
+ while(q->next()){
+ retval = q->value(0).toInt();
}
++mQueryCount;
return retval;
@@ -600,7 +592,7 @@ void FSWidget::filterMime(const QString &mime){
filter = QString();
}
mProxy->setFilterKeyColumn(1);
- mProxy->setFilterRegExp(filter);
+ mProxy->setFilterRegularExpression(filter);
mProxy->setFilterCaseSensitivity(Qt::CaseInsensitive);
}
@@ -679,42 +671,26 @@ void FSWidget::playSelected(int count, QString player){
for(const QModelIndex &idx : selected){
paths << idx.data(FullPathRole).toString();
}
- QSettings s;
- bool useInternal = s.value("vw/internal").toBool();
- if(useInternal && player.isEmpty()){
- QMediaPlaylist *pl = mVideoViewer->player()->playlist();
- pl->clear();
- for(int i = 0; i < count; ++i){
- for(const QString &p : paths){
- pl->addMedia(QUrl::fromLocalFile(p));
- }
- }
- pl->setCurrentIndex(0);
- mVideoViewer->setVisible(true);
- mVideoViewer->setFullScreen(mVideoViewer->lastFullScreen());
- mVideoViewer->player()->play();
- }else{
- if(mPlayer->state() != QProcess::NotRunning){
- int retval = QMessageBox::question(this, tr("Terminate player?"), tr("Terminate running instance?"));
- if(retval == QMessageBox::No){
- return;
- }
- mPlayer->terminate();
- mPlayer->waitForFinished();
- }
- if(player.isEmpty()){
- QSettings s;
- player = s.value("programs_movieviewer/default").toString();
- }
- QPair<QString, QStringList> playerData = Helper::programData("movieviewer", player);
- mPlayerArgs = playerData.second;
- mPlaylist.clear();
- for(int i = 0; i < count; ++i){
- mPlaylist << paths;
+ if(mPlayer->state() != QProcess::NotRunning){
+ int retval = QMessageBox::question(this, tr("Terminate player?"), tr("Terminate running instance?"));
+ if(retval == QMessageBox::No){
+ return;
}
- mPlayer->setProgram(playerData.first);
- doPlay();
+ mPlayer->terminate();
+ mPlayer->waitForFinished();
+ }
+ if(player.isEmpty()){
+ QSettings s;
+ player = s.value("programs_movieviewer/default").toString();
+ }
+ QPair<QString, QStringList> playerData = Helper::programData("movieviewer", player);
+ mPlayerArgs = playerData.second;
+ mPlaylist.clear();
+ for(int i = 0; i < count; ++i){
+ mPlaylist << paths;
}
+ mPlayer->setProgram(playerData.first);
+ doPlay();
}
void FSWidget::doPlay(){
@@ -736,10 +712,10 @@ void FSWidget::selectFilter(){
return;
}
mFileView->selectionModel()->clearSelection();
- QRegExp re(retval);
+ QRegularExpression re(retval);
for(int i = 0; i < mProxy->rowCount(); ++i){
QModelIndex nameIdx = mProxy->index(i, 0);
- if(re.indexIn(nameIdx.data().toString()) != -1){
+ if(re.match(nameIdx.data().toString()).hasMatch()){
mFileView->selectionModel()->select(nameIdx, QItemSelectionModel::Select | QItemSelectionModel::Rows);
}
}
@@ -762,9 +738,3 @@ void FSWidget::calculateSelectionChanged(){
}
emit selectionChanged(count, size, duration);
}
-
-void FSWidget::playerStateChanged(QMediaPlayer::State s){
- if(s == QMediaPlayer::StoppedState){
- mVideoViewer->hide();
- }
-}
diff --git a/fswidget.h b/fswidget.h
index aaf6f17..27893f5 100644
--- a/fswidget.h
+++ b/fswidget.h
@@ -3,7 +3,6 @@
#include <QWidget>
#include <QSqlQuery>
-#include <QMediaPlayer>
class QComboBox;
class QTreeView;
@@ -42,7 +41,7 @@ class FSWidget : public QWidget {
void archivePics();
void copyMD5();
void advanceDir(int by);
- int queryCount(QSqlQuery &q, const QString &arg);
+ int queryCount(QSqlQuery *q, const QString &arg);
void filterMime(const QString &mime);
void unpack();
void doubleClicked(const QModelIndex &idx);
@@ -52,7 +51,6 @@ class FSWidget : public QWidget {
void doPlay();
void selectFilter();
void calculateSelectionChanged();
- void playerStateChanged(QMediaPlayer::State s);
signals:
void message(QString msg);
@@ -76,7 +74,6 @@ class FSWidget : public QWidget {
NewMovieWizard *mMovieWizard;
NewPicsDialog *mNewPicsDlg;
Viewer *mViewer;
- VideoViewer *mVideoViewer;
int mQueryCount;
QAction *mPlayWithA;
};
diff --git a/helper.cpp b/helper.cpp
index 6a6a05c..02e27b3 100644
--- a/helper.cpp
+++ b/helper.cpp
@@ -20,7 +20,6 @@
#include <QRect>
#include <QTime>
#include <QWidget>
-#include <QDesktopWidget>
#include <QApplication>
#include <QJsonDocument>
#include <QJsonObject>
@@ -134,7 +133,7 @@ namespace Helper {
QFileInfo info(path);
QString retval;
if(withMd5){
- retval = QString("%1/%2/%3/%4_%5.%6").arg(archiveDir).arg(md5[0]).arg(md5[1]).arg(info.completeBaseName()).arg(md5).arg(info.suffix());
+ retval = QString("%1/%2/%3/%4_%5.%6").arg(archiveDir, md5[0], md5[1], info.completeBaseName(), md5, info.suffix());
}else{
retval = QString("%1/%2/%3/%4").arg(archiveDir).arg(md5[0]).arg(md5[1]).arg(info.fileName());
}
@@ -152,7 +151,7 @@ namespace Helper {
seriesDir.append(QString(" - %1").arg(subtitle));
}
seriesDir.replace(' ', '.');
- QString retval = QString("%1/DVD_%2/%3/%4").arg(usbPath).arg(QString::number(dvdNo)).arg(seriesDir).arg(filename);
+ QString retval = QString("%1/DVD_%2/%3/%4").arg(usbPath, QString::number(dvdNo), seriesDir, filename);
return retval;
}
@@ -165,7 +164,7 @@ namespace Helper {
}
QHash<QString, QVariant> programData;
if(!preferred.isEmpty()){
- if(data.keys().contains(preferred)){
+ if(data.contains(preferred)){
programData = data.value(preferred).toHash();
return qMakePair(programData.value("path").toString(), programData.value("args").toStringList());
}
@@ -209,7 +208,7 @@ namespace Helper {
const QStringList toStringList(const QList<QVariant> &list){
QStringList retval;
- for(QVariant v : list){
+ for(const auto &v : list){
retval << v.toString();
}
return retval;
@@ -221,13 +220,6 @@ namespace Helper {
return QString::fromLatin1(colString);
}
- void centerWidget(QWidget *widget){
- QRect widgetRect = widget->rect();
- widgetRect.moveCenter(qApp->desktop()->screenGeometry(widget).center());
- widget->move(widgetRect.topLeft());
- }
-
-
QVariantMap ffmpegData(const QString &path){
QSettings s;
QString ffProbe = s.value("paths/ffprobe").toString();
@@ -314,7 +306,7 @@ namespace Helper {
QVariant picSize(const QString &path){
Magick::Image img;
img.ping(qPrintable(path));
- QString retval = QString("%1x%2").arg(QString::number(img.columns())).arg(QString::number(img.rows()));
+ QString retval = QString("%1x%2").arg(QString::number(img.columns()), QString::number(img.rows()));
return retval;
}
diff --git a/mappingdata.cpp b/mappingdata.cpp
index d2e061a..3253b2d 100644
--- a/mappingdata.cpp
+++ b/mappingdata.cpp
@@ -11,7 +11,7 @@
MappingData::MappingData() : mappingId(-1), descId(-1) {}
-bool MappingData::operator ==(const MappingData &other){
+bool MappingData::operator ==(const MappingData &other) const{
bool retval = (
mappingId == other.mappingId &&
descId == other.descId &&
diff --git a/mappingdata.h b/mappingdata.h
index 00cf52a..44f2c2c 100644
--- a/mappingdata.h
+++ b/mappingdata.h
@@ -14,7 +14,7 @@
struct MappingData {
MappingData();
- bool operator==(const MappingData &other);
+ bool operator==(const MappingData &other) const;
bool isValid();
int mappingId;
int descId;
diff --git a/mappingeditwidget.cpp b/mappingeditwidget.cpp
index 6e1a60f..255cac2 100644
--- a/mappingeditwidget.cpp
+++ b/mappingeditwidget.cpp
@@ -9,6 +9,7 @@
#include <QHBoxLayout>
#include <QVBoxLayout>
#include <QSettings>
+#include <QIODevice>
#include "mappingeditwidget.h"
#include "mappingtreewidget.h"
diff --git a/mappingtableeditor.cpp b/mappingtableeditor.cpp
index 4c85313..c297e7f 100644
--- a/mappingtableeditor.cpp
+++ b/mappingtableeditor.cpp
@@ -91,7 +91,7 @@ void MappingTableEditor::removeItem(){
}
int count = selected.at(0).data(MappingTableEditorModel::CountRole).toInt();
if(count > 0){
- QString warning = QString(tr("Really remove %1 %2? There are %3 items associated with it.")).arg(mTable).arg(selected.at(0).data(MappingTableEditorModel::NameRole).toString()).arg(QString::number(count));
+ QString warning = QString(tr("Really remove %1 %2? There are %3 items associated with it.")).arg(mTable, selected.at(0).data(MappingTableEditorModel::NameRole).toString(), QString::number(count));
int mbRetval = QMessageBox::warning(this, tr("Warning!"), warning, QMessageBox::Yes | QMessageBox::No);
if(mbRetval == QMessageBox::No){
return;
@@ -140,7 +140,6 @@ MappingTableEditorModel::MappingTableEditorModel(const QString &table, const QSt
QString queryString = QString("SELECT t%1name, COUNT(iseriesparts_id), %1s.i%1s_id from %1s, seriesparts_%1map WHERE %1s.i%1s_id = seriesparts_%1map.i%1s_id GROUP BY %1s.t%1name, %1s.i%1s_id ORDER BY t%1name").arg(mTable);
mDataQuery = new QSqlQuery(mDb);
mDataQuery->prepare(queryString);
- QString mergeQuery = QString("UPDATE %1s SET %1s_id = %2 WHERE %1s_id = %3");
populate();
}
@@ -206,7 +205,7 @@ bool MappingTableEditorModel::removeData(const QModelIndex &idx){
if(!idx.isValid()){
return false;
}
- QString removeQuery = QString("DELETE FROM %1s WHERE i%1s_id = %2").arg(mTable).arg(QString::number(idx.data(IdRole).toInt()));
+ QString removeQuery = QString("DELETE FROM %1s WHERE i%1s_id = %2").arg(mTable, QString::number(idx.data(IdRole).toInt()));
QSqlQuery remove(removeQuery, mDb);
bool retval = remove.exec();
if(retval){
diff --git a/mappingtablemodel.cpp b/mappingtablemodel.cpp
index d472ef8..0c5e511 100644
--- a/mappingtablemodel.cpp
+++ b/mappingtablemodel.cpp
@@ -21,28 +21,28 @@ MappingTableModel::MappingTableModel(QStringList &headers, const QString &table,
mSequenceName = QString("%1_i%1_id__seq").arg(mTable);
//queries
- QString updateNameQuery = QString("UPDATE %1 set %2 = :name WHERE %3 = :id").arg(mTable).arg(mNameColumnName).arg(mIdColumnName);
+ QString updateNameQuery = QString("UPDATE %1 set %2 = :name WHERE %3 = :id").arg(mTable, mNameColumnName, mIdColumnName);
mUpdateItemNameQuery = new QSqlQuery(mDb);
mUpdateItemNameQuery->prepare(updateNameQuery);
- QString insertItemQuery = QString("INSERT INTO %1 (%2) VALUES (:name)").arg(mTable).arg(mNameColumnName);
+ QString insertItemQuery = QString("INSERT INTO %1 (%2) VALUES (:name)").arg(mTable, mNameColumnName);
mInsertItemQuery = new QSqlQuery(mDb);
mInsertItemQuery->prepare(insertItemQuery);
- QString deleteItemQuery = QString("DELETE FROM %1 WHERE %2 = :id").arg(mTable).arg(mIdColumnName);
+ QString deleteItemQuery = QString("DELETE FROM %1 WHERE %2 = :id").arg(mTable, mIdColumnName);
mDeleteItemQuery = new QSqlQuery(mDb);
mDeleteItemQuery->prepare(deleteItemQuery);
- QString addMappingQuery = QString("INSERT INTO %1 (iseriesparts_id, %2) VALUES (:id1, :id2)").arg(mMappingTable).arg(mIdColumnName);
+ QString addMappingQuery = QString("INSERT INTO %1 (iseriesparts_id, %2) VALUES (:id1, :id2)").arg(mMappingTable, mIdColumnName);
mAddMappingQuery = new QSqlQuery(mDb);
mAddMappingQuery->prepare(addMappingQuery);
- QString removeMappingQuery = QString("DELETE FROM %1 WHERE iseriesparts_id = :id1 AND %2 = :id2").arg(mMappingTable).arg(mIdColumnName);
+ QString removeMappingQuery = QString("DELETE FROM %1 WHERE iseriesparts_id = :id1 AND %2 = :id2").arg(mMappingTable, mIdColumnName);
mRemoveMappingQuery = new QSqlQuery(mDb);
mRemoveMappingQuery->prepare(removeMappingQuery);
- QString mappingQuery = QString("SELECT %1 FROM %2, %3 WHERE %2.%4 = %3.%4 AND %3.iseriesparts_id = :id").arg(mNameColumnName).arg(mTable).arg(mMappingTable).arg(mIdColumnName);
+ QString mappingQuery = QString("SELECT %1 FROM %2, %3 WHERE %2.%4 = %3.%4 AND %3.iseriesparts_id = :id").arg(mNameColumnName, mTable, mMappingTable, mIdColumnName);
mMappingQuery = new QSqlQuery(mDb);
mMappingQuery->prepare(mappingQuery);
- QString allItemsQuery = QString("SELECT %1, %2 FROM %3").arg(mIdColumnName).arg(mNameColumnName).arg(mTable);
+ QString allItemsQuery = QString("SELECT %1, %2 FROM %3").arg(mIdColumnName, mNameColumnName, mTable);
mAllItemsQuery = new QSqlQuery(mDb);
mAllItemsQuery->prepare(allItemsQuery);
- QString itemCountQuery = QString("SELECT COUNT(*) FROM %1 WHERE %2 = :id").arg(mMappingTable).arg(mIdColumnName);
+ QString itemCountQuery = QString("SELECT COUNT(*) FROM %1 WHERE %2 = :id").arg(mMappingTable, mIdColumnName);
mItemCountQuery = new QSqlQuery(mDb);
mItemCountQuery->prepare(itemCountQuery);
@@ -244,7 +244,7 @@ void MappingTableModel::deleteItems(const QList<int> &ids){
}
void MappingTableModel::populate(){
- QString query = QString("SELECT %1, %2 FROM %3 ORDER BY %2").arg(mIdColumnName).arg(mNameColumnName).arg(mTable);
+ QString query = QString("SELECT %1, %2 FROM %3 ORDER BY %2").arg(mIdColumnName, mNameColumnName, mTable);
QList<QVariant> rootData;
mItemNames.clear();
rootData << QString(tr("%1 name")).arg(mTable) << tr("Id");
diff --git a/mappingtablemodel.h b/mappingtablemodel.h
index 5901ec4..c383bf8 100644
--- a/mappingtablemodel.h
+++ b/mappingtablemodel.h
@@ -15,7 +15,6 @@
class QString;
class QSqlQuery;
-class QStringList;
class MappingTableModel : public SmTreeModel{
Q_OBJECT
diff --git a/mappingtablewidget.cpp b/mappingtablewidget.cpp
index d42fcb9..db5bbe3 100644
--- a/mappingtablewidget.cpp
+++ b/mappingtablewidget.cpp
@@ -115,7 +115,7 @@ void MappingTableWidget::removeItem(){
if(selected.isEmpty()){
return;
}
- for(QPersistentModelIndex i : selected){
+ for(const auto &i : selected){
QString item = i.data().toString();
mModel->removeRows(i.row(), 1);
QModelIndex itemIdx = mMappingModel->find(item);
diff --git a/mappingtreemodel.cpp b/mappingtreemodel.cpp
index 4f253c5..f88da64 100644
--- a/mappingtreemodel.cpp
+++ b/mappingtreemodel.cpp
@@ -205,7 +205,7 @@ bool MappingTreeModel::deleteChild(const QModelIndex &idx){
return false;
}
-MappingData MappingTreeModel::mappingDataFromItem(SmTreeItem *item) const{
+const MappingData MappingTreeModel::mappingDataFromItem(SmTreeItem *item) const{
MappingData retval;
retval.mappingId = item->data(MappingTreeModel::MappingId).toInt();
retval.descId = item->data(MappingTreeModel::DescId).toInt();
diff --git a/mappingtreemodel.h b/mappingtreemodel.h
index 643bc7d..04ee167 100644
--- a/mappingtreemodel.h
+++ b/mappingtreemodel.h
@@ -13,10 +13,10 @@
#include <QMetaType>
#include "smtreemodel.h"
+#include "mappingdata.h"
class QSqlQuery;
class SmTreeItem;
-class MappingData;
class SmTreeItem;
class MappingTreeModel : public SmTreeModel {
@@ -42,7 +42,7 @@ class MappingTreeModel : public SmTreeModel {
bool renameChild(const QModelIndex &idx, const QString newName);
bool deleteChild(const QModelIndex &idx);
MappingData mappingDataFromIndex(QModelIndex &idx) const;
- MappingData mappingDataFromItem(SmTreeItem *item) const;
+ const MappingData mappingDataFromItem(SmTreeItem *item) const;
QList<MappingData> siblingMappingDataFromId(int id);
const QSqlError &lastError() const { return mLastError; }
diff --git a/mappingtreeproxy.cpp b/mappingtreeproxy.cpp
index 077d72a..6758f55 100644
--- a/mappingtreeproxy.cpp
+++ b/mappingtreeproxy.cpp
@@ -11,12 +11,16 @@
MappingTreeProxy::MappingTreeProxy(QObject *parent) : QSortFilterProxyModel(parent) {}
void MappingTreeProxy::setFilter(const QString &filter){
- mFilter = QRegExp(filter);
+ if(!filter.isEmpty()){
+ mFilter = QRegularExpression(filter);
+ }else{
+ mFilter = QRegularExpression();
+ }
invalidateFilter();
}
bool MappingTreeProxy::filterAcceptsRow(int sourceRow, const QModelIndex &sourceParent) const{
- if(mFilter.isEmpty()){
+ if(mFilter == QRegularExpression()){
return true;
}
QModelIndex nameIdx = sourceModel()->index(sourceRow, MappingTreeModel::Name, sourceParent);
diff --git a/mappingtreeproxy.h b/mappingtreeproxy.h
index 158cde9..0ee6f40 100644
--- a/mappingtreeproxy.h
+++ b/mappingtreeproxy.h
@@ -22,7 +22,7 @@ class MappingTreeProxy : public QSortFilterProxyModel {
virtual bool filterAcceptsRow(int sourceRow, const QModelIndex &sourceParent) const;
private:
- QRegExp mFilter;
+ QRegularExpression mFilter;
};
#endif // MAPPINGTREEPROXY_H
diff --git a/mappingtreeresultmodel.cpp b/mappingtreeresultmodel.cpp
index e2ff75e..cb8d67c 100644
--- a/mappingtreeresultmodel.cpp
+++ b/mappingtreeresultmodel.cpp
@@ -112,7 +112,7 @@ void MappingTreeResultModel::removeItem(const QModelIndex &idx){
return;
}
SmTreeItem *curItem = static_cast<SmTreeItem*>(idx.internalPointer());
- MappingData rmData = mSourceModel->mappingDataFromItem(curItem);
+ const MappingData rmData = mSourceModel->mappingDataFromItem(curItem);
beginResetModel();
int row = curItem->row();
SmTreeItem *parent = curItem->parent();
@@ -173,7 +173,7 @@ QList<QVariant> MappingTreeResultModel::columnValuesRecursive(SmTreeItem *parent
for(int i = 0; i < parent->childCount(); ++i){
SmTreeItem *child = parent->child(i);
QVariant value = child->data(column);
- if(value.canConvert(QVariant::Int) && (value.toInt() != -1)){
+ if(value.canConvert<int>() && (value.toInt() != -1)){
retval << value;
}
retval << columnValuesRecursive(child, column);
diff --git a/mappingtreewidget.cpp b/mappingtreewidget.cpp
index 6c6a495..7fd8071 100644
--- a/mappingtreewidget.cpp
+++ b/mappingtreewidget.cpp
@@ -106,7 +106,7 @@ MappingTreeWidget::MappingTreeWidget(QWidget *parent) : QWidget(parent){
//setup actions
QAction *addActorA = new QAction(QIcon(":/fire.png"), tr("Add actor..."), this);
- addActorA->setShortcut(Qt::CTRL + Qt::Key_A);
+ addActorA->setShortcut(Qt::CTRL | Qt::Key_A);
connect(addActorA, &QAction::triggered, this, &MappingTreeWidget::addActor);
mTree->addAction(addActorA);
mTree->addAction(Helper::createSeparator(this));
@@ -243,7 +243,7 @@ void MappingTreeWidget::deleteChild(){
QModelIndex sel = selected();
QModelIndex real = mProxy->mapToSource(sel);
if(mModel->rowCount(real) > 0){
- QString msg = QString(tr("Cannot delete item %1, because it has %2 children!")).arg(real.data().toString()).arg(QString::number(mModel->rowCount(real)));
+ QString msg = QString(tr("Cannot delete item %1, because it has %2 children!")).arg(real.data().toString(), QString::number(mModel->rowCount(real)));
QMessageBox::critical(this, tr("Error"), msg);
return;
}
@@ -252,7 +252,7 @@ void MappingTreeWidget::deleteChild(){
if(retval == QMessageBox::Yes){
if(!mModel->deleteChild(real)){
QSqlError last = mModel->lastError();
- QString msg = QString(tr("Failed to delete %1. Database said: %2")).arg(real.data().toString()).arg(last.text());
+ QString msg = QString(tr("Failed to delete %1. Database said: %2")).arg(real.data().toString(), last.text());
QMessageBox::critical(this, tr("Error"), msg);
}
}
diff --git a/movieinfopage.cpp b/movieinfopage.cpp
index 787329f..6ebc1e1 100644
--- a/movieinfopage.cpp
+++ b/movieinfopage.cpp
@@ -151,13 +151,11 @@ void MovieInfoPage::addFile(const QString &file){
itemData[WizardTreeModel::FileType] = WizardTreeModel::Movie;
}else{
QString baseName = fi.completeBaseName();
- QRegExp reFront = QRegExp("front");
- reFront.setCaseSensitivity(Qt::CaseInsensitive);
- QRegExp reBack = QRegExp("back");
- reBack.setCaseSensitivity(Qt::CaseInsensitive);
- if(baseName.endsWith('f') || (reFront.indexIn(baseName) != -1)){
+ QRegularExpression reFront("front", QRegularExpression::CaseInsensitiveOption);
+ QRegularExpression reBack("back", QRegularExpression::CaseInsensitiveOption);
+ if(baseName.endsWith('f') || reFront.match(baseName).hasMatch()){
itemData[WizardTreeModel::FileType] = WizardTreeModel::FrontCover;
- }else if(baseName.endsWith('b') || (reBack.indexIn(baseName) != -1)){
+ }else if(baseName.endsWith('b') || reBack.match(baseName).hasMatch()){
itemData[WizardTreeModel::FileType] = WizardTreeModel::BackCover;
}else{
itemData[WizardTreeModel::FileType] = WizardTreeModel::GeneralCover;
@@ -254,7 +252,7 @@ void MovieInfoPage::guessOld(const QString &fullPath){
QDirIterator it(fi.dir());
QList<QVariant> itemData;
while(it.hasNext()){
- QFileInfo curFi = it.next();
+ QFileInfo curFi(it.next());
QString curBaseName = curFi.completeBaseName();
for(int i = 0; i < mFileModel->rowCount(mFileModel->rootIndex()); ++i){
QModelIndex curIdx = mFileModel->index(i, WizardTreeModel::FileName, mFileModel->rootIndex());
diff --git a/moviepropertiesdialog.cpp b/moviepropertiesdialog.cpp
index 016c2ee..4042d36 100644
--- a/moviepropertiesdialog.cpp
+++ b/moviepropertiesdialog.cpp
@@ -75,9 +75,9 @@ void MoviePropertiesDialog::setupDialog(){
mActorM = new QStandardItemModel;
mActorV->setModel(mActorM);
QAction *addActorA = new QAction(QIcon(":/spreadingpants.png"), tr("Add actor..."), this);
- connect(addActorA, &QAction::triggered, [=] { addItem(mActorDlg, mActorM, QIcon(":/diaper.png")); });
+ connect(addActorA, &QAction::triggered, this, [=] { addItem(mActorDlg, mActorM, QIcon(":/diaper.png")); });
QAction *removeActorA = new QAction(QIcon(":/delete.png"), tr("Remove actor"), this);
- connect(removeActorA, &QAction::triggered, [=] { removeItem(mActorV); });
+ connect(removeActorA, &QAction::triggered, this, [=] { removeItem(mActorV); });
mActorV->addActions(QList<QAction*>() << addActorA << removeActorA);
QGroupBox *actorsGB = new QGroupBox(tr("Actors"));
QHBoxLayout *actorsGBL = new QHBoxLayout;
@@ -89,9 +89,9 @@ void MoviePropertiesDialog::setupDialog(){
mGenreM = new QStandardItemModel;
mGenreV->setModel(mGenreM);
QAction *addGenreA = new QAction(QIcon(":/spreadingpants.png"), tr("Add genre..."), this);
- connect(addGenreA, &QAction::triggered, [=] { addItem(mGenreDlg, mGenreM, QIcon(":/dick_in_cage.png")); });
+ connect(addGenreA, &QAction::triggered, this, [=] { addItem(mGenreDlg, mGenreM, QIcon(":/dick_in_cage.png")); });
QAction *removeGenreA = new QAction(QIcon(":/delete.png"), tr("Remove genre"), this);
- connect(removeGenreA, &QAction::triggered, [=] { removeItem(mGenreV); });
+ connect(removeGenreA, &QAction::triggered, this, [=] { removeItem(mGenreV); });
mGenreV->addActions(QList<QAction*>() << addGenreA << removeGenreA);
QGroupBox *genresGB = new QGroupBox(tr("Genres"));
QHBoxLayout *genresGBL = new QHBoxLayout;
diff --git a/moviewidget.cpp b/moviewidget.cpp
index fe85e37..cb419ba 100644
--- a/moviewidget.cpp
+++ b/moviewidget.cpp
@@ -46,10 +46,10 @@ void MovieWidget::setupWidget(){
transform.rotate(-180);
QIcon buttplugLeft(buttplug.transformed(transform));
QAction *backA = new QAction(buttplugLeft, tr("Prev. archive selection"), this);
- connect(backA, &QAction::triggered, [=] { forwardSelection(-1) ;});
+ connect(backA, &QAction::triggered, this, [=] { forwardSelection(-1) ;});
toolbar->addAction(backA);
QAction *forwardA = new QAction(buttplugRight, tr("Next archive selection"), this);
- connect(forwardA, &QAction::triggered, [=] { forwardSelection(1); });
+ connect(forwardA, &QAction::triggered, this, [=] { forwardSelection(1); });
toolbar->addAction(forwardA);
toolbar->addSeparator();
QAction *deleteA = new QAction(QIcon(":/delete.png"), tr("Delete"), this);
@@ -64,14 +64,14 @@ void MovieWidget::setupWidget(){
QLabel *filterL = new QLabel(tr("Filter"));
mFilterLE = new QLineEdit;
- connect(mFilterLE, &QLineEdit::returnPressed, [=] { mTopProxy->setFilterRegExp(QRegExp(mFilterLE->text())); });
+ connect(mFilterLE, &QLineEdit::returnPressed, this, [=] { mTopProxy->setFilterRegularExpression(mFilterLE->text()); });
QToolBar *filterTB = new QToolBar;
QAction *doFilter = new QAction(Helper::icon(Qt::transparent, qApp->palette().color(QPalette::Text), QChar(0x2245), true, false), tr("Filter"), this);
- connect(doFilter, &QAction::triggered, [=] { mTopProxy->setFilterRegExp(QRegExp(mFilterLE->text())); });
+ connect(doFilter, &QAction::triggered, this, [=] { mTopProxy->setFilterRegularExpression(mFilterLE->text()); });
QAction *clearFilter = new QAction(Helper::icon(Qt::transparent, qApp->palette().color(QPalette::Text), QChar(0x2694), true, false), tr("Clear"), this);
- connect(clearFilter, &QAction::triggered, [=] {
+ connect(clearFilter, &QAction::triggered, this, [=] {
mFilterLE->clear();
- mTopProxy->setFilterRegExp(QString());
+ mTopProxy->setFilterRegularExpression(QString());
});
filterTB->addAction(doFilter);
filterTB->addAction(clearFilter);
@@ -80,7 +80,7 @@ void MovieWidget::setupWidget(){
mSelectionCB = new QComboBox;
QStringList selections = QStringList() << tr("Actors") << tr("Genres") << tr("Series");
mSelectionCB->addItems(selections);
- connect(mSelectionCB, &QComboBox::currentTextChanged, [=] { selectBy(mSelectionCB->currentText()); });
+ connect(mSelectionCB, &QComboBox::currentTextChanged, this, [=] { selectBy(mSelectionCB->currentText()); });
QHBoxLayout *topWL = new QHBoxLayout;
topWL->addWidget(filterL);
@@ -123,11 +123,11 @@ void MovieWidget::setupWidget(){
QAction *editFileA = new QAction(QIcon(":/huge_bra_light.png"), tr("Edit file..."), this);
connect(editFileA, &QAction::triggered, this, &MovieWidget::editFile);
QAction *filenameToClipA = new QAction(tr("Filename to clip"), this);
- connect(filenameToClipA, &QAction::triggered, [=] { copyToClipboard(FilenameRole); });
+ connect(filenameToClipA, &QAction::triggered, this, [=] { copyToClipboard(FilenameRole); });
QAction *fullpathToClipA = new QAction(tr("Full path to clip"), this);
- connect(fullpathToClipA, &QAction::triggered, [=] { copyToClipboard(FullPathRole); });
+ connect(fullpathToClipA, &QAction::triggered, this, [=] { copyToClipboard(FullPathRole); });
QAction *md5ToClipA = new QAction(tr("MD5 to clip"), this);
- connect(md5ToClipA, &QAction::triggered, [=] { copyToClipboard(MD5SumRole); });
+ connect(md5ToClipA, &QAction::triggered, this, [=] { copyToClipboard(MD5SumRole); });
mBottomView->addActions(QList<QAction*>() << playSelectedA << Helper::createSeparator(this) << editFileA << Helper::createSeparator(this) << filenameToClipA << fullpathToClipA << md5ToClipA);
@@ -155,7 +155,7 @@ void MovieWidget::readSettings(){
QString filter = s.value("mw/filter").toString();
mFilterLE->setText(filter);
if(!filter.isEmpty()){
- mTopProxy->setFilterRegExp(QRegExp(mFilterLE->text()));
+ mTopProxy->setFilterRegularExpression(mFilterLE->text());
}
}
@@ -192,7 +192,7 @@ void MovieWidget::deleteSeries(){
deleteId.prepare("DELETE FROM seriesparts WHERE iseriesparts_id = :id");
deleteId.bindValue(":id", partId);
if(deleteId.exec()){
- for(QString f : fullPaths){
+ for(const auto &f : fullPaths){
if(!QFile::remove(f)){
db.rollback();
return;
diff --git a/newmoviewizard.cpp b/newmoviewizard.cpp
index c4370f6..d05645f 100644
--- a/newmoviewizard.cpp
+++ b/newmoviewizard.cpp
@@ -156,7 +156,7 @@ void NewMovieWizard::accept(){
}else{
QPixmap pix(fullPath);
- picSize = QString("%1x%2").arg(QString::number(pix.width())).arg(QString::number(pix.height()));
+ picSize = QString("%1x%2").arg(QString::number(pix.width()), QString::number(pix.height()));
}
insertFilesQ.bindValue(":ipid", seriesPartId);
insertFilesQ.bindValue(":tfn", fi.fileName());
diff --git a/newpicsdialog.cpp b/newpicsdialog.cpp
index dd59f8e..baaed8f 100644
--- a/newpicsdialog.cpp
+++ b/newpicsdialog.cpp
@@ -33,7 +33,6 @@
NewPicsDialog::NewPicsDialog(QWidget *parent, Qt::WindowFlags f) : QDialog(parent, f), mFilesCtr(0) {
qRegisterMetaType<MappingData>("MappingData");
- qRegisterMetaTypeStreamOperators<MappingData>("MappingData");
setupDlg();
}
@@ -107,7 +106,7 @@ void NewPicsDialog::addFiles(const QStringList &files){
return;
}
mFilesV->setSortingEnabled(false);
- for(QString f : files){
+ for(const auto &f : files){
mFilesModel->addFile(f);
}
mFilesV->setSortingEnabled(true);
@@ -127,7 +126,7 @@ void NewPicsDialog::setFile(const QString &file){
void NewPicsDialog::setDir(const QString &dir){
mFiles.clear();
QDir d(dir);
- for(QFileInfo fi : d.entryInfoList(QDir::Files, QDir::Name)){
+ for(const auto &fi : d.entryInfoList(QDir::Files, QDir::Name)){
mFiles << fi.absoluteFilePath();
}
mFilesCtr = 0;
@@ -167,7 +166,7 @@ void NewPicsDialog::removeFiles(){
for(QModelIndex i : real){
perm << i;
}
- for(QPersistentModelIndex pi : perm){
+ for(const auto &pi : perm){
mFilesModel->removeRows(pi.row(), 1, pi.parent());
}
}
@@ -196,7 +195,7 @@ void NewPicsDialog::archive(){
progress.setMinimumWidth(400);
progress.show();
int pgctr = 0;
- for(FileData d : files){
+ for(const auto &d : files){
++pgctr;
progress.setValue(pgctr);
qApp->processEvents();
@@ -212,7 +211,7 @@ void NewPicsDialog::archive(){
addFileQ.bindValue(":format", d.mimeType);
addFileQ.bindValue(":picsize", d.picSize);
if(addFileQ.exec()){
- for(QVariant mpid : mappingParentsIds){
+ for(const auto &mpid : mappingParentsIds){
addMappingQ.bindValue(":mapid", mpid);
addMappingQ.bindValue(":md5", d.md5sum);
addMappingQ.exec();
@@ -313,7 +312,7 @@ bool NewPicFilesModel::setData(const QModelIndex &index, const QVariant &value,
void NewPicFilesModel::setFiles(const QStringList &paths) {
SmTreeItem *rootItem = new SmTreeItem(NumFields);
- for(QString file : paths){
+ for(const auto &file : paths){
QFileInfo fi(file);
QList<QVariant> fileData;
if(!fi.exists()){
diff --git a/picfilesmodel.cpp b/picfilesmodel.cpp
index 313c5a5..36d37c5 100644
--- a/picfilesmodel.cpp
+++ b/picfilesmodel.cpp
@@ -29,7 +29,7 @@ PicFilesModel::PicFilesModel(const QStringList &headers, QObject *parent) : SmTr
void PicFilesModel::setMapping(int pMapId){
QList<QVariant> ids = mMappingTreeModel->childList(pMapId, MappingTreeModel::MappingId);
mMappingIds.clear();
- for(QVariant i : ids){
+ for(const auto &i : ids){
mMappingIds << i.toInt();
}
}
@@ -89,7 +89,7 @@ QList<QVariant> PicFilesModel::dataList(const QModelIndex &idx){
}
QList<MappingData> mapData = mappingDataFromFile(idx.data(PicFilesModel::IdRole).toInt());
QList<QStringList> mappings;
- for(MappingData d : mapData){
+ for(const auto &d : mapData){
mappings << d.path;
}
@@ -145,7 +145,7 @@ bool PicFilesModel::changeMappings(const QList<int> &fileIds, const QList<QVaria
if(!deleteMappingsQ.exec()){
goto error;
}
- for(QVariant pid : parentIds){
+ for(const auto &pid : parentIds){
addMappingsQ.bindValue(":pid", fid);
addMappingsQ.bindValue(":id", pid);
if(!addMappingsQ.exec()){
@@ -329,7 +329,7 @@ void PicFilesModel::selectFromRecent(int days){
void PicFilesModel::selectFromSelection(QList<QVariant> ids){
mAllPics.clear();
QStringList idQS;
- for(QVariant i : ids){
+ for(const auto &i: ids){
idQS << QString::number(i.toInt());
}
QString inPart = idQS.join(',');
diff --git a/pictureswidget.cpp b/pictureswidget.cpp
index 10ae6b0..7abae64 100644
--- a/pictureswidget.cpp
+++ b/pictureswidget.cpp
@@ -16,6 +16,7 @@
#include <QHeaderView>
#include <QToolBar>
#include <QApplication>
+#include <QActionGroup>
#include "pictureswidget.h"
#include "picturelistview.h"
@@ -51,7 +52,7 @@ PicturesWidget::PicturesWidget(QWidget *parent) : QWidget(parent), mWindowTitleB
void PicturesWidget::setupWidget(){
QToolBar *toolBar = new QToolBar;
QAction *showInPicViewerA = new QAction(QIcon(":/snapshot.png"), tr("Show"), this);
- connect(showInPicViewerA, &QAction::triggered, [=] {
+ connect(showInPicViewerA, &QAction::triggered, this, [=] {
QModelIndexList r = mPictureListView->selectionModel()->selectedRows();
if(!r.isEmpty()){
showInPicViewer(r.first());
@@ -99,7 +100,7 @@ void PicturesWidget::setupWidget(){
if(!mPictureListView->header()->isSectionHidden(hData.value(h))){
a->setChecked(true);
}
- connect(a, &QAction::triggered, [=] { mPictureListView->toggleHeader(a); });
+ connect(a, &QAction::triggered, this, [=] { mPictureListView->toggleHeader(a); });
}
QIcon headerIcon = Helper::icon(Qt::transparent, qApp->palette().color(QPalette::Text), 'H', true, false);
QAction *headerA = new QAction(headerIcon, tr("Show headers"), this);
@@ -190,7 +191,7 @@ void PicturesWidget::constructWindowTitle(){
QString windowTitle = mWindowTitleBase;
MappingData selected = mMappingTree->selectedItem();
if(!selected.path.isEmpty()){
- windowTitle = QString("%1 - [%2]").arg(mWindowTitleBase).arg(selected.path.join("/"));
+ windowTitle = QString("%1 - [%2]").arg(mWindowTitleBase, selected.path.join("/"));
}
emit needWindowTitleChange(windowTitle);
}
diff --git a/pictureviewer2.cpp b/pictureviewer2.cpp
index c3cf59e..54ad9e8 100644
--- a/pictureviewer2.cpp
+++ b/pictureviewer2.cpp
@@ -5,7 +5,6 @@
2 of the License, or (at your option) any later version.
*/
-#include <QDesktopWidget>
#include <QApplication>
#include <QGraphicsScene>
#include <QGraphicsPixmapItem>
@@ -126,7 +125,7 @@ void PictureViewer2::addFiles(const QStringList &files, bool clear){
return;
}
PicDataList pd;
- for(QString f : files){
+ for(const auto &f : files){
pd << picData(f);
}
addFiles(pd, clear);
@@ -140,7 +139,7 @@ void PictureViewer2::addFiles(const QString &dir, bool clear){
PicDataList pd;
QDir directory = QDir(dir);
QFileInfoList files = directory.entryInfoList(QDir::Files, QDir::Name);
- for(QFileInfo fi : files){
+ for(const auto &fi : files){
pd << picData(fi.absoluteFilePath());
}
addFiles(pd, clear);
@@ -288,7 +287,7 @@ void PictureViewer2::deleteCurrent(){
void PictureViewer2::showNewPicsDialog(){
mNewPicsDlg->clearFiles();
QStringList fileList;
- for(QVariantList v : mMarkedFiles){
+ for(const auto &v : mMarkedFiles){
fileList << v.at(PicFilesModel::FullPath).toString();
}
mNewPicsDlg->addFiles(fileList);
@@ -335,7 +334,7 @@ void PictureViewer2::doSlide(){
}
auto picDataOld = mPicData;
mPicData.clear();
- for(auto pd : picDataOld){
+ for(const auto &pd : picDataOld){
QList<QVariant> tmp;
tmp << Helper::createArchivePath(pd.value(0).toString(), pd.value(1).toString()) << pd.value(2);
mPicData << tmp;
@@ -533,6 +532,7 @@ void PictureViewer2::constructMappingItem(const PicData &file){
doc->setDocumentMargin(8);
QTextCursor *cur = new QTextCursor(doc);
docFromTree(mapData, cur, 0);
+ delete cur;
if(mMappingItem){
mMappingPos = mMappingItem->scenePos();
mScene->removeItem(mMappingItem);
@@ -580,20 +580,6 @@ void PictureViewer2::setGradient(const QPixmap &pic){
setBackgroundBrush(QBrush(g));
}
-QTextDocument *PictureViewer2::treeToString(const SmTreeItem *root) const{
- QTextDocument *retval = new QTextDocument;
- retval->setIndentWidth(2);
- retval->setDocumentMargin(8);
- QTextCursor *cursor = new QTextCursor(retval);
- for(int i = 0; i < root->childCount(); ++i){
- treeToStringRecursive(root->child(i), cursor, 0);
- QTextBlockFormat fmt;
- fmt.setIndent(0);
- cursor->insertBlock(fmt);
- }
- return retval;
-}
-
void PictureViewer2::treeToStringRecursive(const SmTreeItem *parent, QTextCursor *cursor, int indent) const{
QChar bullet(0x2640);
if(indent % 2){
@@ -750,12 +736,12 @@ PictureViewer2Item::PictureViewer2Item(const PicData &data, const int numSelecte
//prevent QStaticText from wrapping filesnames with spaces
//we shouldn't allow this in the first place
mTextList << data.at(PicFilesModel::FileName).toString().replace(' ', '_');
- mTextList << QString("%1x%2").arg(QString::number(picSize.width())).arg(QString::number(picSize.height()));
+ mTextList << QString("%1x%2").arg(QString::number(picSize.width()), QString::number(picSize.height()));
QLocale l;
mTextList << QString(QObject::tr("%1 bytes")).arg(l.toString(data.at(PicFilesModel::Size).toInt()));
mTextList << l.toString(data.at(PicFilesModel::Added).toDate());
mTextList << data.at(PicFilesModel::MimeType).toString();
- mTextList << QString(QObject::tr("%1/%2 files")).arg(QString::number(cur + 1)).arg(QString::number(numSelected));
+ mTextList << QString(QObject::tr("%1/%2 files")).arg(QString::number(cur + 1), QString::number(numSelected));
setZValue(1);
}
diff --git a/pictureviewer2.h b/pictureviewer2.h
index 2525133..341b3de 100644
--- a/pictureviewer2.h
+++ b/pictureviewer2.h
@@ -93,7 +93,6 @@ class PictureViewer2 : public QGraphicsView {
private:
void setGradient(const QPixmap &pic);
void showNext();
- QTextDocument *treeToString(const SmTreeItem *root) const;
void treeToStringRecursive(const SmTreeItem *parent, QTextCursor *cursor, int indent) const;
QPointF getPos(QGraphicsItem *item, int pos, const QPointF &movPos);
QString constructWindowTitle() const;
diff --git a/programconfigurator.cpp b/programconfigurator.cpp
index 691c4aa..2edc884 100644
--- a/programconfigurator.cpp
+++ b/programconfigurator.cpp
@@ -16,7 +16,7 @@
#include <QSettings>
#include <QFileSystemModel>
#include <QMessageBox>
-#include <QRegExp>
+#include <QRegularExpression>
#include <QFileInfo>
#include "programconfigurator.h"
@@ -59,12 +59,6 @@ ProgramConfigurator::ProgramConfigurator(const QString &prefix, const QString &d
buttonLayout->addWidget(mDefault);
buttonLayout->addStretch();
mainLayout->addLayout(buttonLayout, 5, 0, 1, 2, Qt::AlignCenter);
- mInternalViewer = new QCheckBox(tr("Use internal Viewer"));
- QHBoxLayout *intViewerL = new QHBoxLayout;
- intViewerL->addStretch();
- intViewerL->addWidget(mInternalViewer);
- intViewerL->addStretch();
- mainLayout->addLayout(intViewerL, 6, 0, 1, 2, Qt::AlignCenter);
QVBoxLayout *stretchLayout = new QVBoxLayout;
stretchLayout->addStretch();
mainLayout->addLayout(stretchLayout, 6, 0, 1, 2);
@@ -84,7 +78,6 @@ void ProgramConfigurator::writeSettings(){
QSettings s;
s.setValue(defaultString, mDefautProg);
s.setValue(dataString, mData);
- s.setValue("vw/internal", mInternalViewer->isChecked());
}
void ProgramConfigurator::programChanged(const QString &program){
@@ -100,7 +93,7 @@ void ProgramConfigurator::programChanged(const QString &program){
void ProgramConfigurator::addProgram(){
QString name = mNameEdit->text();
- if(mData.keys().contains(name)){
+ if(mData.contains(name)){
QString message = QString(tr("Already have a program with name %1.")).arg(name);
QMessageBox::critical(this, tr("Error"), message);
return;
@@ -122,7 +115,7 @@ void ProgramConfigurator::addProgram(){
void ProgramConfigurator::removeProgram(){
QString name = mProgramSelector->currentText();
- if(mData.keys().contains(name)){
+ if(mData.find(name) != mData.end()){
QString message = QString(tr("Really remove %1 from program list?")).arg(name);
int retval = QMessageBox::question(this, tr("Question"), message, QMessageBox::Yes | QMessageBox::No);
if(retval == QMessageBox::Yes){
@@ -171,16 +164,17 @@ void ProgramConfigurator::readSettings(){
QSettings s;
mData = s.value(dataString).toHash();
QStringList progs;
- for(QString p : mData.keys()){
- progs << p;
- }
- mProgramSelector->addItems(progs);
+ auto it = mData.constBegin();
+ while(it != mData.constEnd()) {
+ progs << it.key();
+ ++it;
+ }
+ mProgramSelector->addItems(progs);
mDefautProg = s.value(defaultString, tr("[None]")).toString();
int idx = mProgramSelector->findText(mDefautProg);
if(idx != -1){
mProgramSelector->setCurrentIndex(idx);
}
- mInternalViewer->setChecked(s.value("vw/internal").toBool());
setDefault();
}
@@ -203,6 +197,6 @@ QStringList ProgramConfigurator::args(const QString &argString){
if(argString.isEmpty()){
return QStringList();
}
- QRegExp splitter("\\s+");
+ QRegularExpression splitter("\\s+");
return argString.split(splitter, Qt::SkipEmptyParts);
}
diff --git a/programconfigurator.h b/programconfigurator.h
index 3df66a5..543619c 100644
--- a/programconfigurator.h
+++ b/programconfigurator.h
@@ -16,9 +16,7 @@
class QLineEdit;
class QPushButton;
class QComboBox;
-class QStringList;
class QLabel;
-class QStringList;
class QCheckBox;
class ProgramConfigurator : public QWidget {
@@ -51,7 +49,6 @@ class ProgramConfigurator : public QWidget {
QPushButton *mRemove;
QPushButton *mUpdate;
QPushButton *mDefault;
- QCheckBox *mInternalViewer;
QLabel *mDefaultLabel;
QHash<QString, QVariant> mData;
QString mDefautProg;
diff --git a/randomtab.cpp b/randomtab.cpp
index 292ae98..b80fd9b 100644
--- a/randomtab.cpp
+++ b/randomtab.cpp
@@ -222,7 +222,7 @@ QStringList RandomTab::validDvdNos(){
retval << no;
}
}
- logMessage(QString(tr("Found %1 valid Dirs: (%2)")).arg(QString::number(retval.count())).arg(retval.join(',')));
+ logMessage(QString(tr("Found %1 valid Dirs: (%2)")).arg(QString::number(retval.count()), retval.join(',')));
return retval;
}
@@ -297,7 +297,7 @@ void RandomTab::select(){
QVector<int> gIds;
QString gids = genreIds.join(',');
logMessage(QString(tr("Genres: (%1)")).arg(gids));
- QString genreQString = QString("SELECT ifiles_id FROM files WHERE iseriespart_id IN (SELECT distinct(iseriesparts_id) FROM seriesparts_genremap WHERE igenres_id IN (%1)) AND sifiletype = 1 AND (idvd = -1 OR idvd IN (%2))").arg(gids).arg(mValidDvds.join(','));
+ QString genreQString = QString("SELECT ifiles_id FROM files WHERE iseriespart_id IN (SELECT distinct(iseriesparts_id) FROM seriesparts_genremap WHERE igenres_id IN (%1)) AND sifiletype = 1 AND (idvd = -1 OR idvd IN (%2))").arg(gids, mValidDvds.join(','));
logMessage(genreQString);
QSqlQuery gQ(genreQString, mDb);
while(gQ.next()){
@@ -316,7 +316,7 @@ void RandomTab::select(){
QVector<int> aIds;
QString aids = actorIds.join(',');
logMessage(QString(tr("Actors: (%1)")).arg(aids));
- QString actorQString = QString("SELECT ifiles_id FROM files WHERE iseriespart_id IN (SELECT distinct(iseriesparts_id) FROM seriesparts_actormap WHERE iactors_id IN (%1)) AND sifiletype = 1 AND (idvd = -1 OR idvd IN (%2))").arg(aids).arg(mValidDvds.join(','));
+ QString actorQString = QString("SELECT ifiles_id FROM files WHERE iseriespart_id IN (SELECT distinct(iseriesparts_id) FROM seriesparts_actormap WHERE iactors_id IN (%1)) AND sifiletype = 1 AND (idvd = -1 OR idvd IN (%2))").arg(aids, mValidDvds.join(','));
logMessage(actorQString);
QSqlQuery aQ(actorQString, mDb);
while(aQ.next()){
@@ -356,7 +356,7 @@ void RandomTab::select(){
if(finalIds.count() < selCount){
count = finalIds.count();;
}
- logMessage(QString(tr("Count is %1 out of %2")).arg(QString::number(count)).arg(QString::number(finalIds.count())));
+ logMessage(QString(tr("Count is %1 out of %2")).arg(QString::number(count), QString::number(finalIds.count())));
mFileModel->clear();
mFileModel->setHorizontalHeaderLabels(QStringList() << tr("Filename") << tr("Size (MB)") << tr("Dur.") << tr("MD5") << tr("LOC") << tr("Full Path"));
@@ -460,13 +460,13 @@ void RandomTab::play(const QStringList &files){
QString program = pgdata.first;
QStringList args = pgdata.second;
args.append(files);
- logMessage(QString(tr("Cmd: %1 %2")).arg(program).arg(args.join(" ")));
+ logMessage(QString(tr("Cmd: %1 %2")).arg(program, args.join(" ")));
QProcess::startDetached(program, args);
}
void RandomTab::logMessage(const QString &msg){
QDateTime now = QDateTime::currentDateTime();
- QString msg1 = QString("[%1] %2").arg(now.toString()).arg(msg);
+ QString msg1 = QString("[%1] %2").arg(now.toString(), msg);
mLog->append(msg1);
}
diff --git a/searchdialog.cpp b/searchdialog.cpp
index 788c468..87a279e 100644
--- a/searchdialog.cpp
+++ b/searchdialog.cpp
@@ -44,7 +44,7 @@ FilenamesAndMetadata::FilenamesAndMetadata(QWidget *parent, Qt::WindowFlags flag
connect(doSearchA, &QAction::triggered, this, &FilenamesAndMetadata::search);
searchTB->addAction(doSearchA);
QAction *clearSearchA= new QAction(Helper::icon(Qt::transparent, qApp->palette().color(QPalette::Text), QChar(0x2694), true, false), tr("Clear"), this);
- connect(clearSearchA, &QAction::triggered, [=] { mSearch->clear(); });
+ connect(clearSearchA, &QAction::triggered, this, [=] { mSearch->clear(); });
searchTB->addAction(clearSearchA);
QHBoxLayout *topLayout = new QHBoxLayout;
topLayout->addWidget(l1);
@@ -146,7 +146,7 @@ void FilenamesAndMetadata::search(){
void FilenamesAndMetadata::appendChild(QVariant id, QVariant subject, QVariant name, QVariant sub, SmTreeItem *parent){
QString match;
if(!sub.toString().isEmpty()){
- match = QString("%1 - %2").arg(name.toString()).arg(sub.toString());
+ match = QString("%1 - %2").arg(name.toString(), sub.toString());
}else{
match = name.toString();
}
@@ -173,7 +173,7 @@ ActorsAndMore::ActorsAndMore(QWidget *parent, Qt::WindowFlags flags) : QWidget(p
connect(doSearchA, &QAction::triggered, this, &ActorsAndMore::doSearch);
searchTB->addAction(doSearchA);
QAction *clearSearchA= new QAction(Helper::icon(Qt::transparent, qApp->palette().color(QPalette::Text), QChar(0x2694), true, false), tr("Clear"), this);
- connect(clearSearchA, &QAction::triggered, [=] { mSearch->clear(); });
+ connect(clearSearchA, &QAction::triggered, this, [=] { mSearch->clear(); });
searchTB->addAction(clearSearchA);
QHBoxLayout *topHBL = new QHBoxLayout;
topHBL->addWidget(typeL);
@@ -327,7 +327,7 @@ void ActorsAndMore::getGenresForActor(QStandardItem *actorItem){
res << genreQ.value(0).toString();
}
if(!res.isEmpty()){
- for(QString g : res){
+ for(const auto &g : res){
QStandardItem *cur = new QStandardItem(g);
cur->setIcon(icon);
cur->setEditable(false);
@@ -477,7 +477,7 @@ void ActorsAndMore::getDataForActor(QModelIndex cur){
if(sub.isEmpty()){
curDisp = QString("%1 - <no sub/part>").arg(displayQ.value(0).toString());
}else{
- curDisp = QString("%1 - %2").arg(displayQ.value(0).toString()).arg(sub);
+ curDisp = QString("%1 - %2").arg(displayQ.value(0).toString(), sub);
}
}
QStandardItem *cur = new QStandardItem(curDisp);
diff --git a/shemov.cpp b/shemov.cpp
index 119a6aa..cf20386 100644
--- a/shemov.cpp
+++ b/shemov.cpp
@@ -111,7 +111,7 @@ SheMov::SheMov(QWidget *parent, Qt::WindowFlags flags) : QMainWindow(parent, fla
mFileWidget = new FSWidget;
mTab->addTab(mFileWidget, tr("FS"));
connect(mFileWidget, &FSWidget::message, this, &SheMov::statusbarMessage);
- connect(mFileWidget, &FSWidget::selectionChanged, [=](int count, qint64 size, qint64 duration) {
+ connect(mFileWidget, &FSWidget::selectionChanged, this, [=](int count, qint64 size, qint64 duration) {
updateSelectedCount(count);
setSize(size);
setDuration(duration, false);
@@ -293,9 +293,9 @@ void SheMov::setSize(qint64 size){
QString selectedSize = l.toString(size);
QString freeSize = l.toString(free);
if(size < DVDSIZE){
- val = QString("<span style=\"color:%1\">%2 (%3)</span>").arg(QColor(Qt::green).name()).arg(selectedSize).arg(freeSize);
+ val = QString("<span style=\"color:%1\">%2 (%3)</span>").arg(QColor(Qt::green).name(), selectedSize, freeSize);
}else{
- val = QString("<span style=\"color:%1\">%2 (%3)</span>").arg(QColor(Qt::red).name()).arg(selectedSize).arg(freeSize);
+ val = QString("<span style=\"color:%1\">%2 (%3)</span>").arg(QColor(Qt::red).name(), selectedSize, freeSize);
}
mSelectedSize->setText(val);
}
diff --git a/shemov.pro b/shemov.pro
index a5d25fd..af4ca38 100644
--- a/shemov.pro
+++ b/shemov.pro
@@ -57,7 +57,6 @@ SOURCES = main.cpp \
mappingtreeproxy.cpp \
mappingtreeresultmodel.cpp \
mappingdata.cpp \
- videoviewer.cpp \
wizardtreemodel.cpp \
moviemetadatapage.cpp \
moviemappingpage.cpp \
@@ -113,7 +112,6 @@ HEADERS = \
mappingtreeproxy.h \
mappingtreeresultmodel.h \
mappingdata.h \
- videoviewer.h \
wizardtreemodel.h \
moviemetadatapage.h \
moviemappingpage.h \
diff --git a/smglobals.cpp b/smglobals.cpp
index 9577ebf..d0165a9 100644
--- a/smglobals.cpp
+++ b/smglobals.cpp
@@ -13,7 +13,6 @@
#include "mappingtablemodel.h"
#include "mappingtreemodel.h"
#include "pictureviewer2.h"
-#include "videoviewer.h"
#include "picfilesmodel.h"
#include "configurationdialog.h"
#include "archivebrowsermodel.h"
@@ -21,7 +20,7 @@
SmGlobals *SmGlobals::mInstance = nullptr;
SmGlobals::~SmGlobals(){
- for(QAbstractItemModel *model : mModels.values()){
+ for(const auto &model : qAsConst(mModels)){
model->deleteLater();
}
for(QWidget *w : mWidgets){
@@ -99,14 +98,6 @@ PictureViewer2 *SmGlobals::pictureViewer() {
return mPictureViewer;
}
-VideoViewer *SmGlobals::videoViewer() {
- if(!mVideoViewer){
- mVideoViewer = new VideoViewer;
- mVideoViewer->setHidden(true);
- }
- return mVideoViewer;
-}
-
QIcon SmGlobals::iconFor(const QString &type){
QString settingsS = QString("ui/%1icon").arg(type);
QSettings s;
diff --git a/smtreemodel.cpp b/smtreemodel.cpp
index 98490fc..f314222 100644
--- a/smtreemodel.cpp
+++ b/smtreemodel.cpp
@@ -166,7 +166,7 @@ QModelIndex SmTreeModel::findRecursive(const QVariant &value, int column, const
return QModelIndex();
}
-bool SmTreeModel::matchRecursive(const QModelIndex &pIdx, const QRegExp &regex, int column) const {
+bool SmTreeModel::matchRecursive(const QModelIndex &pIdx, const QRegularExpression &regex, int column) const {
if(!pIdx.isValid()){
return false;
}
@@ -198,7 +198,7 @@ bool SmTreeModel::matchRecursive(const QModelIndex &pIdx, const QRegExp &regex,
return retval;
}
-bool SmTreeModel::checkParents(const SmTreeItem *item, const QRegExp &regex, int column) const {
+bool SmTreeModel::checkParents(const SmTreeItem *item, const QRegularExpression &regex, int column) const {
while(item != root()){
QString value = item->data(column).toString();
if(value.contains(regex)){
diff --git a/smtreemodel.h b/smtreemodel.h
index cb55186..341eecc 100644
--- a/smtreemodel.h
+++ b/smtreemodel.h
@@ -38,8 +38,8 @@ class SmTreeModel : public QAbstractItemModel {
virtual bool setData(const QModelIndex &index, const QVariant &value, int role);
virtual QModelIndex find(const QVariant &value, int column = 0, const QModelIndex &pIdx = QModelIndex()) const;
virtual QModelIndex findRecursive(const QVariant &value, int column, const QModelIndex &start) const;
- virtual bool matchRecursive(const QModelIndex &pIdx, const QRegExp &regex, int column = 0) const;
- virtual bool checkParents(const SmTreeItem *item, const QRegExp &regex, int column) const;
+ virtual bool matchRecursive(const QModelIndex &pIdx, const QRegularExpression &regex, int column = 0) const;
+ virtual bool checkParents(const SmTreeItem *item, const QRegularExpression &regex, int column) const;
// root + parent item
bool setRoot(SmTreeItem *rootItem);
diff --git a/statisticsdialog.cpp b/statisticsdialog.cpp
index d533414..ccb513d 100644
--- a/statisticsdialog.cpp
+++ b/statisticsdialog.cpp
@@ -165,7 +165,7 @@ GraphWidget::GraphWidget(const QList<QList<QVariant> > data, const QString heade
//calc max width of data, maxData and total
QFontMetrics fmd = QFontMetrics(mDataFont);
- for(QList<QVariant> d : mData){
+ for(const auto &d : mData){
int width = fmd.size(Qt::TextSingleLine, d.at(0).toString()).width();
if(width > mDescWidth){
mDescWidth = width;
@@ -178,9 +178,9 @@ GraphWidget::GraphWidget(const QList<QList<QVariant> > data, const QString heade
}
//set percentage width
- for(QList<QVariant> d : mData){
+ for(const auto &d : mData){
auto percentage = d.at(1).toDouble() * 100.0 / static_cast<double>(mTotal);
- QString pString = QString("%1 (%2%)").arg(QString::number(d.at(1).toInt())).arg(QString::number(percentage, 'f', 2));
+ QString pString = QString("%1 (%2%)").arg(QString::number(d.at(1).toInt()), QString::number(percentage, 'f', 2));
int width = fmd.size(Qt::TextSingleLine, pString).width();
if(width > mPercentageWidth){
mPercentageWidth = width;
@@ -278,7 +278,7 @@ void GraphWidget::paintEvent(QPaintEvent *event){
opt.setAlignment(Qt::AlignRight | Qt::AlignVCenter);
QTextOption optLeft;
opt.setAlignment(Qt::AlignLeft | Qt::AlignVCenter);
- for(QList<QVariant> l : mData){
+ for(const auto &l : mData){
//draw lead
QRect textRect(0, 0, mDescWidth, mBarHeight);
p.drawText(textRect, l.at(0).toString(), opt);
@@ -297,7 +297,7 @@ void GraphWidget::paintEvent(QPaintEvent *event){
auto pstartx = dataRect.width() + 2 * mMargin + mDescWidth;
QRectF percentageRect(pstartx, 0, mPercentageWidth, 20);
qreal percent = l.at(1).toInt() * 100.0 / static_cast<double>(mTotal);
- QString pString = QString("%1 (%2%)").arg(QString::number(l.at(1).toInt())).arg(QString::number(percent, 'f', 2));
+ QString pString = QString("%1 (%2%)").arg(QString::number(l.at(1).toInt()), QString::number(percent, 'f', 2));
p.drawText(percentageRect, pString, optLeft);
//translate
p.translate(0, mMargin + mBarHeight);
diff --git a/videoviewer.cpp b/videoviewer.cpp
index 8c7c233..47646c0 100644
--- a/videoviewer.cpp
+++ b/videoviewer.cpp
@@ -6,23 +6,22 @@
*/
#include <QMediaPlayer>
-#include <QMediaPlaylist>
+//#include <QMediaPlaylist>
#include <QKeyEvent>
#include <QCloseEvent>
#include <QSettings>
#include <QApplication>
-#include <QDesktopWidget>
+//#include <QDesktopWidget>
#include "videoviewer.h"
#include "smglobals.h"
VideoViewer::VideoViewer(QWidget *parent) : QVideoWidget(parent) {
resize(1280,1024);
- move(qApp->desktop()->availableGeometry(this).center() - rect().center());
mPlayer = new QMediaPlayer(this);
mPlayer->setVideoOutput(this);
- QMediaPlaylist *playList = new QMediaPlaylist;
- mPlayer->setPlaylist(playList);
+ //QMediaPlaylist *playList = new QMediaPlaylist;
+ //mPlayer->setPlaylist(playList);
readSettings();
}
@@ -41,7 +40,7 @@ void VideoViewer::writeSettings(){
}
void VideoViewer::keyPressEvent(QKeyEvent *e){
- int keyNum = e->key();
+ /*int keyNum = e->key();
if(keyNum == Qt::Key_Q){
player()->stop();
setHidden(true);
@@ -94,7 +93,7 @@ void VideoViewer::keyPressEvent(QKeyEvent *e){
curVol = 100;
}
mPlayer->setVolume(curVol);
- }
+ }*/
}
void VideoViewer::closeEvent(QCloseEvent *e){
diff --git a/viewer.cpp b/viewer.cpp
index 6a4f634..cba6314 100644
--- a/viewer.cpp
+++ b/viewer.cpp
@@ -56,7 +56,7 @@ void Viewer::preview(const QString &file){
mCurIndex = -1;
QPixmap pm = Helper::preview(file);
mLabel->setPixmap(pm);
- QString winTitle = QString(tr("%1 Viewer: [Preview %2]")).arg(qApp->applicationName()).arg(file);
+ QString winTitle = QString(tr("%1 Viewer: [Preview %2]")).arg(qApp->applicationName(), file);
setWindowTitle(winTitle);
}
@@ -96,6 +96,6 @@ void Viewer::displayFile(int index){
pm = pm.scaled(QSize(width() - 20, height() - 20), Qt::KeepAspectRatio, Qt::SmoothTransformation);
}
mLabel->setPixmap(pm);
- QString winTitle = QString(tr("%1 Viewer [%2]")).arg(qApp->applicationName()).arg(mFiles.at(mCurIndex));
+ QString winTitle = QString(tr("%1 Viewer [%2]")).arg(qApp->applicationName(), mFiles.at(mCurIndex));
setWindowTitle(winTitle);
}