00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023 #ifndef _TDEABOUTDIALOG_PRIVATE_H_
00024 #define _TDEABOUTDIALOG_PRIVATE_H_
00025
00026 #include <tqlabel.h>
00027 class TQFrame;
00028 class TQTabWidget;
00029 class TQVBoxLayout;
00030
00035 class KImageTrackLabel : public TQLabel
00036 {
00037 Q_OBJECT
00038
00039 public:
00040 enum MouseMode
00041 {
00042 MousePress = 1,
00043 MouseRelease,
00044 MouseDoubleClick,
00045 MouseMove
00046 };
00047
00048 public:
00049 KImageTrackLabel( TQWidget * parent, const char * name=0, WFlags f=0 );
00050
00051 signals:
00052 void mouseTrack( int mode, const TQMouseEvent *e );
00053
00054 protected:
00055 virtual void mousePressEvent( TQMouseEvent *e );
00056 virtual void mouseReleaseEvent( TQMouseEvent *e );
00057 virtual void mouseDoubleClickEvent( TQMouseEvent *e );
00058 virtual void mouseMoveEvent ( TQMouseEvent *e );
00059 };
00060
00061 class TDEAboutContainer;
00062
00063 class TDEAboutContainerBasePrivate;
00064
00069 class TDEAboutContainerBase : public TQWidget
00070 {
00071 Q_OBJECT
00072
00073 public:
00074 enum LayoutType
00075 {
00076 AbtPlain = 0x0001,
00077 AbtTabbed = 0x0002,
00078 AbtTitle = 0x0004,
00079 AbtImageLeft = 0x0008,
00080 AbtImageRight = 0x0010,
00081 AbtImageOnly = 0x0020,
00082 AbtProduct = 0x0040,
00083 AbtKDEStandard = AbtTabbed|AbtTitle|AbtImageLeft,
00084 AbtAppStandard = AbtTabbed|AbtTitle|AbtProduct,
00085 AbtImageAndTitle = AbtPlain|AbtTitle|AbtImageOnly
00086 };
00087
00088 public:
00089 TDEAboutContainerBase( int layoutType, TQWidget *parent = 0, char *name = 0 );
00090 virtual void show( void );
00091 virtual TQSize sizeHint( void ) const;
00092
00093 void setTitle( const TQString &title );
00094 void setImage( const TQString &fileName );
00095 void setImageBackgroundColor( const TQColor &color );
00096 void setImageFrame( bool state );
00097 void setProgramLogo( const TQString &fileName );
00098 void setProgramLogo( const TQPixmap &pixmap );
00099 void setProduct( const TQString &appName, const TQString &version,
00100 const TQString &author, const TQString &year );
00101
00102 TQFrame *addTextPage( const TQString &title, const TQString &text,
00103 bool richText=false, int numLines=10 );
00104 TQFrame *addLicensePage( const TQString &title, const TQString &text,
00105 int numLines=10 );
00106 TDEAboutContainer *addContainerPage( const TQString &title,
00107 int childAlignment = AlignCenter, int innerAlignment = AlignCenter );
00108 TDEAboutContainer *addScrolledContainerPage( const TQString &title,
00109 int childAlignment = AlignCenter, int innerAlignment = AlignCenter );
00110
00111 TQFrame *addEmptyPage( const TQString &title );
00112
00113 TDEAboutContainer *addContainer( int childAlignment, int innerAlignment );
00114
00115 public slots:
00116 virtual void slotMouseTrack( int mode, const TQMouseEvent *e );
00117 virtual void slotUrlClick( const TQString &url );
00118 virtual void slotMailClick( const TQString &name, const TQString &address );
00119
00120 protected:
00121 virtual void fontChange( const TQFont &oldFont );
00122
00123 signals:
00124 void mouseTrack( int mode, const TQMouseEvent *e );
00125 void urlClick( const TQString &url );
00126 void mailClick( const TQString &name, const TQString &address );
00127
00128 private:
00129 TQVBoxLayout *mTopLayout;
00130 KImageTrackLabel *mImageLabel;
00131 TQLabel *mTitleLabel;
00132 TQLabel *mIconLabel;
00133 TQLabel *mVersionLabel;
00134 TQLabel *mAuthorLabel;
00135 TQFrame *mImageFrame;
00136 TQTabWidget *mPageTab;
00137 TQFrame *mPlainSpace;
00138
00139 TDEAboutContainerBasePrivate* const d;
00140 };
00141
00142
00143 #endif