00001 /* 00002 * GPLv2 zecke@handhelds.org 00003 * No WArranty... 00004 */ 00005 00006 #ifndef PHUNK_ICON_VIEW_H 00007 #define PHUNK_ICON_VIEW_H 00008 00009 #include <qvbox.h> 00010 00011 00012 class QIconView; 00013 class QIconViewItem; 00014 class QComboBox; 00015 class PIconViewItem; 00016 class PDirLister; 00017 class Ir; 00018 00019 namespace Opie { 00020 namespace Core{ 00021 class OConfig; 00022 class OKeyConfigManager; 00023 } 00024 } 00025 00026 class PIconView : public QVBox { 00027 Q_OBJECT 00028 friend class PIconViewItem; 00029 enum ActionIds { 00030 BeamItem, DeleteItem, ViewItem, InfoItem,SlideItem 00031 }; 00032 public: 00033 PIconView( QWidget* wid, Opie::Core::OConfig *cfg ); 00034 ~PIconView(); 00035 void resetView(); 00036 Opie::Core::OKeyConfigManager* manager(); 00037 00038 void setDoccalled(bool); 00039 00040 static const int sMAX_ICON_SIZE; 00041 static const int sMIN_ICON_SIZE; 00042 static const int sDEF_ICON_SIZE; 00043 00044 signals: 00045 void sig_showInfo( const QString& ); 00046 void sig_display(const QString&); 00047 void sig_startslide(int timeout); 00048 00049 public slots: 00050 virtual void slotShowNext(); 00051 virtual void slotShowPrev(); 00052 virtual void slotShowLast(); 00053 virtual bool slotShowFirst(); 00054 virtual void polish(); 00055 00056 protected: 00057 void resizeEvent( QResizeEvent* ); 00058 00059 private: 00060 void initKeys(); 00061 QString currentFileName(bool &isDir)const; 00062 QString nextFileName(bool &isDir)const; 00063 QString prevFileName(bool &isDir)const; 00064 void loadViews(); 00065 void calculateGrid(QResizeEvent*e = 0); 00066 bool m_setDocCalled:1; 00067 00068 private slots: 00069 void slotDirUp(); 00070 void slotChangeDir(const QString&); 00071 void slotTrash(); 00072 void slotViewChanged( int ); 00073 void slotReloadDir(); 00074 void slotRename(); 00075 void slotBeam(); 00076 void slotBeamDone( Ir* ); 00077 00078 void slotShowImage(); 00079 void slotShowImage( const QString& ); 00080 void slotImageInfo(); 00081 void slotImageInfo( const QString& ); 00082 void slotStartSlide(); 00083 00084 void slotStart(); 00085 void slotEnd(); 00086 00087 /* for performance reasons make it inline in the future */ 00088 void addFolders( const QStringList& ); 00089 void addFiles( const QStringList& ); 00090 void slotClicked(QIconViewItem* ); 00091 void slotRetrun(QIconViewItem* ); 00092 00093 00094 void slotThumbInfo(const QString&, const QString&); 00095 void slotThumbNail(const QString&, const QPixmap&); 00096 00097 void slotChangeMode( int ); 00098 private: 00099 Opie::Core::OKeyConfigManager *m_viewManager; 00100 Opie::Core::OConfig *m_cfg; 00101 QComboBox* m_views; 00102 QIconView* m_view; 00103 QString m_path; 00104 bool m_updatet : 1; 00105 int m_mode; 00106 bool m_internalReset:1; 00107 int m_iconsize; 00108 QHBox*m_hbox; 00109 QWidget*m_customWidget; 00110 }; 00111 00112 #endif
1.4.2