1 #include "mainwindow.h"
2 #include "ui_mainwindow.h"
3 #include "progressdialog.h"
8 MainWindow::MainWindow(QWidget *parent)
9 : QMainWindow(parent), ui(new Ui::MainWindowClass)
12 ui->set->setVisible(false);
15 MainWindow::~MainWindow()
21 void MainWindow::openFile () {
22 QFileDialog *dialog = new QFileDialog(this,QString(),QString(),"*.png *.jpg");
23 connect (dialog,SIGNAL(fileSelected(QString)),this,SLOT(getImage(QString)));
28 void MainWindow::getImage (QString image) {
29 QTextStream out (stdout);
31 basicImage = new QPixmap (image);
32 if (!(basicImage->height()==480&&basicImage->width()==3200)){
33 out << "show Warning!" << endl;
34 basicImage = new QPixmap (basicImage->scaled(3200,480));
37 QPixmap showImage = basicImage->scaled(640,96);
38 out << basicImage->height() << endl;
39 QLabel *origLabel = new QLabel (ui->originalImage);
40 origLabel->setGeometry (0,0,650,110);
41 origLabel->setPixmap (showImage);
42 ui->crop->setEnabled(true);
47 void MainWindow::cropImage () {
48 img_1 = new QPixmap(basicImage->copy(0,0,800,480));
49 QLabel *img1Label = new QLabel (ui->image_1);
50 img1Label->setPixmap(img_1->scaled(160,96));
51 img1Label->setGeometry (0,0,160,99);
54 img_2 = new QPixmap(basicImage->copy(800,0,800,480));
55 QLabel *img2Label = new QLabel (ui->image_2);
56 img2Label->setPixmap(img_2->scaled(160,96));
57 img2Label->setGeometry (0,0,160,99);
60 img_3 = new QPixmap(basicImage->copy(1600,0,800,480));
61 QLabel *img3Label = new QLabel (ui->image_3);
62 img3Label->setPixmap(img_3->scaled(160,96));
63 img3Label->setGeometry (0,0,160,99);
66 img_4 = new QPixmap(basicImage->copy(2400,0,800,480));
67 QLabel *img4Label = new QLabel (ui->image_4);
68 img4Label->setPixmap(img_4->scaled(160,96));
69 img4Label->setGeometry (0,0,160,99);
72 ui->install->setEnabled(true);
76 void MainWindow::installImageSet () {
77 nameDialog =new NameDialog(this);
78 nameDialog->setWindowTitle ("Choose a name");
79 connect (nameDialog, SIGNAL (nameEntered(QString)),this,SLOT(installImageSetWithName(QString)));
84 void MainWindow::installImageSetWithName(QString name) {
85 QTextStream out (stdout);
87 ProgressDialog *progress = new ProgressDialog (this);
88 connect (this,SIGNAL (installationStatusUpdate(int)),progress,SLOT(updateInstallationStatus(int)));
89 connect (this,SIGNAL (installationFinished()),progress,SLOT(installationFinished()));
92 QString base = "/home/user/MyDocs/.images/";
96 QString filename = base +name;
98 if (QFileInfo (filename+"1.png").exists()) {
100 QString basic_filename (filename);
101 while (QFileInfo (filename+"-1.png").exists()) {
102 filename=basic_filename+"-"+QString::number(i);
106 emit installationStatusUpdate(10);
108 suc = img_1->save(filename+"-1.png");
110 emit installationStatusUpdate(30);
111 suc = img_2->save(filename+"-2.png");
114 emit installationStatusUpdate(50);
115 suc = img_3->save(filename+"-3.png");
118 emit installationStatusUpdate(70);
119 suc = img_4->save(filename+"-4.png");
122 emit installationStatusUpdate(90);
123 //create install file
124 QFile file (base + "."+name+".desktop");
125 if (!file.open(QIODevice::WriteOnly | QIODevice::Text)) {
126 out << "fileerror " + file.fileName()<< endl;
129 QTextStream file_writer (&file);
130 file_writer << "[Desktop Entry]\nType=Background Image\nName="+name+"\nHidden=true" << endl;
131 file_writer << "X-File1="+filename+"-1.png" << endl;
132 file_writer << "X-File2="+filename+"-2.png" << endl;
133 file_writer << "X-File3="+filename+"-3.png" << endl;
134 file_writer << "X-File4="+filename+"-4.png" << endl;
135 file_writer << "X-Order=1" << endl;
137 emit installationFinished();
142 disconnect (this,SIGNAL (installationStatusUpdate(int)),progress,SLOT(updateInstallationStatus(int)));
143 disconnect (this,SIGNAL (installationFinished()),progress,SLOT(installationFinished()));