![]() |
OpenAlbum 1.0.b
|
00001 #include "fotoswizard.h" 00002 #include "ui_fotoswizard.h" 00003 #include "finwizard.h" 00004 00005 fotosWizard::fotosWizard(QWidget *parent, FormPrincipal *form_) : 00006 QWizardPage(parent), 00007 ui(new Ui::fotosWizard) 00008 { 00009 ui->setupUi(this); 00010 ui->treeWidget->setStyle(new QWindowsStyle); 00011 ui->imagePreview->setStyle(new QWindowsStyle); 00012 this->form=form_; 00013 this->cancelar=false; 00014 ui->treeWidget->setHeaderLabel(" "); 00015 ui->treeWidget->resizeColumnToContents(0); 00016 this->ui->groupBox->setStyle(new QWindowsStyle); 00017 for(int cont=2; cont<4; cont++){ 00018 ui->treeWidget->resizeColumnToContents(cont); 00019 } 00020 00021 QGraphicsScene *escenaPrev; 00022 QImage *imgPrev; 00023 00024 try{ 00025 escenaPrev = new QGraphicsScene(); 00026 this->ui->imagePreview->setScene(escenaPrev); 00027 imgPrev = new QImage(); 00028 }catch(std::exception& e){ 00029 Error *err=new Error(2, e.what(), this); 00030 err->LanzarDialogo(); 00031 delete err; 00032 exit(1); 00033 } 00034 try{ 00035 imgPrev->load(this->form->GetDirectorioDeTrabajo().absolutePath() + "/data/imagePrevCol.png"); 00036 if(imgPrev->isNull()){ 00037 throw std::ios_base::failure(tr("No pudo previsualizarse la imagen.").toStdString()); 00038 } 00039 }catch(std::exception& e){ 00040 Error *err=new Error(4, e.what(), this); 00041 err->LanzarDialogo(); 00042 delete err; 00043 exit(1); 00044 } 00045 00046 QPixmap imagePrev=QPixmap::fromImage(*imgPrev); 00047 00048 this->ui->imagePreview->scene()->addPixmap(imagePrev.scaled(181, 141, Qt::IgnoreAspectRatio, Qt::SmoothTransformation)); 00049 this->ui->imagePreview->setStyleSheet("background: transparent; border: none"); 00050 delete imgPrev; 00051 QIcon *iconoVentana=new QIcon(form_->GetDirectorioDeTrabajo().absolutePath() + "/data/iconlargue.png"); 00052 this->setWindowIcon(*iconoVentana); 00053 delete iconoVentana; 00054 } 00055 00056 fotosWizard::~fotosWizard() 00057 { 00058 delete ui; 00059 } 00060 00061 void fotosWizard::setCancelar(){ 00062 this->cancelar=true; 00063 } 00064 00065 bool fotosWizard::Cancelar(){ 00066 return this->cancelar; 00067 } 00068 00069 bool fotosWizard::isCommitPage() const{ 00070 return false; 00071 } 00072 00073 bool fotosWizard::isComplete() const{ 00074 if(ui->treeWidget->topLevelItemCount()<=0){ 00075 return false; 00076 }else{ 00077 return true; 00078 } 00079 } 00080 00081 bool fotosWizard::validatePage(){ 00082 this->wizard()->hide(); 00083 this->form->CrearPaginas(true); 00084 if(this->Cancelar()){ 00085 this->wizard()->setResult(QDialog::Rejected); 00086 this->wizard()->removePage(this->wizard()->pageIds().size()-1); 00087 00088 this->wizard()->addPage(this->form->crearPaginaFinal(true)); 00089 }else{ 00090 this->wizard()->setResult(QDialog::Accepted); 00091 } 00092 this->wizard()->show(); 00093 return true; 00094 } 00095 00096 void fotosWizard::IntroducirImagenes(){ 00097 this->form->openFiles(true); 00098 QAbstractButton *button=wizard()->button(QWizard::NextButton); 00099 00100 if(this->isComplete()){ 00101 button->setEnabled(true); 00102 00103 }else{ 00104 button->setDisabled(true); 00105 } 00106 } 00107 00108 void fotosWizard::SeleccionarTodo(){ 00109 this->form->checkAllItems(true); 00110 QAbstractButton *button=wizard()->button(QWizard::NextButton); 00111 00112 if(this->isComplete()){ 00113 button->setEnabled(true); 00114 }else{ 00115 button->setDisabled(true); 00116 } 00117 } 00118 00119 void fotosWizard::DeseleccionarTodo(){ 00120 this->form->uncheckItems(true); 00121 QAbstractButton *button=wizard()->button(QWizard::NextButton); 00122 00123 if(this->isComplete()){ 00124 button->setEnabled(true); 00125 }else{ 00126 button->setDisabled(true); 00127 } 00128 } 00129 00130 void fotosWizard::Deseleccionar(){ 00131 this->form->removeItems(true); 00132 QAbstractButton *button=wizard()->button(QWizard::NextButton); 00133 00134 if(this->isComplete()){ 00135 button->setEnabled(true); 00136 }else{ 00137 button->setDisabled(true); 00138 } 00139 } 00140 00141 void fotosWizard::cargarVisualizacionPrevia(){ 00142 this->form->loadImagePreview(true); 00143 QAbstractButton *button=wizard()->button(QWizard::NextButton); 00144 00145 if(this->isComplete()){ 00146 button->setEnabled(true); 00147 }else{ 00148 button->setDisabled(true); 00149 } 00150 }