OpenAlbum 1.0.b

/home/manuel/PFC/open-album/OpenAlbum-Unix/formprincipal.h

00001 /*
00002     Copyright © 2011 Manuel Jesús de la Calle Brihuega   
00003  
00004     This file is part of open Album.
00005 
00006     Open Album is free software: you can redistribute it and/or modify
00007     it under the terms of the GNU General Public License as published by
00008     the Free Software Foundation, either version 3 of the License, or
00009     (at your option) any later version.
00010 
00011     Open Album is distributed in the hope that it will be useful,
00012     but WITHOUT ANY WARRANTY; without even the implied warranty of
00013     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00014     GNU General Public License for more details.
00015 
00016     You should have received a copy of the GNU General Public License
00017     along with open Album.  If not, see <http://www.gnu.org/licenses/>.
00018 */
00019 #ifndef FORMPRINCIPAL_H
00020 #define FORMPRINCIPAL_H
00021 
00022 #include <QMainWindow>
00023 #include <QMainWindow>
00024 #include <QtGui>
00025 #include <QFileInfo>
00026 #include <QList>
00027 #include <QSettings>
00028 #include "Portada.h"
00029 #include "formtextoclass.h"
00030 #include "fondodialog.h"
00031 #include "dialogtamanno.h"
00032 #include "dialogcreacionpaginas.h"
00033 #include "eleccionorden.h"
00034 #include "album.h"
00035 #include "portadawizard.h"
00036 #include "fondoportadawizard.h"
00037 #include "tamannowizard.h"
00038 #include "fotoswizard.h"
00039 #include "controladorresolucion.h"
00040 #include "introduccionwizard.h"
00041 
00084 class portadaWizard;
00085 class fotosWizard;
00086 class fondoPortadaWizard;
00087 class introduccionWizard;
00088 
00089 namespace Ui {
00090     class FormPrincipal;
00091 }
00092 
00094 
00102 class AtributosdeImagen
00103 {
00104 public:
00105     QString completeFileName; 
00106     QString fileName; 
00107     QString suffix; 
00108     qint64 size; 
00109 };
00110 
00112 
00134 class FormPrincipal : public QMainWindow
00135 {
00136     Q_OBJECT
00137 
00138 public:
00139     
00149     explicit FormPrincipal(QWidget *parent = 0, controladorResolucion *controlador=0, QDir directorioDeTrabajo=QDir());
00150     
00157     ~FormPrincipal();
00158     
00167     void CreacionPaginasFijas(QString file, QString fondo);
00168     
00177     void CreacionPaginasFijas(QString file, QColor colorfondo);
00178     
00185     void CreacionPaginasAleatorias();
00186     
00192     void GenerarPaginasFijas();
00193     
00199     void GenerarPaginasAleatorias();
00200     
00208     bool CreacionPaginasPersonalizadas();
00209     
00215     void GenerarPaginasPersonalizadas();
00216     
00222     void aplicarDimensiones();
00223     
00232     void cargarDimensiones(int w, int h);
00233     
00241     bool seleccionadoFondoPortada();
00242     
00250     bool seleccionadoFrontalPortada();
00251     
00259     bool seleccionadoTraseraPortada();
00260     
00268     bool seleccionadaPlantilla();
00269     
00277     QWizardPage *crearPaginaIntro();
00278     
00286     QWizardPage *crearPaginaPortada();
00287     
00295     QWizardPage *crearPaginaFondoPortada();
00296     
00304     QWizardPage *crearPaginaFotos();
00305     
00313     QWizardPage *crearPaginaTamanno();
00314     
00323     QWizardPage *crearPaginaFinal(bool cambio=false);
00324     
00332     QColor GetColorAleatorio();
00333     
00343     QString GetPlantillaAleatoria(int numFotos=0);
00344     
00352     QString GetRutaGuardado();
00353     
00361     QString GetFechaCreacion();
00362     
00370     QDir GetDirectorioDeTrabajo();
00371     
00379     Album* getAlbum();
00380     
00386     void activarCreadoconAsistente();
00387     
00395     bool getCreadoconAsistente();
00396     
00404     bool getUsadasTexturas();
00405     
00413     bool getCreadasPaginas();
00414     
00422     bool getOrdenacionPersonalizada();
00423     
00431     bool getOrdenacionAlfabetica();
00432     
00440     bool getOrdenacionFechaCreciente();
00441     
00449     bool getOrdenacionFechaDecreciente();
00450     
00458     bool getPaginasPersonalizadas();
00459     
00467     bool getPaginasFijas();
00468     
00476     bool getPaginasAleatorias();
00477     
00478     std::vector<QGraphicsView*> miniaturas; 
00479     std::vector<QGraphicsView*> miniaturasTexturas; 
00480     std::vector<QGraphicsView*> miniaturasMarcos; 
00484 public slots:
00485 
00491     void AddTextura();
00492     
00498     void Guardar();
00499     
00507     void Cargar(QString AbrirDialog="si");
00508     
00514     void Cargar0();
00515     
00521     void Cargar1();
00522     
00528     void Cargar2();
00529     
00535     void Cargar3();
00536     
00542     void Cargar4();
00543     
00549     void Cargar5();
00550     
00556     void Cargar6();
00557     
00563     void MostrarLineasPaginas();
00564     
00570     void MostrarLineasPortada();
00571     
00577     void GuardarComo();
00578     
00584     void LanzarDialogPropiedades();
00585     
00594     void Exportar(bool pdf=false, bool jpg=false);
00595     
00601     void ExportarPDF();
00602     
00608     void ExportarJPG();
00609     
00615     void BotonEditar();
00616     
00622     void BotonTerminar();
00623     
00629     void Imprimir();
00630     
00638     void NuevoAlbum(bool pregunta=true);
00639     
00645     void EditarTamannoAlbum();
00646     
00652     void Eliminar();
00653     
00659     void MostrarPagina();
00660     
00666     void MostrarPaginaAnterior();
00667     
00675     void LanzarFormTexto(QWidget *parent=0);
00676     
00684     void LanzarWizard(bool visible=true);
00685     
00691     void ActivarEdicion();
00692     
00698     void ActivarEdicionPagina();
00699     
00705     void DesactivarEdicion();
00706     
00712     void DesactivarEdicionPagina();
00713     
00721     void LanzarSelectorFondoPortada(QWidget *parent=0);
00722     
00730     void ActivarSeleccionPlantilla(bool wizard=false);
00731     
00737     void SeleccionarFotoFrontal();
00738     
00744     void SeleccionarFotoTrasera();
00745     
00753     void visualizarPlantilla(bool wizard=false);
00754     
00760     void CargarPreview();
00761     
00767     void MostrarBarraHerramientas();
00768     
00774     void MostrarBarraArchivo();
00775     
00781     void MostrarBarraEdicion();
00782     
00788     void MostrarBarraEliminacion();
00789     
00795     void MostrarBarraExportacion();
00796     
00802     void MostrarBarraGuardado();
00803     
00809     void MostrarBarraImagenes();
00810     
00816     void MostrarBarraPaginas();
00817     
00823     void MostrarBarraPropiedades();
00824     
00830     void LanzarCreditos();
00831     
00837     void EnviarEmail();
00838     
00844     void MostrarAyuda();
00845     
00851     void MostrarLicencia();
00852     
00858     void LanzarTamanno();
00859     
00865     void CloseApp();
00866     
00874     void CrearPaginas(bool wizard=false);
00875     
00883     void addFiles(bool wizard=false);
00884     
00892     void openFiles(bool wizard=false);
00893     
00901     void checkAllItems(bool wizard=false);
00902     
00910     void uncheckItems(bool wizard=false);
00911     
00919     void removeItems(bool wizard=false);
00920     
00928     void loadImagePreview(bool wizard=false);
00929     
00935     void ResetSelectorPlantilla();
00936     
00942     void edicionGeneral();
00943     
00944     
00950     void terminarEdicionGeneral();
00951     
00952 private:
00953     
00954     Ui::FormPrincipal *ui;
00955     Album *a;
00956     QWizard *wizard;
00957     formTextoClass *formTexto;
00958     fondoPortadaWizard *fondoPortada;
00959     fotosWizard *fotos;
00960     introduccionWizard *intro;
00961     portadaWizard *portada;
00962     controladorResolucion *controlador;
00963     unsigned IndicePaginas;
00964     int indiceNumerosAleatorios;
00965     float dimensionWpagina, dimensionHpagina;
00966     QList <float> posXFotoDesplazada;
00967     QList <float> posYFotoDesplazada;
00968     QList <float> posXTextoDesplazado;
00969     QList <float> posYTextoDesplazado;
00970     QList <QString> paginasDesplazadas;
00971     QMap <int,QString> nombresAlbumsCreadosRecientemente;
00972     QList <float> edicionPortadaFinalX;
00973     QList <float> edicionPortadaFinalY;
00974     typedef QList <float> tipoLista;
00975     typedef struct{ float x, y; int tipo;} tipoCoordenadas;
00976     typedef QList <tipoCoordenadas> tipoPosicionesItems;
00977     QString directorioCasaUsuario;
00978     QString readableFiltersString;
00979     QString portadaDesplazada;
00980     QString rutaGuardado;
00981     QString fechaCreacion;
00982     QDir directoriodetrabajo;
00983     QList <float> posXFotoDesplazadaPortada;
00984     QList <float> posYFotoDesplazadaPortada;
00985     QList <float> posXTextoDesplazadoPortada;
00986     QList <float> posYTextoDesplazadoPortada;
00987     QList<int> numerosAleatorios;
00988     QList<AtributosdeImagen> iAList;
00989     QList <tipoLista> edicionPaginaFinalX;
00990     QList <tipoLista> edicionPaginaFinalY;
00991     QList <tipoLista> desplazamientoPaginaFinalX;
00992     QList <tipoLista> desplazamientoPaginaFinalY;
00993     QList <tipoCoordenadas> posicionesItemsPortada;
00994     QList <tipoPosicionesItems> posicionesItemsPaginas;
00995     bool inicializarDespl;
00996     bool elegidoFondoPortada, elegidaFrontalPortada, elegidaTraseraPortada, elegidoTexto;
00997     bool ordenAlfabetico, ordenFechaCreciente, ordenFechaDecreciente, ordenPersonalizado;
00998     bool seleccionadaTextura;
00999     bool creadoConAsistente;
01000     bool necesitaTrasera;
01001     bool seHaCargado;
01002     bool aceptadaEliminacion;
01003     bool preguntaSeguridad;
01004     bool semillaInicializada; 
01005     bool activadoVisualizadorPrincipal;
01006     bool creadaPortada;
01007     bool activadaCarga;
01008     bool ejecutadoWizard;
01009     bool ActivadoVisorImagenes;
01010     bool DesactivarParteEdicion;
01011     bool DesactivarParteEdicionPortada;
01012     bool creadasPaginas;
01013     bool ActivadoGuardado;
01014     bool hayDesplazamientoPortadaTextos, hayDesplazamientoPortadaFotos;
01015     bool hayDesplazamientoPagina;
01016     bool elegidaPlantilla;
01017     bool mostrandosePaginaActualmente;
01018     bool paginasFijas, paginasPersonalizadas, paginasAleatorias;
01019     bool insertadoActionSalir;
01020     bool nadacreado;
01021     QToolBar *barra;
01022     //Métodos privados
01023     void EliminarAlbum(QString album, bool activarPregunta);
01024     void deleteItems(int selectedItems);
01025     void resetDisplays();
01026     int GetNumeroAleatorio(int Min, int Max);
01027     void closeEvent(QCloseEvent* evento);
01028     
01029 };
01030 
01031 #endif // FORMPRINCIPAL_H
 Todo Clases Archivos Funciones Variables