From e1816e24ebd9ca2f2c1df44db53ab50a778e37b0 Mon Sep 17 00:00:00 2001 From: Deurstann <tristan.derouet@gmail.com> Date: Tue, 16 Jan 2024 23:42:47 +0100 Subject: [PATCH] Various fixes --- main.cpp | 18 +++++++++++++++++- mainwindow.cpp | 17 ++++++++++++++--- mainwindow.h | 5 +++-- mainwindow.ui | 14 +++++++++++++- 4 files changed, 47 insertions(+), 7 deletions(-) diff --git a/main.cpp b/main.cpp index 2fdcfb9..9f739f2 100644 --- a/main.cpp +++ b/main.cpp @@ -3,11 +3,27 @@ #include <QApplication> #include <QFile> #include <QTextStream> +#include <QCommandLineParser> +#include <QStringList> int main(int argc, char *argv[]) { QApplication a(argc, argv); - MainWindow w; + QCoreApplication::setApplicationName("stickers-renomator-2000"); + QCoreApplication::setApplicationVersion("1.0"); + + QCommandLineParser parser; + parser.setApplicationDescription("This is an application used to efficiently rename stickers collections."); + parser.addHelpOption(); + parser.addVersionOption(); + parser.addPositionalArgument("dir", QCoreApplication::translate("dir", "[Optional] Directory where the images are located")); + parser.process(a); + const QStringList args = parser.positionalArguments(); + QString dir = ""; + if(args.size()>0){ + dir = args.at(0); + } + MainWindow w(dir); w.show(); return a.exec(); } diff --git a/mainwindow.cpp b/mainwindow.cpp index f7c0db6..0b5bbd5 100644 --- a/mainwindow.cpp +++ b/mainwindow.cpp @@ -7,7 +7,7 @@ #include <QPixmap> #include <QKeyEvent> -MainWindow::MainWindow(QWidget *parent) +MainWindow::MainWindow(QString dir, QWidget *parent) : QMainWindow(parent) , ui(new Ui::StickersRenomator2000) { @@ -15,6 +15,7 @@ MainWindow::MainWindow(QWidget *parent) MainWindow::setWindowTitle("Stickers Renomator 2000"); ui->label_2->setScaledContents(false); connect(ui->lineEdit, SIGNAL(returnPressed()),this,SLOT(on_pushButton_clicked())); + this->imageFolder = dir; } MainWindow::~MainWindow() @@ -24,8 +25,11 @@ MainWindow::~MainWindow() void MainWindow::on_actionOpen_Folder_triggered() { - this->imageFolder = QFileDialog::getExistingDirectory(this); - processImages(); + QString newImageFolder = QFileDialog::getExistingDirectory(this); + if(newImageFolder != ""){ + this->imageFolder = newImageFolder; + processImages(); + } } void MainWindow::processImages() @@ -49,6 +53,13 @@ void MainWindow::setImage() void MainWindow::resizeEvent(QResizeEvent* event) { QMainWindow::resizeEvent(event); + if(isFirstResize){ + if(this->imageFolder != ""){ + processImages(); + } + isFirstResize=false; + return; + } if(!this->currentImage.isNull()){ setImage(); } diff --git a/mainwindow.h b/mainwindow.h index 1eba77a..accfcf5 100644 --- a/mainwindow.h +++ b/mainwindow.h @@ -14,8 +14,9 @@ class MainWindow : public QMainWindow Q_OBJECT public: - MainWindow(QWidget *parent = nullptr); + MainWindow(QString dir, QWidget *parent = nullptr); ~MainWindow(); + QString imageFolder; private slots: void on_actionOpen_Folder_triggered(); @@ -31,11 +32,11 @@ private slots: private: Ui::StickersRenomator2000 *ui; - QString imageFolder; QStringList imageList; int currentImageIndex; QString currentImagePath; QPixmap currentImage; + bool isFirstResize=true; void resizeEvent(QResizeEvent *event) override; void keyPressEvent(QKeyEvent *event) override; void mousePressEvent ( QMouseEvent * event ) override; diff --git a/mainwindow.ui b/mainwindow.ui index fc9e102..88404a8 100644 --- a/mainwindow.ui +++ b/mainwindow.ui @@ -474,8 +474,20 @@ <layout class="QVBoxLayout" name="verticalLayout_2"> <item> <widget class="QLabel" name="label_2"> + <property name="minimumSize"> + <size> + <width>200</width> + <height>200</height> + </size> + </property> + <property name="baseSize"> + <size> + <width>200</width> + <height>200</height> + </size> + </property> <property name="text"> - <string>TextLabel</string> + <string/> </property> <property name="scaledContents"> <bool>true</bool> -- GitLab