diff --git a/main.cpp b/main.cpp index 2fdcfb96120c0d71954aa68c9f6fe2791e2775f6..9f739f2b42043f212b58d728b5b107a9190223cb 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 f7c0db68929bc1fcbfdfe3cce49ff90c57dd7a7e..0b5bbd58fe42a6024f554045bd2271a54e95ec1d 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 1eba77a58dcbe9cfee291e3bd08b03b011714f29..accfcf5a4f575899df4a228d8ee82de0cf0ba240 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 fc9e102289dd7f46993700a0e65686aac68dd492..88404a8a561e57a866c5dc4d3462c28d70702714 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>