00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #include <qwidget.h>
00019 #include <qlayout.h>
00020 #include <qlabel.h>
00021
00022
00023 #include "layoutWidget.h"
00024 #include "window.h"
00025 #include "subalbumsWidget.h"
00026 #include "subalbumWidget.h"
00027 #include "photoEditWidget.h"
00028 #include "../backend/subalbum.h"
00029 #include "../backend/photo.h"
00030
00031
00032 LayoutWidget::LayoutWidget(QWidget *parent,
00033 const char* name ) : QWidget(parent,name)
00034 {
00035 window = (Window*)parent;
00036
00037 subalbums = new SubalbumsWidget( this, "subalbums" );
00038 subalbum = NULL;
00039
00040
00041 grid = new QGridLayout( this, 1, 2, 0 );
00042 grid->addWidget( subalbums, 0, 0 );
00043
00044
00045
00046
00047 photoEdit = new PhotoEditWidget( this, "photo edit" );
00048 grid->addWidget( photoEdit, 0, 1 );
00049 photoEdit->hide();
00050
00051 grid->setColStretch( 1, 1 );
00052
00053
00054 setPaletteBackgroundColor( QColor(255, 255, 255) );
00055 }
00056
00057 void LayoutWidget::updateSubalbum(Subalbum* salbum, bool oldExists)
00058 {
00059
00060 if(subalbum != NULL && salbum == subalbum->getSubalbum())
00061 return;
00062
00063
00064 if(subalbum != NULL)
00065 {
00066
00067 if(oldExists)
00068 subalbum->syncPhotos();
00069
00070
00071 if(salbum != NULL)
00072 {
00073 subalbum->setSubalbum(salbum);
00074 }
00075
00076 else
00077 {
00078 delete subalbum;
00079 subalbum = NULL;
00080 }
00081 }
00082
00083 else if(salbum != NULL)
00084 {
00085
00086 subalbum = new SubalbumWidget( salbum, this, "subalbum" );
00087
00088
00089 grid->addWidget( subalbum, 0, 1 );
00090 subalbum->show();
00091 subalbum->refreshPhotos();
00092 }
00093 }
00094
00095 void LayoutWidget::updateSubalbumName(const QString& val)
00096 {
00097 subalbums->updateSubalbumName(val);
00098 }
00099
00100 void LayoutWidget::updateSubalbumImage( QPixmap* val)
00101 {
00102 subalbums->updateSubalbumThumbnail(val);
00103 }
00104
00105 SubalbumWidget* LayoutWidget::getSubalbum()
00106 {
00107 return subalbum;
00108 }
00109
00110 SubalbumsWidget* LayoutWidget::getSubalbums()
00111 {
00112 return subalbums;
00113 }
00114
00115 Window* LayoutWidget::getWindow()
00116 {
00117 return window;
00118 }
00119
00120 void LayoutWidget::refresh()
00121 {
00122 subalbums->refresh();
00123 }
00124
00125 void LayoutWidget::editPhoto(Photo* photo)
00126 {
00127
00128 if(photo == NULL)
00129 return;
00130
00131
00132 if(subalbum != NULL)
00133 subalbum->hide();
00134
00135
00136 photoEdit->setPhoto(photo);
00137
00138
00139 photoEdit->show();
00140 }
00141
00142 void LayoutWidget::stopEdit(bool oldExists)
00143 {
00144
00145
00146 photoEdit->hide();
00147 if(subalbum != NULL)
00148 {
00149 subalbum->show();
00150 if(oldExists)
00151 subalbum->refreshSelectedPhotos();
00152 }
00153 }
00154