00001 //============================================== 00002 // copyright : (C) 2003 by Will Stokes 00003 //============================================== 00004 // This program is free software; you can redistribute it 00005 // and/or modify it under the terms of the GNU General 00006 // Public License as published by the Free Software 00007 // Foundation; either version 2 of the License, or 00008 // (at your option) any later version. 00009 // 00010 // As a special exception, Will Stokes gives permission to 00011 // link this program with Qt non-commercial edition, and 00012 // distribute the resulting executable, without including the 00013 // source code for the Qt non-commercial edition in the 00014 // source distribution. 00015 //============================================== 00016 00017 #ifndef GUI_SUBALBUMSWIDGET_H 00018 #define GUI_SUBALBUMSWIDGET_H 00019 00020 //forward declarations 00021 class QGridLayout; 00022 class QLabel; 00023 class QIconViewItem; 00024 class QPixmap; 00025 class QPushButton; 00026 class LayoutWidget; 00027 class SubalbumsIconView; 00028 00029 #include <qwidget.h> 00030 00031 //===================================== 00034 //===================================== 00035 00036 class SubalbumsWidget : public QWidget 00037 { 00038 Q_OBJECT 00039 00040 public: 00042 SubalbumsWidget(QWidget *parent=0, 00043 const char* name=0); 00044 00046 ~SubalbumsWidget(); 00047 00049 void updateSubalbumName(const QString& val); 00050 00052 void updateSubalbumThumbnail( QPixmap* val); 00053 00055 void refresh(); 00056 00058 LayoutWidget* getParent(); 00059 00061 void updateButtons(bool enable); 00062 //---------------------- 00063 private slots: 00065 void createAction(); 00066 00068 void deleteAction(); 00069 00071 void updateSubalbumLayout( QIconViewItem* selection); 00072 void updateSubalbumLayout( QIconViewItem* selection, bool oldExists); 00073 00074 //Rearranges subalbums in grid 00075 void reorder(); 00076 //---------------------- 00077 private: 00078 00080 QGridLayout* grid; 00081 00083 QLabel* subalbumsText; 00084 00086 SubalbumsIconView* subalbums; 00087 00089 QPixmap* createSubalbumImage; 00090 00092 QPushButton* createSubalbum; 00093 00095 QPixmap* deleteSubalbumImage; 00096 00098 QPushButton* deleteSubalbum; 00099 00101 LayoutWidget* layout; 00102 00104 bool buttonsState; 00105 00107 QIconViewItem* cachedSelection; 00108 //---------------------- 00109 }; 00110 //====================== 00111 00112 #endif //GUI_SUBALBUMSWIDGET_H