diff options
Diffstat (limited to 'src/mainwindow.cpp')
-rw-r--r-- | src/mainwindow.cpp | 16 |
1 files changed, 7 insertions, 9 deletions
diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index 447cf0c..eacd486 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -1,12 +1,17 @@ #include "mainwindow.h" +#include "scaleform.h" #include "ui_mainwindow.h" #include <QApplication> #include <QPixmap> #include <QResizeEvent> +ScaleForm *scaleForm = nullptr; + MainWindow::MainWindow(const QStringList &filePaths, QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow) { + scaleForm = new ScaleForm(this); ui->setupUi(this); + ui->menubar->setCornerWidget(scaleForm); connect(ui->actionQuit, &QAction::triggered, qApp, &QApplication::quit); @@ -16,11 +21,6 @@ MainWindow::MainWindow(const QStringList &filePaths, QWidget *parent) fit(); } - connect(ui->ori_toolButton, &QToolButton::clicked, [this]() { scale(1.0); }); - connect(ui->fit_toolButton, &QToolButton::clicked, [this]() { fit(); }); - - connect(ui->scale_slider, &QSlider::sliderMoved, - [this](int value) { scale(static_cast<double>(value) / 100.0f); }); } MainWindow::~MainWindow() { delete ui; } @@ -40,14 +40,12 @@ void MainWindow::fit() { ui->label->setPixmap( current.scaled(scaleSize, Qt::KeepAspectRatio, Qt::SmoothTransformation)); - ui->scale_slider->setValue(scale); - ui->scale_label->setText(scale_format.arg(scale)); + scaleForm->setScale(scale); } void MainWindow::scale(double scale) { const auto scaleSize = current.size() * scale; ui->label->setPixmap( current.scaled(scaleSize, Qt::KeepAspectRatio, Qt::SmoothTransformation)); - ui->scale_slider->setValue(scale * 100); - ui->scale_label->setText(scale_format.arg(scale * 100)); + scaleForm->setScale(scale * 100); } |