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 #include <iostream.h>
00032
00033
00034 LayoutWidget::LayoutWidget(QWidget *parent,
00035 const char* name ) : QWidget(parent,name)
00036 {
00037 window = (Window*)parent;
00038
00039 subalbums = new SubalbumsWidget( this, "subalbums" );
00040 subalbum = NULL;
00041
00042
00043 grid = new QGridLayout( this, 1, 2, 0 );
00044 grid->addWidget( subalbums, 0, 0 );
00045
00046
00047
00048
00049 photoEdit = new PhotoEditWidget( this, "photo edit" );
00050 grid->addWidget( photoEdit, 0, 1 );
00051 photoEdit->hide();
00052
00053 grid->setColStretch( 1, 1 );
00054
00055 grid->addColSpacing(0, 100 );
00056
00057
00058 setPaletteBackgroundColor( QColor(255, 255, 255) );
00059 }
00060
00061 void LayoutWidget::updateSubalbum(Subalbum* salbum, bool oldExists)
00062 {
00063
00064 if(subalbum != NULL && salbum == subalbum->getSubalbum())
00065 return;
00066
00067
00068 if(subalbum != NULL)
00069 {
00070
00071 if(oldExists)
00072 subalbum->syncPhotos();
00073
00074
00075 if(salbum != NULL)
00076 {
00077 subalbum->setSubalbum(salbum);
00078 }
00079
00080 else
00081 {
00082 delete subalbum;
00083 subalbum = NULL;
00084 }
00085 }
00086
00087 else if(salbum != NULL)
00088 {
00089
00090 subalbum = new SubalbumWidget( salbum, this, "subalbum" );
00091
00092
00093 grid->addWidget( subalbum, 0, 1 );
00094 subalbum->show();
00095 subalbum->refreshPhotos();
00096 }
00097 }
00098
00099 void LayoutWidget::updateSubalbumName(const QString& val)
00100 {
00101 subalbums->updateSubalbumName(val);
00102 }
00103
00104 void LayoutWidget::updateSubalbumImage( QPixmap* val)
00105 {
00106 subalbums->updateSubalbumThumbnail(val);
00107 }
00108
00109 SubalbumWidget* LayoutWidget::getSubalbum()
00110 {
00111 return subalbum;
00112 }
00113
00114 SubalbumsWidget* LayoutWidget::getSubalbums()
00115 {
00116 return subalbums;
00117 }
00118
00119 Window* LayoutWidget::getWindow()
00120 {
00121 return window;
00122 }
00123
00124 void LayoutWidget::refresh()
00125 {
00126 subalbums->refresh();
00127 }
00128
00129 void LayoutWidget::editPhoto(Photo* photo)
00130 {
00131
00132 if(photo == NULL)
00133 return;
00134
00135
00136 if(subalbum != NULL)
00137 subalbum->hide();
00138
00139
00140 photoEdit->setPhoto(photo);
00141
00142
00143 photoEdit->show();
00144 }
00145
00146 void LayoutWidget::stopEdit(bool oldExists)
00147 {
00148
00149
00150 photoEdit->hide();
00151 if(subalbum != NULL)
00152 {
00153 subalbum->show();
00154 if(oldExists)
00155 subalbum->refreshSelectedPhotos();
00156 }
00157 }
00158