From 0457c08fcab282bd816c045d11e9a969936a71e0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Luis=20=C3=81ngel=20San=20Mart=C3=ADn?= Date: Fri, 9 May 2025 15:23:00 +0200 Subject: [PATCH] Add button for reseting the cover of a comic to the default one --- YACReaderLibrary/images.qrc | 1 + YACReaderLibrary/properties_dialog.cpp | 41 +++++++++++++++---------- YACReaderLibrary/properties_dialog.h | 4 +++ images/resetCover.svg | Bin 0 -> 434 bytes 4 files changed, 29 insertions(+), 17 deletions(-) create mode 100644 images/resetCover.svg diff --git a/YACReaderLibrary/images.qrc b/YACReaderLibrary/images.qrc index 8ae9df1c..4fa88ed4 100644 --- a/YACReaderLibrary/images.qrc +++ b/YACReaderLibrary/images.qrc @@ -70,6 +70,7 @@ ../images/previousCoverPage.png ../images/readingRibbon.png ../images/readRibbon.png + ../images/resetCover.svg ../images/searching_icon.png ../images/serverConfigBackground.png ../images/shortcuts_group_comics.svg diff --git a/YACReaderLibrary/properties_dialog.cpp b/YACReaderLibrary/properties_dialog.cpp index 58316c93..d9aefb40 100644 --- a/YACReaderLibrary/properties_dialog.cpp +++ b/YACReaderLibrary/properties_dialog.cpp @@ -107,6 +107,10 @@ void PropertiesDialog::createCoverBox() showNextCoverPageButton->setIcon(QIcon(":/images/nextCoverPage.png")); showNextCoverPageButton->setStyleSheet("QToolButton {border:none;}"); + resetCoverButton = new QToolButton(); + resetCoverButton->setIcon(QIcon(":/images/resetCover.svg")); + resetCoverButton->setStyleSheet("QToolButton {border:none;}"); + coverPageNumberLabel = new QLabel("-"); coverPageNumberLabel->setStyleSheet("QLabel {color: white; font-weight:bold; font-size:14px;}"); @@ -116,6 +120,8 @@ void PropertiesDialog::createCoverBox() layout->addWidget(coverPageNumberLabel, 0, Qt::AlignVCenter); layout->addSpacing(5); layout->addWidget(showNextCoverPageButton, 0, Qt::AlignVCenter); + layout->addSpacing(5); + layout->addWidget(resetCoverButton, 0, Qt::AlignVCenter); coverPageEdit->setStyleSheet("QLineEdit {border:none;}"); layout->setSpacing(0); @@ -132,6 +138,7 @@ void PropertiesDialog::createCoverBox() connect(showPreviousCoverPageButton, &QAbstractButton::clicked, this, &PropertiesDialog::loadPreviousCover); connect(showNextCoverPageButton, &QAbstractButton::clicked, this, &PropertiesDialog::loadNextCover); + connect(resetCoverButton, &QAbstractButton::clicked, this, &PropertiesDialog::resetCover); } void PropertiesDialog::createGeneralInfoBox() @@ -1095,17 +1102,9 @@ void PropertiesDialog::loadNextCover() else next = current + 1; - updateCoverPageNumberLabel(next); + setCoverPage(next); - InitialComicInfoExtractor ie(basePath + comics[currentComicIndex].path, "", next); - ie.extract(); - setCover(ie.getCover()); - repaint(); - - if (next != comics[currentComicIndex].info.coverPage) - coverChanged = true; - else - coverChanged = false; + coverChanged = next != comics[currentComicIndex].info.coverPage; } void PropertiesDialog::loadPreviousCover() @@ -1118,16 +1117,24 @@ void PropertiesDialog::loadPreviousCover() else previous = current - 1; - updateCoverPageNumberLabel(previous); - InitialComicInfoExtractor ie(basePath + comics[currentComicIndex].path, "", previous); + setCoverPage(previous); + + coverChanged = previous != comics[currentComicIndex].info.coverPage.toInt(); +} + +void PropertiesDialog::resetCover() +{ + setCoverPage(1); + coverChanged = 1 != comics[currentComicIndex].info.coverPage.toInt(); +} + +void PropertiesDialog::setCoverPage(int pageNumber) +{ + updateCoverPageNumberLabel(pageNumber); + InitialComicInfoExtractor ie(basePath + comics[currentComicIndex].path, "", pageNumber); ie.extract(); setCover(ie.getCover()); repaint(); - - if (previous != comics[currentComicIndex].info.coverPage.toInt()) - coverChanged = true; - else - coverChanged = false; } bool PropertiesDialog::close() diff --git a/YACReaderLibrary/properties_dialog.h b/YACReaderLibrary/properties_dialog.h index 3e031846..cd3acf1e 100644 --- a/YACReaderLibrary/properties_dialog.h +++ b/YACReaderLibrary/properties_dialog.h @@ -117,6 +117,8 @@ private: QToolButton *showNextCoverPageButton; QLabel *coverPageNumberLabel; + QToolButton *resetCoverButton; + void createTabBar(); void createCoverBox(); void createGeneralInfoBox(); @@ -168,6 +170,8 @@ public slots: void setSize(float size); void loadNextCover(); void loadPreviousCover(); + void resetCover(); + void setCoverPage(int pageNumber); bool close(); signals: diff --git a/images/resetCover.svg b/images/resetCover.svg new file mode 100644 index 0000000000000000000000000000000000000000..2790627b6df93211e986a8276b1a87bae0aa0c28 GIT binary patch literal 434 zcmZ`#O;3a{6uj@RczK>_3mX)%WfKpcJnGpHC~RYCH?-j+#{X_%*^M9Z)X7X|GV}Oh z>NE_pcgh-pF<}VORJK;875Mt{6lHiQcH9jus9NB2Im`YnL8wb#MyBlK#zEjhlyL%& z-k)+x$8jX%p4h&n31f_g2!uh&@zG8K88FBo!(s=(YuUI31nB&%{En!Mag~O5`ihXUAPt9#Yoqo|M<7RKm1$fH$PuaSbPE7=5!MP literal 0 HcmV?d00001