1 #include "mainwindow.h"
2 #include "ui_mainwindow.h"
4 QString dirLocation;
6 MainWindow::MainWindow(QWidget *parent) :
7 QMainWindow(parent),
8 ui(new Ui::MainWindow)
9 {
11 ui->setupUi(this);
14 currentIndex = 0;
16 QStringList filters;
17 filters << "*.jpeg" << "*.jpg";
19 imagesDir = new QDir (dirLocation);
21 imagesDir->setFilter(QDir::Files);
22 imagesDir->setNameFilters( filters);
23 imagesDir->setSorting(QDir::Name);
24 imagesList = imagesDir->entryList();
27 ui->prevImage->setEnabled(false);
28 if(imagesList.count() == 0 || imagesList.count() == 1) {
30 ui->nextImage->setEnabled(false);
32 if(imagesList.count() == 0) {
33 ui->label->clear();
34 ui->label->setText("No images found");
35 ui->clearImages->setEnabled(false);
36 }
37 }
38 }
40 MainWindow::~MainWindow()
41 {
42 delete ui;
43 }
46 void MainWindow::on_prevImage_clicked()
47 {
48 currentIndex--;
49 if(currentIndex <= 0)
50 ui->prevImage->setEnabled(false);
52 if(currentIndex < imagesList.count())
53 ui->nextImage->setEnabled(true);
55 displayImage(currentIndex);
56 }
58 void MainWindow::on_clearImages_clicked()
59 {
61 QMessageBox::StandardButton reply;
62 reply = QMessageBox::question(this,"Delete Confirmation","Delete image?",QMessageBox::Yes|QMessageBox::No);
64 if(reply == QMessageBox::No)
65 return;
67 ui->nextImage->setEnabled(false);
68 ui->prevImage->setEnabled(false);
70 QStringList clearList = imagesDir->entryList();
73 imagesDir->remove(clearList[currentIndex]);
75 imagesDir->refresh();
77 imagesList = imagesDir->entryList();
79 currentIndex--;
81 if(currentIndex < 0)
82 currentIndex = 0;
84 ui->nextImage->setEnabled(false);
85 ui->prevImage->setEnabled(false);
87 if(imagesList.count() > 1 && imagesList.count() -1 > currentIndex)
88 ui->nextImage->setEnabled(true);
90 if(currentIndex > 0)
91 ui->prevImage->setEnabled(true);
93 if(imagesList.count() >= 1)
94 displayImage(currentIndex);
95 else {
96 ui->clearImages->setEnabled(false);
97 ui->label->clear();
98 ui->label->setText("No images found");
99 }
102 }
104 void MainWindow::on_nextImage_clicked()
105 {
106 currentIndex++;
107 if(currentIndex >= imagesList.size()-1)
108 ui->nextImage->setEnabled(false);
110 ui->prevImage->setEnabled(true);
112 displayImage(currentIndex);
114 }
116 void MainWindow::displayImage(int index) {
118 int width = ui->label->width();
119 int height = ui->label->height();
120 QPixmap image;
121 image.load(dirLocation+imagesList[index]);
122 image = image.scaled(width,height,Qt::KeepAspectRatio);
123 ui->label->setPixmap(image);
125 }
127 void MainWindow::on_pushButton_clicked()
128 {
129 this->close();
130 }
131 void MainWindow::resizeEvent(QResizeEvent *ev)
132 {
133 QMainWindow::resizeEvent(ev);
135 if(imagesList.count() > 0)
136 displayImage(currentIndex);
137 }