#include "whats_new_dialog.h" #include "yacreader_global.h" #include <QtWidgets> YACReader::WhatsNewDialog::WhatsNewDialog(QWidget *parent) : RoundedCornersDialog(parent) { auto scrollArea = new QScrollArea(this); scrollArea->setStyleSheet("background-color:transparent;" "border:none;"); scrollArea->horizontalScrollBar()->setStyleSheet("QScrollBar {height:0px;}"); scrollArea->verticalScrollBar()->setStyleSheet("QScrollBar {width:0px;}"); scrollArea->setContentsMargins(0, 0, 0, 0); auto mainLayout = new QVBoxLayout(this); mainLayout->setContentsMargins(0, 0, 0, 0); auto contentLayout = new QGridLayout(); auto content = new QFrame(); content->setStyleSheet("background-color:transparent;" "border:none;"); auto headerImageLabel = new QLabel(); QPixmap headerImage(":/images/whats_new/whatsnew_header.svg"); headerImageLabel->setPixmap(headerImage); headerImageLabel->setFixedSize(headerImage.size()); auto headerLabel = new QLabel(); headerLabel->setText("What's New in\nYACReader"); QFont headerLabelFont("Arial", 34, QFont::ExtraBold); headerLabel->setFont(headerLabelFont); headerLabel->setAlignment(Qt::AlignCenter); headerLabel->setStyleSheet("padding: 18px 0 0 0;" "background-color:transparent;" "color:#0A0A0A;"); auto versionLabel = new QLabel(); versionLabel->setText(VERSION); QFont versionLabelFont("Arial", 12, QFont::Normal); versionLabel->setFont(versionLabelFont); versionLabel->setAlignment(Qt::AlignCenter); versionLabel->setStyleSheet("padding:0 0 0 0;" "background-color:transparent;" "color:#858585;"); auto text = new QLabel(); text->setText("New release with the following updates:<br/>" "<br/>" "<span style=\"font-weight:600\">YACReader</span><br/>" " • Show error when opening bad open recent entries.<br/>" " • GoTo page: Fix segfault when entering page numbers greater than comic's page count(toolbar and page flow).<br/>" " • Initialize GotoFlow on current page, not cover.<br/>" " • GotoFlow with Quick navigation mode: Fix page index error when using both mouse and keyboard for navigation.<br/>" " • Support HDPI screens.<br/>" " • Use one wheel mouse step per page in full page mode.<br/>" " • (Linux) Add updated MIME types to .desktop file for .cbz and .cbr.<br/>" " • New settings to control page turning behaviour on scroll.<br/>" " • Make forward and backward buttons in a mouse turn pages.<br/>" " • Don't crash if bookmarks get corrupt for some reason.<br/>" " • Magnifying glass fixes and improvements.<br/>" "<br/>" "<span style=\"font-weight:600\">YACReaderLibrary</span><br/>" " • Support HDPI screens. <br/>" " • Support import legacy XML info in comic files.<br/>" " • Enable arrow keys navigation in the folders tree view.<br/>" " • Add `Publication Date` column to the comics table view.<br/>" " • Use a scale effect in the comics grids on mouse over.<br/>" " • Fix selection when clicking on a folder in search mode.<br/>" " • Add system info to the help/about dialog to help reporting bugs.<br/>" " • Fix defaul value for manga/comic mode in folders.<br/>" " • Add an edit for filtering series results returned by Comic Vine.<br/>" " • Support editing comics tags sequentially without leaving the edit dialog.<br/>" " • Fix export/import comics info.<br/>" "<br/>" "<span style=\"font-weight:600\">Server</span><br/>" " • Always serve a cover image to the iOS client for any folder that has content (requeries a library content update). <br/>" "<br/>" "I hope you enjoy the new update. Please, if you like YACReader consider to become a patron in <a href=\"https://www.patreon.com/yacreader\" style=\"color:#E8B800;\">Patreon</a> or donate some money using <a href=\"https://www.paypal.com/donate?business=5TAMNQCDDMVP8&item_name=Support+YACReader\" style=\"color:#E8B800;\">Pay-Pal</a> and help keeping the project alive. Remember that there is an iOS version available in the <a href=\"https://apps.apple.com/app/id635717885\" style=\"color:#E8B800;\">Apple App Store</a>."); QFont textLabelFont("Arial", 15, QFont::Light); text->setFont(textLabelFont); text->setStyleSheet("padding:51px;" "background-color:transparent;" "color:#0A0A0A;"); text->setWordWrap(true); text->setOpenExternalLinks(true); contentLayout->addItem(new QSpacerItem(0, 50), 0, 0); contentLayout->addWidget(headerImageLabel, 1, 0, Qt::AlignTop | Qt::AlignHCenter); contentLayout->addWidget(headerLabel, 1, 0, Qt::AlignTop | Qt::AlignHCenter); contentLayout->addWidget(versionLabel, 2, 0, Qt::AlignTop | Qt::AlignHCenter); contentLayout->addWidget(text, 3, 0, Qt::AlignTop); contentLayout->setRowStretch(3, 1); content->setLayout(contentLayout); mainLayout->addWidget(scrollArea); // containerLayout->addWidget(content); scrollArea->setWidget(content); scrollArea->setWidgetResizable(true); this->setLayout(mainLayout); auto closeButton = new QPushButton(this); closeButton->setFlat(true); closeButton->setStyleSheet("background-color:transparent;"); auto closeIcon = QPixmap(":/images/custom_dialog/custom_close_button.svg"); if (!closeIcon.isNull()) { closeButton->setIcon(QPixmap(":/images/custom_dialog/custom_close_button.svg")); closeButton->setIconSize(QSize(44, 44)); closeButton->setFixedSize(44, 44); closeButton->move(656, 20); } else { closeButton->setText(tr("Close")); auto font = closeButton->font(); font.setPointSize(16); closeButton->setFont(font); closeButton->move(616, 20); } scrollArea->setFixedSize(720, 640); setFixedSize(720, 640); setModal(true); connect(closeButton, &QPushButton::clicked, this, &QDialog::close); }