diff --git a/YACReader/bookmarks_dialog.cpp b/YACReader/bookmarks_dialog.cpp index 1d315394..6348d701 100644 --- a/YACReader/bookmarks_dialog.cpp +++ b/YACReader/bookmarks_dialog.cpp @@ -9,6 +9,8 @@ #include #include +#include + BookmarksDialog::BookmarksDialog(QWidget *parent) : QDialog(parent) { @@ -28,7 +30,7 @@ BookmarksDialog::BookmarksDialog(QWidget *parent) QString labelsStyle = "QLabel {color:white;}"; - foreach (QLabel *label, pages) { + for (QLabel *const label : std::as_const(pages)) { label->setStyleSheet(labelsStyle); } diff --git a/YACReader/main.cpp b/YACReader/main.cpp index c4485b6c..85437d98 100644 --- a/YACReader/main.cpp +++ b/YACReader/main.cpp @@ -92,12 +92,6 @@ int main(int argc, char *argv[]) { qInstallMessageHandler(messageHandler); - static const char ENV_VAR_QT_DEVICE_PIXEL_RATIO[] = "QT_DEVICE_PIXEL_RATIO"; - if (!qEnvironmentVariableIsSet(ENV_VAR_QT_DEVICE_PIXEL_RATIO) && !qEnvironmentVariableIsSet("QT_AUTO_SCREEN_SCALE_FACTOR") && !qEnvironmentVariableIsSet("QT_SCALE_FACTOR") && !qEnvironmentVariableIsSet("QT_SCREEN_SCALE_FACTORS")) { - QApplication::setAttribute(Qt::AA_EnableHighDpiScaling); - } - - QApplication::setAttribute(Qt::AA_UseHighDpiPixmaps); QApplication::setHighDpiScaleFactorRoundingPolicy(Qt::HighDpiScaleFactorRoundingPolicy::PassThrough); QImageReader::setAllocationLimit(0); diff --git a/YACReader/main_window_viewer.cpp b/YACReader/main_window_viewer.cpp index 80a513c5..6070cd3c 100644 --- a/YACReader/main_window_viewer.cpp +++ b/YACReader/main_window_viewer.cpp @@ -984,7 +984,7 @@ void MainWindowViewer::openFolderFromPath(QString pathDir, QString atFileName) std::sort(list.begin(), list.end(), naturalSortLessThanCI); int i = 0; - foreach (QString path, list) { + for (const QString &path : std::as_const(list)) { if (path.endsWith(atFileName)) break; i++; @@ -1554,7 +1554,7 @@ void MainWindowViewer::getSiblingComics(QString path, QString currentComic) txtS << path << '\n'; txtS << currentComic << '\n'; txtS << "Comic list count : " + list.count() << '\n'; - foreach(QString s, list){ + for (const QString &s : std::as_const(list)) { txtS << s << '\n'; } f.close(); diff --git a/YACReaderLibrary/comic_files_manager.cpp b/YACReaderLibrary/comic_files_manager.cpp index 517c4f12..9512def1 100644 --- a/YACReaderLibrary/comic_files_manager.cpp +++ b/YACReaderLibrary/comic_files_manager.cpp @@ -33,7 +33,7 @@ QList> ComicFilesManager::getDroppedFiles(const QList> dropedFiles; QString currentPath; - foreach (QUrl url, urls) { + for (const auto &url : urls) { currentPath = url.toLocalFile(); if (currentPath.endsWith('/')) currentPath = currentPath.remove(currentPath.length() - 1, 1); // QTBUG-35896 QUrl.toLocalFile inconsistency. @@ -44,7 +44,8 @@ QList> ComicFilesManager::getDroppedFiles(const QList source; - foreach (source, comics) { + const auto &comicSources = comics; + for (const auto &source : comicSources) { if (canceled) { if (successProcesingFiles) diff --git a/YACReaderLibrary/comic_vine/comic_vine_all_volume_comics_retriever.cpp b/YACReaderLibrary/comic_vine/comic_vine_all_volume_comics_retriever.cpp index 58afc5a4..6e5092d3 100644 --- a/YACReaderLibrary/comic_vine/comic_vine_all_volume_comics_retriever.cpp +++ b/YACReaderLibrary/comic_vine/comic_vine_all_volume_comics_retriever.cpp @@ -54,7 +54,7 @@ QString ComicVineAllVolumeComicsRetriever::consolidateJSON() QJsonObject consolidatedJSON; QJsonArray comicsInfo; - foreach (QByteArray json, jsonResponses) { + for (const auto &json : jsonResponses) { QJsonDocument doc = QJsonDocument::fromJson(json); if (doc.isNull() || !doc.isObject() || doc.isEmpty()) { @@ -72,8 +72,8 @@ QString ComicVineAllVolumeComicsRetriever::consolidateJSON() continue; } - QJsonArray resultsArray = results.toArray(); - foreach (const QJsonValue &v, resultsArray) + const auto resultsArray = results.toArray(); + for (const auto &v : resultsArray) comicsInfo.append(v); } } diff --git a/YACReaderLibrary/comic_vine/comic_vine_dialog.cpp b/YACReaderLibrary/comic_vine/comic_vine_dialog.cpp index 15effb3a..ff4910e3 100644 --- a/YACReaderLibrary/comic_vine/comic_vine_dialog.cpp +++ b/YACReaderLibrary/comic_vine/comic_vine_dialog.cpp @@ -442,23 +442,23 @@ void ComicVineDialog::queryTimeOut() void ComicVineDialog::getComicsInfo(QList> matchingInfo, const SelectedVolumeInfo &volumeInfo) { - QPair p; QList comics; - foreach (p, matchingInfo) { + const auto &matches = matchingInfo; + for (auto match : matches) { auto comicVineClient = new ComicVineClient; // connect(comicVineClient,SIGNAL(searchResult(QString)),this,SLOT(debugClientResults(QString))); // connect(comicVineClient,SIGNAL(timeOut()),this,SLOT(queryTimeOut())); // connect(comicVineClient,SIGNAL(finished()),comicVineClient,SLOT(deleteLater())); bool error; bool timeout; - QByteArray result = comicVineClient->getComicDetail(p.second, error, timeout); // TODO check timeOut or Connection error + QByteArray result = comicVineClient->getComicDetail(match.second, error, timeout); // TODO check timeOut or Connection error if (error || timeout) continue; // TODO - ComicDB comic = YACReader::parseCVJSONComicInfo(p.first, result, volumeInfo); // TODO check result error - comic.info.comicVineID = p.second; + ComicDB comic = YACReader::parseCVJSONComicInfo(match.first, result, volumeInfo); // TODO check result error + comic.info.comicVineID = match.second; comics.push_back(comic); - setLoadingMessage(tr("Retrieving tags for : %1").arg(p.first.getFileName())); + setLoadingMessage(tr("Retrieving tags for : %1").arg(match.first.getFileName())); } DBHelper::updateComicsInfo(comics, databasePath); diff --git a/YACReaderLibrary/comic_vine/comic_vine_json_parser.cpp b/YACReaderLibrary/comic_vine/comic_vine_json_parser.cpp index 90ac8244..1b0c9346 100644 --- a/YACReaderLibrary/comic_vine/comic_vine_json_parser.cpp +++ b/YACReaderLibrary/comic_vine/comic_vine_json_parser.cpp @@ -142,8 +142,8 @@ QMultiMap getAuthors(const QVariant &json_authors) QString authorName = resultsValue.value("name").toString(); - QStringList roles = resultsValue.value("role").toString().split(","); - foreach (QString role, roles) { + const QStringList roles = resultsValue.value("role").toString().split(","); + for (const auto &role : roles) { if (role.trimmed() == "writer") authors.insert("writer", authorName); else if (role.trimmed() == "inker") diff --git a/YACReaderLibrary/comic_vine/model/volume_comics_model.cpp b/YACReaderLibrary/comic_vine/model/volume_comics_model.cpp index d88700a9..579b6a64 100644 --- a/YACReaderLibrary/comic_vine/model/volume_comics_model.cpp +++ b/YACReaderLibrary/comic_vine/model/volume_comics_model.cpp @@ -47,7 +47,7 @@ void VolumeComicsModel::load(const QString &json) /*void VolumeComicsModel::load(const QStringList &jsonList) { - foreach (QString json, jsonList) { + for (const auto &json : jsonList) { load(json); } }*/ diff --git a/YACReaderLibrary/comic_vine/sort_volume_comics.cpp b/YACReaderLibrary/comic_vine/sort_volume_comics.cpp index 16cf75c6..c6823bd7 100644 --- a/YACReaderLibrary/comic_vine/sort_volume_comics.cpp +++ b/YACReaderLibrary/comic_vine/sort_volume_comics.cpp @@ -247,13 +247,13 @@ void SortVolumeComics::showRemovedComicsSelector() QList> SortVolumeComics::getMatchingInfo() { - QList comicList = localComicsModel->getData(); + const auto comicList = localComicsModel->getData(); QList> l; int index = 0; QString id; - foreach (ComicDB c, comicList) { + for (const auto &c : comicList) { id = volumeComicsModel->getComicId(index); if (!c.getFileName().isEmpty() && !id.isEmpty()) // there is a valid comic, and valid comic ID { diff --git a/YACReaderLibrary/comics_view.cpp b/YACReaderLibrary/comics_view.cpp index c00d0aa4..149b2057 100644 --- a/YACReaderLibrary/comics_view.cpp +++ b/YACReaderLibrary/comics_view.cpp @@ -81,12 +81,10 @@ void ComicsView::dragEnterEvent(QDragEnterEvent *event) event->acceptProposedAction(); else { QLOG_TRACE() << "dragEnterEvent"; - QList urlList; - if (event->mimeData()->hasUrls() && event->dropAction() == Qt::CopyAction) { - urlList = event->mimeData()->urls(); + const auto urlList = event->mimeData()->urls(); QString currentPath; - foreach (QUrl url, urlList) { + for (const auto &url : urlList) { // comics or folders are accepted, folders' content is validate in dropEvent (avoid any lag before droping) currentPath = url.toLocalFile(); if (Comic::fileIsComic(currentPath) || QFileInfo(currentPath).isDir()) { diff --git a/YACReaderLibrary/current_comic_view_helper.cpp b/YACReaderLibrary/current_comic_view_helper.cpp index 98819078..02550294 100644 --- a/YACReaderLibrary/current_comic_view_helper.cpp +++ b/YACReaderLibrary/current_comic_view_helper.cpp @@ -4,9 +4,9 @@ ComicDB currentComicFromModel(ComicModel *model, bool &found) { - auto comics = model->getAllComics(); + const auto comics = model->getAllComics(); - foreach (auto comic, comics) { + for (const auto &comic : comics) { if (comic.info.read == false) { found = true; return comic; diff --git a/YACReaderLibrary/db/comic_model.cpp b/YACReaderLibrary/db/comic_model.cpp index 01cf7039..501d0952 100644 --- a/YACReaderLibrary/db/comic_model.cpp +++ b/YACReaderLibrary/db/comic_model.cpp @@ -74,17 +74,20 @@ bool ComicModel::dropMimeData(const QMimeData *data, Qt::DropAction action, int if (!data->formats().contains(YACReader::YACReaderLibrarComiscSelectionMimeDataFormat)) return false; - QList comicIds = YACReader::mimeDataToComicsIds(data); + const QList comicIds = YACReader::mimeDataToComicsIds(data); QList currentIndexes; int i; - foreach (qulonglong id, comicIds) { - i = 0; - foreach (ComicItem *item, _data) { - if (item->data(Id) == id) { - currentIndexes << i; - break; + { + const auto ¤tData = _data; + for (const auto id : comicIds) { + i = 0; + for (auto *item : currentData) { + if (item->data(Id) == id) { + currentIndexes << i; + break; + } + i++; } - i++; } } @@ -102,26 +105,30 @@ bool ComicModel::dropMimeData(const QMimeData *data, Qt::DropAction action, int QList newSorting; - i = 0; - foreach (ComicItem *item, _data) { - if (!currentIndexes.contains(i)) { + const auto ¤tIndexList = currentIndexes; + { + const auto ¤tData = _data; + i = 0; + for (auto *item : currentData) { + if (!currentIndexes.contains(i)) { - if (item == destinationItem) { - foreach (int index, currentIndexes) { - resortedData << _data.at(index); - newSorting << index; + if (item == destinationItem) { + for (const auto index : currentIndexList) { + resortedData << _data.at(index); + newSorting << index; + } } + + resortedData << item; + newSorting << i; } - resortedData << item; - newSorting << i; + i++; } - - i++; } if (destinationItem == 0) { - foreach (int index, currentIndexes) { + for (const auto index : currentIndexList) { resortedData << _data.at(index); newSorting << index; } @@ -134,9 +141,10 @@ bool ComicModel::dropMimeData(const QMimeData *data, Qt::DropAction action, int if (tempRow < 0) tempRow = _data.count(); - foreach (qulonglong id, comicIds) { + for (const auto id : comicIds) { int i = 0; - foreach (ComicItem *item, _data) { + const auto dataSnapshot = _data; + for (auto *item : dataSnapshot) { if (item->data(Id) == id) { beginMoveRows(parent, i, i, parent, tempRow); @@ -162,7 +170,8 @@ bool ComicModel::dropMimeData(const QMimeData *data, Qt::DropAction action, int // TODO fix selection QList allComicIds; - foreach (ComicItem *item, _data) { + const auto &allData = _data; + for (auto *item : allData) { allComicIds << item->data(Id).toULongLong(); } QString connectionName = ""; @@ -211,7 +220,7 @@ QMimeData *ComicModel::mimeData(const QModelIndexList &indexes) const // custom model data // application/yacreader-comics-ids + list of ids in a QByteArray QList ids; - foreach (QModelIndex index, indexes) { + for (const auto &index : indexes) { QLOG_DEBUG() << "dragging : " << index.data(IdRole).toULongLong(); ids << index.data(IdRole).toULongLong(); } @@ -605,7 +614,8 @@ QList ComicModel::createReadingListData(unsigned long long parentRe enableResorting = ids.length() == 1; // only resorting if no sublists exist - foreach (qulonglong id, ids) { + const auto &readingListIds = ids; + for (const auto id : readingListIds) { QSqlQuery selectQuery(db); selectQuery.prepare("SELECT " COMIC_MODEL_QUERY_FIELDS " " "FROM comic c INNER JOIN comic_info ci ON (c.comicInfoId = ci.id) " @@ -996,10 +1006,11 @@ QList ComicModel::getComics(QList list) QVector ComicModel::setComicsRead(QList list, YACReaderComicReadStatus read) { QString connectionName = ""; + const auto &comicIndexes = list; { QSqlDatabase db = DataBaseManagement::loadDatabase(_databasePath); db.transaction(); - foreach (QModelIndex mi, list) { + for (const auto &mi : comicIndexes) { if (read == YACReader::Read) { _data.value(mi.row())->setData(ComicModel::ReadColumn, QVariant(true)); bool found; @@ -1033,10 +1044,11 @@ QVector ComicModel::setComicsRead(QList l void ComicModel::setComicsType(QList list, FileType type) { QString connectionName = ""; + const auto &comicIndexes = list; { QSqlDatabase db = DataBaseManagement::loadDatabase(_databasePath); db.transaction(); - foreach (QModelIndex mi, list) { + for (const auto &mi : comicIndexes) { bool found; ComicDB c = DBHelper::loadComic(_data.value(mi.row())->data(ComicModel::Id).toULongLong(), db, found); c.info.type = QVariant::fromValue(type); @@ -1047,7 +1059,7 @@ void ComicModel::setComicsType(QList list, FileType type) } QSqlDatabase::removeDatabase(connectionName); - foreach (QModelIndex mi, list) { + for (const auto &mi : comicIndexes) { _data.value(mi.row())->setData(ComicModel::Type, QVariant::fromValue(type)); } @@ -1058,12 +1070,13 @@ qint64 ComicModel::asignNumbers(QList list, int startingNumber) { qint64 idFirst; QString connectionName = ""; + const auto &comicIndexes = list; { QSqlDatabase db = DataBaseManagement::loadDatabase(_databasePath); db.transaction(); idFirst = _data.value(list[0].row())->data(ComicModel::Id).toULongLong(); int i = 0; - foreach (QModelIndex mi, list) { + for (const auto &mi : comicIndexes) { bool found; ComicDB c = DBHelper::loadComic(_data.value(mi.row())->data(ComicModel::Id).toULongLong(), db, found); c.info.number = startingNumber + i; @@ -1097,7 +1110,7 @@ QList ComicModel::getIndexesFromIds(const QList &comicI { QList comicsIndexes; - foreach (qulonglong id, comicIds) + for (const auto id : comicIds) comicsIndexes << getIndexFromId(id); return comicsIndexes; @@ -1180,7 +1193,8 @@ void ComicModel::reload(const ComicDB &comic) { int row = 0; bool found = false; - foreach (ComicItem *item, _data) { + const auto ¤tData = _data; + for (auto *item : currentData) { if (item->data(ComicModel::Id).toULongLong() == comic.id) { found = true; item->setData(ComicModel::ReadColumn, comic.info.read); diff --git a/YACReaderLibrary/db/data_base_management.cpp b/YACReaderLibrary/db/data_base_management.cpp index 05d1cceb..767da97b 100644 --- a/YACReaderLibrary/db/data_base_management.cpp +++ b/YACReaderLibrary/db/data_base_management.cpp @@ -753,8 +753,7 @@ bool DataBaseManagement::importComicsInfo(QString source, QString dest) } destDB.commit(); - QString hash; - foreach (hash, hashes) { + for (const auto &hash : hashes) { QSqlQuery getComic(destDB); getComic.prepare("SELECT c.path,ci.coverPage FROM comic c INNER JOIN comic_info ci ON (c.comicInfoId = ci.id) where ci.hash = :hash"); getComic.bindValue(":hash", hash); @@ -860,7 +859,7 @@ bool DataBaseManagement::addColumns(const QString &tableName, const QStringList QString sql = "ALTER TABLE %1 ADD COLUMN %2"; bool returnValue = true; - foreach (QString columnDef, columnDefs) { + for (const auto &columnDef : columnDefs) { QSqlQuery alterTable(db); alterTable.prepare(sql.arg(tableName).arg(columnDef)); // alterTableComicInfo.bindValue(":column_def",columnDef); @@ -925,10 +924,10 @@ int DataBaseManagement::compareVersions(const QString &v1, const QString v2) QList v1il; QList v2il; - foreach (QString s, v1l) + for (const auto &s : v1l) v1il.append(s.toInt()); - foreach (QString s, v2l) + for (const auto &s : v2l) v2il.append(s.toInt()); for (int i = 0; i < qMin(v1il.length(), v2il.length()); i++) { diff --git a/YACReaderLibrary/db/folder_model.cpp b/YACReaderLibrary/db/folder_model.cpp index de9b6b7a..3048f60f 100644 --- a/YACReaderLibrary/db/folder_model.cpp +++ b/YACReaderLibrary/db/folder_model.cpp @@ -196,7 +196,7 @@ void FolderModel::reload() takeUpdatedChildrenInfo(rootItem, QModelIndex(), newModelData.rootItem); // copy items from newModelData to this model that are not in this model - foreach (auto key, newModelData.items.keys()) { + for (const auto key : newModelData.items.keys()) { if (!items.contains(key)) { items[key] = (newModelData.items[key]); } @@ -221,7 +221,7 @@ void FolderModel::reload() items = newModelData.items; // copy items from newModelData to this model that are not in this model - foreach (auto key, newModelData.items.keys()) { + for (const auto key : newModelData.items.keys()) { if (!items.contains(key)) { items[key] = (newModelData.items[key]); } @@ -605,7 +605,7 @@ void FolderModel::updateFolderCompletedStatus(const QModelIndexList &list, bool { QSqlDatabase db = DataBaseManagement::loadDatabase(_databasePath); db.transaction(); - foreach (QModelIndex mi, list) { + for (const auto &mi : list) { auto item = static_cast(mi.internalPointer()); item->setData(FolderModel::Completed, status); @@ -629,7 +629,7 @@ void FolderModel::updateFolderFinishedStatus(const QModelIndexList &list, bool s { QSqlDatabase db = DataBaseManagement::loadDatabase(_databasePath); db.transaction(); - foreach (QModelIndex mi, list) { + for (const auto &mi : list) { auto item = static_cast(mi.internalPointer()); item->setData(FolderModel::Finished, status); @@ -653,7 +653,7 @@ void FolderModel::updateFolderType(const QModelIndexList &list, YACReader::FileT { QSqlDatabase db = DataBaseManagement::loadDatabase(_databasePath); db.transaction(); - foreach (QModelIndex mi, list) { + for (const auto &mi : list) { auto item = static_cast(mi.internalPointer()); std::function setType; diff --git a/YACReaderLibrary/db/reading_list_model.cpp b/YACReaderLibrary/db/reading_list_model.cpp index d503042a..b3391658 100644 --- a/YACReaderLibrary/db/reading_list_model.cpp +++ b/YACReaderLibrary/db/reading_list_model.cpp @@ -711,7 +711,7 @@ void ReadingListModel::reorderingChildren(QList children) { QList childrenIds; int i = 0; - foreach (ReadingListItem *item, children) { + for (auto *item : children) { item->setOrdering(i++); childrenIds << item->getId(); } diff --git a/YACReaderLibrary/db_helper.cpp b/YACReaderLibrary/db_helper.cpp index a0c4d473..9e8afe14 100644 --- a/YACReaderLibrary/db_helper.cpp +++ b/YACReaderLibrary/db_helper.cpp @@ -436,7 +436,8 @@ QList DBHelper::getReadingListFullContent(qulonglong libraryId, qulongl while (subfolders.next()) ids << subfolders.value(0).toULongLong(); - foreach (qulonglong id, ids) { + const auto &subfolderIds = ids; + for (const auto id : subfolderIds) { QSqlQuery selectQuery(db); QString params; @@ -546,7 +547,7 @@ void DBHelper::deleteComicsFromFavorites(const QList &comicsList, QSqlD QSqlQuery query(db); query.prepare("DELETE FROM comic_default_reading_list WHERE comic_id = :comic_id AND default_reading_list_id = 1"); - foreach (ComicDB comic, comicsList) { + for (const auto &comic : comicsList) { query.bindValue(":comic_id", comic.id); query.exec(); } @@ -578,7 +579,7 @@ void DBHelper::deleteComicsFromLabel(const QList &comicsList, qulonglon QSqlQuery query(db); query.prepare("DELETE FROM comic_label WHERE comic_id = :comic_id AND label_id = :label_id"); - foreach (ComicDB comic, comicsList) { + for (const auto &comic : comicsList) { query.bindValue(":comic_id", comic.id); query.bindValue(":label_id", labelId); query.exec(); @@ -598,7 +599,7 @@ void DBHelper::deleteComicsFromReadingList(const QList &comicsList, qul QSqlQuery query(db); query.prepare("DELETE FROM comic_reading_list WHERE comic_id = :comic_id AND reading_list_id = :reading_list_id"); - foreach (ComicDB comic, comicsList) { + for (const auto &comic : comicsList) { query.bindValue(":comic_id", comic.id); query.bindValue(":reading_list_id", readingListId); query.exec(); @@ -1086,7 +1087,8 @@ QMap> DBHelper::updateFromRemoteClient(const QMap> moreRecentComics; - foreach (qulonglong libraryId, comics.keys()) { + const auto libraryIds = comics.keys(); + for (const auto libraryId : libraryIds) { QList libraryMoreRecentComics; QString libraryPath = DBHelper::getLibraries().getPath(libraryId); @@ -1108,7 +1110,8 @@ QMap> DBHelper::updateFromRemoteClient(const QMap comicInfo.id contains comic id ComicDB comic = DBHelper::loadComic(comicInfo.id, db, found); @@ -1193,11 +1196,10 @@ QMap> DBHelper::updateFromRemoteClient(const QMap &comics) { - YACReaderLibraries libraries = DBHelper::getLibraries(); + const YACReaderLibraries libraries = DBHelper::getLibraries(); + const QStringList names = libraries.getNames(); - QStringList names = libraries.getNames(); - - foreach (QString name, names) { + for (const auto &name : names) { QString libraryPath = DBHelper::getLibraries().getPath(libraries.getId(name)); QString connectionName = ""; { @@ -1214,7 +1216,7 @@ void DBHelper::updateFromRemoteClientWithHash(const QList &comics) "rating = :rating" " WHERE id = :id "); - foreach (ComicInfo comicInfo, comics) { + for (const auto &comicInfo : comics) { ComicInfo info = loadComicInfo(comicInfo.hash, db); if (!info.existOnDb) { @@ -1285,7 +1287,8 @@ void DBHelper::reasignOrderToSublists(QList ids, QSqlDatabase &db) "WHERE id = :id"); db.transaction(); int order = 0; - foreach (qulonglong id, ids) { + const auto &readingListIds = ids; + for (const auto id : readingListIds) { updateOrdering.bindValue(":ordering", order++); updateOrdering.bindValue(":id", id); updateOrdering.exec(); @@ -1302,7 +1305,8 @@ void DBHelper::reasignOrderToComicsInFavorites(QList comicIds, QSqlD "WHERE comic_id = :comic_id AND default_reading_list_id = 1"); db.transaction(); int order = 0; - foreach (qulonglong id, comicIds) { + const auto &favoriteComicIds = comicIds; + for (const auto id : favoriteComicIds) { updateOrdering.bindValue(":ordering", order++); updateOrdering.bindValue(":comic_id", id); updateOrdering.exec(); @@ -1319,7 +1323,8 @@ void DBHelper::reasignOrderToComicsInLabel(qulonglong labelId, QList "WHERE comic_id = :comic_id AND label_id = :label_id"); db.transaction(); int order = 0; - foreach (qulonglong id, comicIds) { + const auto &labelComicIds = comicIds; + for (const auto id : labelComicIds) { updateOrdering.bindValue(":ordering", order++); updateOrdering.bindValue(":comic_id", id); updateOrdering.bindValue(":label_id", labelId); @@ -1337,7 +1342,8 @@ void DBHelper::reasignOrderToComicsInReadingList(qulonglong readingListId, QList "WHERE comic_id = :comic_id AND reading_list_id = :reading_list_id"); db.transaction(); int order = 0; - foreach (qulonglong id, comicIds) { + const auto &readingListComicIds = comicIds; + for (const auto id : readingListComicIds) { updateOrdering.bindValue(":ordering", order++); updateOrdering.bindValue(":comic_id", id); updateOrdering.bindValue(":reading_list_id", readingListId); @@ -1355,7 +1361,8 @@ void DBHelper::updateComicsInfo(QList &comics, const QString &databaseP QSqlDatabase db = DataBaseManagement::loadDatabase(databasePath); db.open(); db.transaction(); - foreach (ComicDB comic, comics) { + const auto &comicsRef = comics; + for (auto comic : comicsRef) { DBHelper::update(&(comic.info), db); } db.commit(); @@ -1487,7 +1494,7 @@ void DBHelper::insertComicsInFavorites(const QList &comicsList, QSqlDat query.prepare("INSERT INTO comic_default_reading_list (default_reading_list_id, comic_id, ordering) " "VALUES (1, :comic_id, :ordering)"); - foreach (ComicDB comic, comicsList) { + for (const auto &comic : comicsList) { query.bindValue(":comic_id", comic.id); query.bindValue(":ordering", numComics++); query.exec(); @@ -1511,7 +1518,7 @@ void DBHelper::insertComicsInLabel(const QList &comicsList, qulonglong query.prepare("INSERT INTO comic_label (label_id, comic_id, ordering) " "VALUES (:label_id, :comic_id, :ordering)"); - foreach (ComicDB comic, comicsList) { + for (const auto &comic : comicsList) { query.bindValue(":label_id", labelId); query.bindValue(":comic_id", comic.id); query.bindValue(":ordering", numComics++); @@ -1536,7 +1543,7 @@ void DBHelper::insertComicsInReadingList(const QList &comicsList, qulon query.prepare("INSERT INTO comic_reading_list (reading_list_id, comic_id, ordering) " "VALUES (:reading_list_id, :comic_id, :ordering)"); - foreach (ComicDB comic, comicsList) { + for (const auto &comic : comicsList) { query.bindValue(":reading_list_id", readingListId); query.bindValue(":comic_id", comic.id); query.bindValue(":ordering", numComics++); diff --git a/YACReaderLibrary/folder_content_view.cpp b/YACReaderLibrary/folder_content_view.cpp index ec6a5d27..b14e5187 100644 --- a/YACReaderLibrary/folder_content_view.cpp +++ b/YACReaderLibrary/folder_content_view.cpp @@ -236,7 +236,7 @@ bool FolderContentView::canDropUrls(const QList &urls, Qt::DropAction acti { if (action == Qt::CopyAction) { QString currentPath; - foreach (QUrl url, urls) { + for (const auto &url : urls) { // comics or folders are accepted, folders' content is validate in dropEvent (avoid any lag before droping) currentPath = url.toLocalFile(); if (Comic::fileIsComic(currentPath) || QFileInfo(currentPath).isDir()) diff --git a/YACReaderLibrary/grid_comics_view.cpp b/YACReaderLibrary/grid_comics_view.cpp index 804891e9..26fd4aaf 100644 --- a/YACReaderLibrary/grid_comics_view.cpp +++ b/YACReaderLibrary/grid_comics_view.cpp @@ -452,7 +452,7 @@ bool GridComicsView::canDropUrls(const QList &urls, Qt::DropAction action) { if (action == Qt::CopyAction) { QString currentPath; - foreach (QUrl url, urls) { + for (const auto &url : urls) { // comics or folders are accepted, folders' content is validate in dropEvent (avoid any lag before droping) currentPath = url.toLocalFile(); if (Comic::fileIsComic(currentPath) || QFileInfo(currentPath).isDir()) diff --git a/YACReaderLibrary/import_widget.cpp b/YACReaderLibrary/import_widget.cpp index 9dafa395..522e4656 100644 --- a/YACReaderLibrary/import_widget.cpp +++ b/YACReaderLibrary/import_widget.cpp @@ -215,7 +215,7 @@ void ImportWidget::newComic(const QString &path, const QString &coverPath) previousWidth += 10 + p.width(); - foreach (QGraphicsItem *itemToRemove, coversScene->items()) { + for (auto *itemToRemove : coversScene->items()) { auto last = dynamic_cast(itemToRemove); if ((last->pos().x() + last->pixmap().width()) < coversView->horizontalScrollBar()->value()) // TODO check this @@ -263,7 +263,7 @@ void ImportWidget::addCoverTest() } else j++; - foreach (QGraphicsItem *itemToMove, coversScene->items()) { + for (auto *itemToMove : coversScene->items()) { auto timer = new QTimeLine(/*350*/ 1000); timer->setFrameRange(0, 60); diff --git a/YACReaderLibrary/info_comics_view.cpp b/YACReaderLibrary/info_comics_view.cpp index 47d118cb..f86327d5 100644 --- a/YACReaderLibrary/info_comics_view.cpp +++ b/YACReaderLibrary/info_comics_view.cpp @@ -189,7 +189,7 @@ bool InfoComicsView::canDropUrls(const QList &urls, Qt::DropAction action) { if (action == Qt::CopyAction) { QString currentPath; - foreach (QUrl url, urls) { + for (const auto &url : urls) { // comics or folders are accepted, folders' content is validate in dropEvent (avoid any lag before droping) currentPath = url.toLocalFile(); if (Comic::fileIsComic(currentPath) || QFileInfo(currentPath).isDir()) diff --git a/YACReaderLibrary/library_creator.cpp b/YACReaderLibrary/library_creator.cpp index 4bfdfffb..3b55c3af 100644 --- a/YACReaderLibrary/library_creator.cpp +++ b/YACReaderLibrary/library_creator.cpp @@ -100,7 +100,7 @@ void LibraryCreator::updateFolder(const QString &source, const QString &target, _currentPathFolders.append(rootFolder(db)); - foreach (QString folderName, folders) { + for (const auto &folderName : folders) { if (folderName.isEmpty()) { break; } @@ -472,7 +472,7 @@ void LibraryCreator::update(QDir dirS) listS.append(listSFolders); listS.append(listSFiles); // QLOG_DEBUG() << "---------------------------------------------------------"; - // foreach(QFileInfo info,listS) + // for (const QFileInfo &info : listS) // QLOG_DEBUG() << info.fileName(); // QLOG_TRACE() << "END Getting info from dir" << dirS.absolutePath(); @@ -488,7 +488,7 @@ void LibraryCreator::update(QDir dirS) listD.append(folders); listD.append(comics); // QLOG_DEBUG() << "---------------------------------------------------------"; - // foreach(LibraryItem * info,listD) + // for (auto *info : listD) // QLOG_DEBUG() << info->name; // QLOG_DEBUG() << "---------------------------------------------------------"; int lenghtS = listS.size(); diff --git a/YACReaderLibrary/library_window.cpp b/YACReaderLibrary/library_window.cpp index 8e455b95..f7ceb374 100644 --- a/YACReaderLibrary/library_window.cpp +++ b/YACReaderLibrary/library_window.cpp @@ -1582,7 +1582,7 @@ void LibraryWindow::setupAddToSubmenu(QMenu &menu) const QList labels = listsModel->getLabels(); if (labels.count() > 0) menu.addSeparator(); - foreach (LabelItem *label, labels) { + for (auto *label : labels) { auto action = new QAction(this); action->setIcon(label->getIcon()); action->setText(label->name()); @@ -1621,8 +1621,8 @@ void LibraryWindow::saveSelectedCoversTo() QFileDialog saveDialog; QString folderPath = saveDialog.getExistingDirectory(this, tr("Save covers"), QStandardPaths::writableLocation(QStandardPaths::DesktopLocation)); if (!folderPath.isEmpty()) { - QModelIndexList comics = getSelectedComics(); - foreach (QModelIndex comic, comics) { + const auto comics = getSelectedComics(); + for (const auto &comic : comics) { QString origin = comic.data(ComicModel::CoverPathRole).toString().remove("file:///").remove("file:"); QString destination = QDir(folderPath).filePath(comic.data(ComicModel::FileNameRole).toString() + ".jpg"); @@ -1803,7 +1803,8 @@ void LibraryWindow::openLibrary(QString path, QString name) void LibraryWindow::loadLibraries() { libraries.load(); - foreach (QString name, libraries.getNames()) + const auto libraryNames = libraries.getNames(); + for (const auto &name : libraryNames) selectedLibrary->addItem(name, libraries.getPath(name)); } @@ -1848,9 +1849,12 @@ void LibraryWindow::deleteCurrentLibrary() void LibraryWindow::removeLibrary() { QString currentLibrary = selectedLibrary->currentText(); - QMessageBox *messageBox = new QMessageBox(tr("Are you sure?"), tr("Do you want remove ") + currentLibrary + tr(" library?"), QMessageBox::Question, QMessageBox::Yes, QMessageBox::YesToAll, QMessageBox::No); + QMessageBox *messageBox = new QMessageBox(QMessageBox::Question, + tr("Are you sure?"), + tr("Do you want remove ") + currentLibrary + tr(" library?"), + QMessageBox::Yes | QMessageBox::YesToAll | QMessageBox::No, + this); messageBox->button(QMessageBox::YesToAll)->setText(tr("Remove and delete metadata")); - messageBox->setParent(this); messageBox->setWindowModality(Qt::WindowModal); int ret = messageBox->exec(); if (ret == QMessageBox::Yes) { @@ -2141,7 +2145,7 @@ void LibraryWindow::showComicVineScraper() if (s.contains(COMIC_VINE_API_KEY)) { QModelIndexList indexList = getSelectedComics(); - QList comics = comicsModel->getComics(indexList); + const auto comics = comicsModel->getComics(indexList); ComicDB c = comics[0]; _comicIdEdited = c.id; // static_cast(indexList[0].internalPointer())->data(4).toULongLong(); @@ -2507,7 +2511,7 @@ void LibraryWindow::deleteComicsFromDisk() QList paths; QString libraryPath = currentPath(); - foreach (ComicDB comic, comics) { + for (const auto &comic : comics) { paths.append(libraryPath + comic.path); QLOG_TRACE() << comic.path; QLOG_TRACE() << comic.id; diff --git a/YACReaderLibrary/main.cpp b/YACReaderLibrary/main.cpp index 2494fc6d..a77c4925 100644 --- a/YACReaderLibrary/main.cpp +++ b/YACReaderLibrary/main.cpp @@ -125,12 +125,6 @@ int main(int argc, char **argv) { qInstallMessageHandler(messageHandler); - static const char ENV_VAR_QT_DEVICE_PIXEL_RATIO[] = "QT_DEVICE_PIXEL_RATIO"; - if (!qEnvironmentVariableIsSet(ENV_VAR_QT_DEVICE_PIXEL_RATIO) && !qEnvironmentVariableIsSet("QT_AUTO_SCREEN_SCALE_FACTOR") && !qEnvironmentVariableIsSet("QT_SCALE_FACTOR") && !qEnvironmentVariableIsSet("QT_SCREEN_SCALE_FACTORS")) { - QApplication::setAttribute(Qt::AA_EnableHighDpiScaling); - } - - QApplication::setAttribute(Qt::AA_UseHighDpiPixmaps); QApplication::setHighDpiScaleFactorRoundingPolicy(Qt::HighDpiScaleFactorRoundingPolicy::PassThrough); QImageReader::setAllocationLimit(0); diff --git a/YACReaderLibrary/server/controllers/v2/librariescontroller_v2.cpp b/YACReaderLibrary/server/controllers/v2/librariescontroller_v2.cpp index 9eb73739..4039ef2c 100644 --- a/YACReaderLibrary/server/controllers/v2/librariescontroller_v2.cpp +++ b/YACReaderLibrary/server/controllers/v2/librariescontroller_v2.cpp @@ -16,7 +16,7 @@ void LibrariesControllerV2::service(HttpRequest & /* request */, HttpResponse &r QJsonArray librariesJson; - foreach (YACReaderLibrary library, libraries) { + for (const auto &library : libraries) { QJsonObject libraryJson; libraryJson["name"] = library.getName(); diff --git a/YACReaderLibrary/server/controllers/v2/synccontroller_v2.cpp b/YACReaderLibrary/server/controllers/v2/synccontroller_v2.cpp index edba69f9..23f6d92b 100644 --- a/YACReaderLibrary/server/controllers/v2/synccontroller_v2.cpp +++ b/YACReaderLibrary/server/controllers/v2/synccontroller_v2.cpp @@ -24,7 +24,7 @@ void SyncControllerV2::service(HttpRequest &request, HttpResponse &response) QLOG_TRACE() << "POST DATA: " << postData; if (postData.length() > 0) { - QList data = postData.split("\n"); + const auto data = postData.split("\n"); qulonglong libraryId; qulonglong comicId; @@ -35,17 +35,17 @@ void SyncControllerV2::service(HttpRequest &request, HttpResponse &response) QMap> comics; QList comicsWithNoLibrary; - auto libraries = DBHelper::getLibraries(); + const auto libraries = DBHelper::getLibraries(); bool clientSendsHasBeenOpened = false; bool clientSendsImageFilters = false; - foreach (QString comicInfo, data) { + for (const auto &comicInfo : data) { if (comicInfo.isEmpty()) { continue; } - QList comicInfoProgress = comicInfo.split("\t"); + const auto comicInfoProgress = comicInfo.split("\t"); if (comicInfoProgress.isEmpty()) { continue; @@ -166,11 +166,13 @@ void SyncControllerV2::service(HttpRequest &request, HttpResponse &response) if (!comics.isEmpty()) { auto moreRecentComicsFound = DBHelper::updateFromRemoteClient(comics, clientSendsHasBeenOpened, clientSendsImageFilters); + const auto libraryIds = moreRecentComicsFound.keys(); - foreach (qulonglong libraryId, moreRecentComicsFound.keys()) { + for (const auto libraryId : libraryIds) { auto libraryUuid = DBHelper::getLibraries().getLibraryIdFromLegacyId(libraryId); + const auto &libraryComics = moreRecentComicsFound[libraryId]; - foreach (ComicDB comic, moreRecentComicsFound[libraryId]) { + for (const auto &comic : libraryComics) { items.append(YACReaderServerDataHelper::fullComicToJSON(libraryId, libraryUuid, comic)); } } diff --git a/YACReaderLibrary/server/static.cpp b/YACReaderLibrary/server/static.cpp index fd8a563a..9610df73 100644 --- a/YACReaderLibrary/server/static.cpp +++ b/YACReaderLibrary/server/static.cpp @@ -45,7 +45,7 @@ QString Static::getConfigDir() searchList.append(QDir::rootPath() + "etc/opt"); searchList.append(QDir::rootPath() + "etc"); - foreach (QString dir, searchList) { + for (const auto &dir : searchList) { QFile file(dir + "/" + configFileName); if (file.exists()) { // found @@ -56,7 +56,7 @@ QString Static::getConfigDir() } // not found - foreach (QString dir, searchList) { + for (const auto &dir : searchList) { qWarning("%s/%s not found", qPrintable(dir), qPrintable(configFileName)); } qWarning("Cannot find config file %s", qPrintable(configFileName)); // TODO establecer los valores por defecto diff --git a/YACReaderLibrary/yacreader_folders_view.cpp b/YACReaderLibrary/yacreader_folders_view.cpp index 54d413be..18a63e9d 100644 --- a/YACReaderLibrary/yacreader_folders_view.cpp +++ b/YACReaderLibrary/yacreader_folders_view.cpp @@ -16,12 +16,10 @@ void YACReaderFoldersView::dragEnterEvent(QDragEnterEvent *event) { YACReaderTreeView::dragEnterEvent(event); - QList urlList; - if (event->mimeData()->hasUrls() && event->dropAction() == Qt::CopyAction) { - urlList = event->mimeData()->urls(); + const auto urlList = event->mimeData()->urls(); QString currentPath; - foreach (QUrl url, urlList) { + for (const auto &url : urlList) { // comics or folders are accepted, folders' content is validate in dropEvent (avoid any lag before droping) currentPath = url.toLocalFile(); if (Comic::fileIsComic(currentPath) || QFileInfo(currentPath).isDir()) { @@ -53,7 +51,7 @@ void YACReaderFoldersView::dropEvent(QDropEvent *event) if (validAction) { QList> droppedFiles = ComicFilesManager::getDroppedFiles(event->mimeData()->urls()); - QModelIndex destinationIndex = indexAt(event->pos()); + QModelIndex destinationIndex = indexAt(event->position().toPoint()); if (event->dropAction() == Qt::CopyAction) { QLOG_DEBUG() << "copy - tree :" << droppedFiles; diff --git a/YACReaderLibrary/yacreader_libraries.cpp b/YACReaderLibrary/yacreader_libraries.cpp index 54fea2fe..6e16d97d 100644 --- a/YACReaderLibrary/yacreader_libraries.cpp +++ b/YACReaderLibrary/yacreader_libraries.cpp @@ -38,54 +38,54 @@ YACReaderLibraries::YACReaderLibraries(const YACReaderLibraries &source) { } -QList YACReaderLibraries::getNames() +QList YACReaderLibraries::getNames() const { QList names; std::transform(libraries.cbegin(), libraries.cend(), std::back_inserter(names), [](const YACReaderLibrary &library) { return library.getName(); }); return names; } -QString YACReaderLibraries::getPath(const QString &name) +QString YACReaderLibraries::getPath(const QString &name) const { auto library = std::find_if(libraries.cbegin(), libraries.cend(), [name](const YACReaderLibrary &library) { return library.getName() == name; }); return library != libraries.cend() ? library->getPath() : ""; } -QString YACReaderLibraries::getPath(int id) +QString YACReaderLibraries::getPath(int id) const { auto library = std::find_if(libraries.cbegin(), libraries.cend(), [id](const YACReaderLibrary &library) { return library.getLegacyId() == id; }); return library != libraries.cend() ? library->getPath() : ""; } -QString YACReaderLibraries::getPath(const QUuid &id) +QString YACReaderLibraries::getPath(const QUuid &id) const { auto library = std::find_if(libraries.cbegin(), libraries.cend(), [id](const YACReaderLibrary &library) { return library.getId() == id; }); return library != libraries.cend() ? library->getPath() : ""; } -QString YACReaderLibraries::getDBPath(int id) +QString YACReaderLibraries::getDBPath(int id) const { return LibraryPaths::libraryDataPath(getPath(id)); } -QString YACReaderLibraries::getName(int id) +QString YACReaderLibraries::getName(int id) const { auto library = std::find_if(libraries.cbegin(), libraries.cend(), [id](const YACReaderLibrary &library) { return library.getLegacyId() == id; }); return library != libraries.cend() ? library->getName() : ""; } -bool YACReaderLibraries::isEmpty() +bool YACReaderLibraries::isEmpty() const { return libraries.isEmpty(); } -bool YACReaderLibraries::contains(const QString &name) +bool YACReaderLibraries::contains(const QString &name) const { auto library = std::find_if(libraries.cbegin(), libraries.cend(), [name](const YACReaderLibrary &library) { return library.getName() == name; }); return library != libraries.cend(); } -bool YACReaderLibraries::contains(int id) +bool YACReaderLibraries::contains(int id) const { auto library = std::find_if(libraries.cbegin(), libraries.cend(), [id](const YACReaderLibrary &library) { return library.getLegacyId() == id; }); return library != libraries.cend(); @@ -104,19 +104,19 @@ void YACReaderLibraries::rename(const QString &oldName, const QString &newName) libraries.append(YACReaderLibrary(newName, library->getPath(), library->getLegacyId(), library->getId())); } -int YACReaderLibraries::getId(const QString &name) +int YACReaderLibraries::getId(const QString &name) const { auto library = std::find_if(libraries.cbegin(), libraries.cend(), [name](const YACReaderLibrary &library) { return library.getName() == name; }); return library != libraries.cend() ? library->getLegacyId() : -1; } -QUuid YACReaderLibraries::getUuid(const QString &name) +QUuid YACReaderLibraries::getUuid(const QString &name) const { auto library = std::find_if(libraries.cbegin(), libraries.cend(), [name](const YACReaderLibrary &library) { return library.getName() == name; }); return library != libraries.cend() ? library->getId() : QUuid(); } -int YACReaderLibraries::getIdFromUuid(const QUuid &uuid) +int YACReaderLibraries::getIdFromUuid(const QUuid &uuid) const { auto library = std::find_if(libraries.cbegin(), libraries.cend(), [uuid](const YACReaderLibrary &library) { return library.getId() == uuid; }); return library != libraries.cend() ? library->getLegacyId() : -1; @@ -149,8 +149,9 @@ QUuid YACReaderLibraries::getLibraryIdFromLegacyId(int legacyId) const void YACReaderLibraries::addLibrary(const QString &name, const QString &path) { int legacyId = 0; - foreach (YACReaderLibrary l, libraries) - legacyId = qMax(legacyId, l.getLegacyId()); + const auto &existingLibraries = libraries; + for (const auto &library : existingLibraries) + legacyId = qMax(legacyId, library.getLegacyId()); legacyId++; auto id = readFromLibraryFolder(path); diff --git a/YACReaderLibrary/yacreader_libraries.h b/YACReaderLibrary/yacreader_libraries.h index e7e8c86d..c370eb4f 100644 --- a/YACReaderLibrary/yacreader_libraries.h +++ b/YACReaderLibrary/yacreader_libraries.h @@ -12,20 +12,20 @@ class YACReaderLibraries : public QObject public: YACReaderLibraries(); YACReaderLibraries(const YACReaderLibraries &source); - QList getNames(); - QString getPath(const QString &name); - QString getPath(int id); - QString getPath(const QUuid &id); - QString getDBPath(int id); - QString getName(int id); - bool isEmpty(); - bool contains(const QString &name); - bool contains(int id); + QList getNames() const; + QString getPath(const QString &name) const; + QString getPath(int id) const; + QString getPath(const QUuid &id) const; + QString getDBPath(int id) const; + QString getName(int id) const; + bool isEmpty() const; + bool contains(const QString &name) const; + bool contains(int id) const; void remove(const QString &name); void rename(const QString &oldName, const QString &newName); - int getId(const QString &name); - QUuid getUuid(const QString &name); - int getIdFromUuid(const QUuid &uuid); + int getId(const QString &name) const; + QUuid getUuid(const QString &name) const; + int getIdFromUuid(const QUuid &uuid) const; YACReaderLibraries &operator=(const YACReaderLibraries &source); QList getLibraries() const; QList sortedLibraries() const; diff --git a/YACReaderLibrary/yacreader_reading_lists_view.cpp b/YACReaderLibrary/yacreader_reading_lists_view.cpp index 08084556..7f4c3722 100644 --- a/YACReaderLibrary/yacreader_reading_lists_view.cpp +++ b/YACReaderLibrary/yacreader_reading_lists_view.cpp @@ -24,7 +24,7 @@ void YACReaderReadingListsView::dragEnterEvent(QDragEnterEvent *event) void YACReaderReadingListsView::dragMoveEvent(QDragMoveEvent *event) { YACReaderTreeView::dragMoveEvent(event); - QModelIndex destinationIndex = indexAt(event->pos()); + QModelIndex destinationIndex = indexAt(event->position().toPoint()); if (model()->canDropMimeData(event->mimeData(), event->proposedAction(), destinationIndex.row(), destinationIndex.column(), destinationIndex.parent())) event->acceptProposedAction(); } diff --git a/YACReaderLibraryServer/CMakeLists.txt b/YACReaderLibraryServer/CMakeLists.txt index 16df0ac9..94081193 100644 --- a/YACReaderLibraryServer/CMakeLists.txt +++ b/YACReaderLibraryServer/CMakeLists.txt @@ -19,10 +19,6 @@ target_compile_definitions(YACReaderLibraryServer PRIVATE YACREADER_LIBRARY ) -# Resources -qt_add_resources(yacreaderlibraryserver_images_rcc "${CMAKE_CURRENT_SOURCE_DIR}/images.qrc") -target_sources(YACReaderLibraryServer PRIVATE ${yacreaderlibraryserver_images_rcc}) - # Translations qt_add_translations(YACReaderLibraryServer TS_FILES diff --git a/YACReaderLibraryServer/images.qrc b/YACReaderLibraryServer/images.qrc deleted file mode 100644 index 1ea3a08e..00000000 --- a/YACReaderLibraryServer/images.qrc +++ /dev/null @@ -1,6 +0,0 @@ - - - ../images/f_overlayed.png - ../images/f_overlayed_retina.png - - diff --git a/YACReaderLibraryServer/libraries_updater.cpp b/YACReaderLibraryServer/libraries_updater.cpp index a2c1d625..1b2631eb 100644 --- a/YACReaderLibraryServer/libraries_updater.cpp +++ b/YACReaderLibraryServer/libraries_updater.cpp @@ -4,6 +4,8 @@ #include "yacreader_global.h" #include "yacreader_libraries.h" +#include + LibrariesUpdater::LibrariesUpdater() { } @@ -14,7 +16,7 @@ void LibrariesUpdater::updateIfNeeded() libraries.load(); - foreach (QString name, libraries.getNames()) { + for (const QString &name : libraries.getNames()) { QString libraryPath = libraries.getPath(name); QString libraryDataPath = YACReader::LibraryPaths::libraryDataPath(libraryPath); QString databasePath = YACReader::LibraryPaths::libraryDatabasePath(libraryPath); diff --git a/common/bookmarks.cpp b/common/bookmarks.cpp index 83bad65e..e357411b 100644 --- a/common/bookmarks.cpp +++ b/common/bookmarks.cpp @@ -8,6 +8,8 @@ #include #include +#include + Bookmarks::Bookmarks() : lastPageIndex(0) { @@ -93,7 +95,7 @@ void Bookmarks::clear() bool Bookmarks::load(const QList &bookmarkIndexes, int lastPage) { lastPageIndex = lastPage; - foreach (int b, bookmarkIndexes) + for (const int b : std::as_const(bookmarkIndexes)) if (b != -1) { latestBookmarks.push_back(b); bookmarks.insert(b, QImage()); diff --git a/common/comic.cpp b/common/comic.cpp index 7351bd14..6d9bbfef 100644 --- a/common/comic.cpp +++ b/common/comic.cpp @@ -15,6 +15,7 @@ #include #include +#include enum YACReaderPageSortingMode { YACReaderNumericalSorting, @@ -304,7 +305,7 @@ QList Comic::findValidComicFiles(const QList &list) QLOG_DEBUG() << "-findValidComicFiles-"; QList validComicFiles; QString currentPath; - foreach (QUrl url, list) { + for (const QUrl &url : std::as_const(list)) { currentPath = url.toLocalFile(); if (Comic::fileIsComic(currentPath)) { validComicFiles << currentPath; @@ -330,7 +331,7 @@ QList Comic::findValidComicFilesInFolder(const QString &path) QFileInfoList folderContent = folder.entryInfoList(); QString currentPath; - foreach (QFileInfo info, folderContent) { + for (const QFileInfo &info : std::as_const(folderContent)) { currentPath = info.absoluteFilePath(); if (info.isDir()) { validComicFiles << findValidComicFilesInFolder(currentPath); // find comics recursively @@ -415,10 +416,10 @@ QList FileComic::filter(const QList &src) QList filtered; bool fileAccepted = false; - foreach (QString fileName, src) { + for (const QString &fileName : std::as_const(src)) { fileAccepted = false; if (!fileName.contains("__MACOSX")) { - foreach (QString extension, extensions) { + for (const QString &extension : std::as_const(extensions)) { if (fileName.endsWith(extension, Qt::CaseInsensitive)) { fileAccepted = true; break; @@ -473,7 +474,7 @@ bool FileComic::isCancelled() QList> FileComic::getSections(int §ionIndex) { QVector sortedIndexes; - foreach (QString name, _fileNames) { + for (const QString &name : std::as_const(_fileNames)) { sortedIndexes.append(_order.indexOf(name)); } QList> sections; @@ -483,7 +484,7 @@ QList> FileComic::getSections(int §ionIndex) QVector section; int idx = 0; unsigned int realIdx; - foreach (quint32 i, sortedIndexes) { + for (const quint32 i : std::as_const(sortedIndexes)) { if (_firstPage == idx) { sectionIndex = sectionCount; @@ -499,7 +500,7 @@ QList> FileComic::getSections(int §ionIndex) if (section.indexOf(realIdx) != 0) { QVector section1; QVector section2; - foreach (quint32 si, section) { + for (const quint32 si : std::as_const(section)) { if (si < realIdx) { section1.append(si); } else { @@ -532,7 +533,7 @@ QList> FileComic::getSections(int §ionIndex) if (section.indexOf(realIdx) != 0) { QVector section1; QVector section2; - foreach (quint32 si, section) { + for (const quint32 si : std::as_const(section)) { if (si < realIdx) { section1.append(si); } else { @@ -626,7 +627,7 @@ void FileComic::process() } // archive.getAllData(QVector(),this); /* - foreach(QString name,_fileNames) + for (const auto &name : _fileNames) { index = _order.indexOf(name); sortedIndex = _fileNames.indexOf(name); @@ -1017,7 +1018,7 @@ void get_double_pages(const QList &pageNames, QList &singlePag QString mostCommonPrefix = get_most_common_prefix(pageNames); - foreach (const QString &pageName, pageNames) { + for (const QString &pageName : std::as_const(pageNames)) { if (is_double_page(pageName.split('/').last(), mostCommonPrefix, maxExpectedDoublePagesNumberLenght)) { doublePageNames.append(pageName); } else { diff --git a/common/rhi/yacreader_comic_flow_rhi.cpp b/common/rhi/yacreader_comic_flow_rhi.cpp index abf3ab58..bba348df 100644 --- a/common/rhi/yacreader_comic_flow_rhi.cpp +++ b/common/rhi/yacreader_comic_flow_rhi.cpp @@ -2,6 +2,8 @@ #include +#include + // YACReaderComicFlow3D implementation YACReaderComicFlow3D::YACReaderComicFlow3D(QWidget *parent, struct Preset p) : YACReaderFlow3D(parent, p) @@ -126,7 +128,7 @@ void YACReaderComicFlow3D::resortCovers(QList newOrder) QVector imagesNew; int index = 0; - foreach (int i, newOrder) { + for (const int i : std::as_const(newOrder)) { if (i < 0 || i >= images.size()) { continue; } diff --git a/compressed_archive/compressed_archive.cpp b/compressed_archive/compressed_archive.cpp index 65aff55f..dd878007 100644 --- a/compressed_archive/compressed_archive.cpp +++ b/compressed_archive/compressed_archive.cpp @@ -12,6 +12,8 @@ #include #include +#include + #define _MY_WINAPI WINAPI typedef quint32(_MY_WINAPI *CreateObjectFunc)(const GUID *clsID, const GUID *interfaceID, void **outObject); @@ -235,7 +237,7 @@ QVector CompressedArchive::translateIndexes(const QVector &ind { QVector translatedIndexes; - foreach (quint32 i, indexes) { + for (const quint32 i : std::as_const(indexes)) { if (i < (quint32)offsets.length()) translatedIndexes.append(offsets.at(i)); } diff --git a/custom_widgets/yacreader_macosx_toolbar.mm b/custom_widgets/yacreader_macosx_toolbar.mm index 2338eb30..483177ac 100644 --- a/custom_widgets/yacreader_macosx_toolbar.mm +++ b/custom_widgets/yacreader_macosx_toolbar.mm @@ -198,7 +198,7 @@ void bindActionToNSToolbarItem(QAction *action, NSToolbarItem *toolbarItem, cons NSMutableArray *array = [[NSMutableArray alloc] init]; QList items = mytoolbar->items(); - foreach (const QMacToolBarItem * item, items) { + for (const auto *item : items) { [array addObject : item->nativeToolBarItem().itemIdentifier]; } return array; diff --git a/custom_widgets/yacreader_table_view.cpp b/custom_widgets/yacreader_table_view.cpp index d434fb47..9d3b1bff 100644 --- a/custom_widgets/yacreader_table_view.cpp +++ b/custom_widgets/yacreader_table_view.cpp @@ -407,7 +407,7 @@ void StarEditor::leaveEvent(QEvent *event) void StarEditor::mousePressEvent(QMouseEvent *event) { if (event->button() == Qt::LeftButton) { - int star = starAtPosition(event->x()); + int star = starAtPosition(event->position().x()); if (star != myStarRating.starCount() && star != -1) { myStarRating.setStarCount(star); diff --git a/custom_widgets/yacreader_treeview.cpp b/custom_widgets/yacreader_treeview.cpp index 5ddaadcf..63c3e33d 100644 --- a/custom_widgets/yacreader_treeview.cpp +++ b/custom_widgets/yacreader_treeview.cpp @@ -66,9 +66,10 @@ void YACReaderTreeView::dragMoveEvent(QDragMoveEvent *event) QTreeView::dragMoveEvent(event); // fix for drop auto expand - QModelIndex underMouse = indexAt(event->pos()); + auto point = event->position().toPoint(); + QModelIndex underMouse = indexAt(point); if (underMouse.isValid()) { - expandPos = event->pos(); + expandPos = point; connect(&expandTimer, &QTimer::timeout, this, &YACReaderTreeView::expandCurrent); expandTimer.setSingleShot(true); expandTimer.start(500); diff --git a/shortcuts_management/shortcuts_manager.cpp b/shortcuts_management/shortcuts_manager.cpp index 6ca75c21..87eca2b8 100644 --- a/shortcuts_management/shortcuts_manager.cpp +++ b/shortcuts_management/shortcuts_manager.cpp @@ -5,6 +5,8 @@ #include #include +#include + ShortcutsManager::ShortcutsManager() { initDefaultShorcuts(); @@ -127,7 +129,7 @@ bool ShortcutsManager::checkConflicts(const QKeySequence &shortcut, const QActio if (shortcut.isEmpty()) return false; - foreach (QAction *action, actions) { + for (QAction *action : std::as_const(actions)) { if (action != dest) // if the same shortcut is setted there is no conflict if (action->shortcut() == shortcut) return true; diff --git a/tests/compressed_archive_test/main.cpp b/tests/compressed_archive_test/main.cpp index 4f681c9f..44177efd 100644 --- a/tests/compressed_archive_test/main.cpp +++ b/tests/compressed_archive_test/main.cpp @@ -6,6 +6,7 @@ #include #include +#include using namespace std; @@ -36,7 +37,7 @@ int main(int argc, char *argv[]) timer.start(); quint32 totalFiles = 0; - foreach (QString format, supportedFormats) { + for (const QString &format : std::as_const(supportedFormats)) { QDir rootDir(s); if (!rootDir.cd(format)) { cout << "Folder for format '" << format.toStdString() << "' not found" << endl; @@ -49,7 +50,7 @@ int main(int argc, char *argv[]) quint32 errors = 0; quint64 init = timer.elapsed(); - foreach (QFileInfo fileInfo, files) { + for (const QFileInfo &fileInfo : std::as_const(files)) { totalFiles++; totalFormat++; CompressedArchive archive(fileInfo.filePath()); diff --git a/third_party/QsLog/unittest/QtTestUtil/TestRegistry.cpp b/third_party/QsLog/unittest/QtTestUtil/TestRegistry.cpp index 5460f405..d4de9ee1 100644 --- a/third_party/QsLog/unittest/QtTestUtil/TestRegistry.cpp +++ b/third_party/QsLog/unittest/QtTestUtil/TestRegistry.cpp @@ -21,9 +21,10 @@ void TestRegistry::registerTest(QObject* test) { int TestRegistry::runTests(int argc, char* argv[]) { int result = 0; - foreach(QObject* test, tests_) { - result |= QTest::qExec(test, argc, argv); - } + const auto &tests = tests_; + for (auto *test : tests) { + result |= QTest::qExec(test, argc, argv); + } return result; } diff --git a/third_party/QsLog/unittest/TestLog.h b/third_party/QsLog/unittest/TestLog.h index ba3df192..edc66583 100644 --- a/third_party/QsLog/unittest/TestLog.h +++ b/third_party/QsLog/unittest/TestLog.h @@ -63,7 +63,7 @@ public: bool hasMessage(const QString &messageContent, QsLogging::Level level) const { - Q_FOREACH (const Message &m, mMessages) { + for (const auto &m : mMessages) { if (m.level == level && m.text.contains(messageContent)) return true; } diff --git a/third_party/QtWebApp/httpserver/httpconnectionhandlerpool.cpp b/third_party/QtWebApp/httpserver/httpconnectionhandlerpool.cpp index 5a03d0ce..240d0f92 100644 --- a/third_party/QtWebApp/httpserver/httpconnectionhandlerpool.cpp +++ b/third_party/QtWebApp/httpserver/httpconnectionhandlerpool.cpp @@ -5,6 +5,7 @@ #include #endif #include +#include #include "httpconnectionhandlerpool.h" using namespace stefanfrings; @@ -25,7 +26,7 @@ HttpConnectionHandlerPool::HttpConnectionHandlerPool(const QSettings *settings, HttpConnectionHandlerPool::~HttpConnectionHandlerPool() { // delete all connection handlers and wait until their threads are closed - foreach(HttpConnectionHandler* handler, pool) + for (HttpConnectionHandler *handler : std::as_const(pool)) { delete handler; } @@ -39,7 +40,7 @@ HttpConnectionHandler* HttpConnectionHandlerPool::getConnectionHandler() HttpConnectionHandler* freeHandler=0; mutex.lock(); // find a free handler in pool - foreach(HttpConnectionHandler* handler, pool) + for (HttpConnectionHandler *handler : std::as_const(pool)) { if (!handler->isBusy()) { @@ -69,7 +70,7 @@ void HttpConnectionHandlerPool::cleanup() int maxIdleHandlers=settings->value("minThreads",1).toInt(); int idleCounter=0; mutex.lock(); - foreach(HttpConnectionHandler* handler, pool) + for (HttpConnectionHandler *handler : std::as_const(pool)) { if (!handler->isBusy()) { diff --git a/third_party/QtWebApp/httpserver/httpcookie.cpp b/third_party/QtWebApp/httpserver/httpcookie.cpp index d85232e8..bde70caa 100644 --- a/third_party/QtWebApp/httpserver/httpcookie.cpp +++ b/third_party/QtWebApp/httpserver/httpcookie.cpp @@ -4,6 +4,7 @@ */ #include "httpcookie.h" +#include using namespace stefanfrings; @@ -37,7 +38,7 @@ HttpCookie::HttpCookie(const QByteArray source) secure=false; httpOnly=false; QList list=splitCSV(source); - foreach(QByteArray part, list) + for (const QByteArray &part : std::as_const(list)) { // Split the part into name and value diff --git a/third_party/QtWebApp/httpserver/httprequest.cpp b/third_party/QtWebApp/httpserver/httprequest.cpp index c9294b7a..c076c5d9 100644 --- a/third_party/QtWebApp/httpserver/httprequest.cpp +++ b/third_party/QtWebApp/httpserver/httprequest.cpp @@ -6,6 +6,7 @@ #include "httprequest.h" #include #include +#include #include "httpcookie.h" using namespace stefanfrings; @@ -239,7 +240,7 @@ void HttpRequest::decodeRequestParams() } // Split the parameters into pairs of value and name QList list=rawParameters.split('&'); - foreach (QByteArray part, list) + for (const QByteArray &part : std::as_const(list)) { int equalsChar=part.indexOf('='); if (equalsChar>=0) @@ -261,10 +262,10 @@ void HttpRequest::extractCookies() #ifdef SUPERVERBOSE qDebug("HttpRequest: extract cookies"); #endif - foreach(QByteArray cookieStr, headers.values("cookie")) + for (const QByteArray &cookieStr : headers.values("cookie")) { QList list=HttpCookie::splitCSV(cookieStr); - foreach(QByteArray part, list) + for (const QByteArray &part : std::as_const(list)) { #ifdef SUPERVERBOSE qDebug("HttpRequest: found cookie %s",part.data()); @@ -532,7 +533,7 @@ void HttpRequest::parseMultiPartFile() HttpRequest::~HttpRequest() { - foreach(QByteArray key, uploadedFiles.keys()) + for (const QByteArray &key : uploadedFiles.keys()) { QTemporaryFile* file=uploadedFiles.value(key); if (file->isOpen()) diff --git a/third_party/QtWebApp/httpserver/httpresponse.cpp b/third_party/QtWebApp/httpserver/httpresponse.cpp index a2afba89..597be0f4 100644 --- a/third_party/QtWebApp/httpserver/httpresponse.cpp +++ b/third_party/QtWebApp/httpserver/httpresponse.cpp @@ -4,6 +4,7 @@ */ #include "httpresponse.h" +#include using namespace stefanfrings; @@ -54,14 +55,14 @@ void HttpResponse::writeHeaders() buffer.append(' '); buffer.append(statusText); buffer.append("\r\n"); - foreach(QByteArray name, headers.keys()) + for (const QByteArray &name : headers.keys()) { buffer.append(name); buffer.append(": "); buffer.append(headers.value(name)); buffer.append("\r\n"); } - foreach(HttpCookie cookie,cookies.values()) + for (const HttpCookie &cookie : cookies.values()) { buffer.append("Set-Cookie: "); buffer.append(cookie.toByteArray()); diff --git a/third_party/QtWebApp/templateengine/templateloader.cpp b/third_party/QtWebApp/templateengine/templateloader.cpp index 0db3115b..1dda0d7c 100644 --- a/third_party/QtWebApp/templateengine/templateloader.cpp +++ b/third_party/QtWebApp/templateengine/templateloader.cpp @@ -10,6 +10,7 @@ #include #include #include +#include #if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0) #include #else @@ -81,7 +82,7 @@ Template TemplateLoader::getTemplate(QString templateName, QString locales) #endif // Search for exact match - foreach (QString loc,locs) + for (QString loc : std::as_const(locs)) { #if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0) loc.replace(QRegularExpression(";.*"),""); @@ -102,7 +103,7 @@ Template TemplateLoader::getTemplate(QString templateName, QString locales) } // Search for correct language but any country - foreach (QString loc,locs) + for (QString loc : std::as_const(locs)) { #if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0) loc.replace(QRegularExpression("[;_-].*"),"");