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