Files
Kallery/mainwindow.cpp

61 lines
2.0 KiB
C++

#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()
{
}