#include "mainwindow.h"
#include <QApplication>
#include <QFileDialog>
#include <QPushButton>
#include <QSlider>
MainWindow::MainWindow(QWidget *parent)
    : QMainWindow(parent)
{
    // Główny kontener podzielony na dwie części
    splitter = new QSplitter(this);

    leftMenu = new QWidget(splitter);
    QVBoxLayout *menuLayout = new QVBoxLayout(leftMenu);

    QPushButton *openButton = new QPushButton("Otwórz katalog", leftMenu);
    menuLayout->addWidget(openButton);
    menuLayout->addStretch();
    QLabel *sliderLabel = new QLabel("Liczba kolumn: 3", leftMenu);  // Etykieta pokazująca wartość suwaka
    QSlider *columnsSlider = new QSlider(leftMenu);
    menuLayout->addWidget(columnsSlider);
    columnsSlider->setMinimum(1);  // Minimalna liczba kolumn
    columnsSlider->setMaximum(10); // Maksymalna liczba kolumn
    columnsSlider->setValue(5);


    imageGallery = new ImageGallery(splitter); //ustawianie galerii


    //ustawienie wsyzstkiego razem w jednym miejscu
    splitter->addWidget(leftMenu);
    splitter->addWidget(imageGallery);



    splitter->setSizes({static_cast<int>(width() * 0.2), static_cast<int>(width() * 0.8)});
    setCentralWidget(splitter);

    setWindowTitle("Kallery Image Gallery");
    resize(800, 600);

    connect(openButton, &QPushButton::clicked, this, [this]() {
        QDir sciezka = QFileDialog::getExistingDirectory(this, "Wybierz katalog", QDir::homePath());
        if (!sciezka.isEmpty()) {
            imageGallery->addImagesFromDirectory(sciezka);
        }
    });

    connect(columnsSlider, &QSlider::valueChanged, this, [this, sliderLabel](int value){
        sliderLabel->setText("Liczba kolumn: " + QString::number(value));
        imageGallery->setColumns(value);
    });

    imageGallery->setColumns(3);
    QDir sciezka = QFileDialog::getExistingDirectory(this,"Select folder", QDir::homePath()); //dodaje okno dialogowe do wyboru
    imageGallery->addImagesFromDirectory(sciezka);
}

MainWindow::~MainWindow()
{
}
