![]() |
OpenAlbum 1.0.b
|
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