diff options
author | Michele Calgaro <[email protected]> | 2022-05-30 19:40:31 +0900 |
---|---|---|
committer | Michele Calgaro <[email protected]> | 2022-05-31 01:17:58 +0900 |
commit | d95a4fea540b371fa86493d069fdbd54f33c5b40 (patch) | |
tree | 079b038ab559439eb7ded40a07bd79fd92926b3b /src/include/aboutwidget.h | |
parent | e54890e0480e5adee69f5220a7c6dd072bbd75ea (diff) | |
download | tderadio-d95a4fea540b371fa86493d069fdbd54f33c5b40.tar.gz tderadio-d95a4fea540b371fa86493d069fdbd54f33c5b40.zip |
Standardize folder structure.
Signed-off-by: Michele Calgaro <[email protected]>
Diffstat (limited to 'src/include/aboutwidget.h')
-rw-r--r-- | src/include/aboutwidget.h | 149 |
1 files changed, 149 insertions, 0 deletions
diff --git a/src/include/aboutwidget.h b/src/include/aboutwidget.h new file mode 100644 index 0000000..a0b3fe7 --- /dev/null +++ b/src/include/aboutwidget.h @@ -0,0 +1,149 @@ +/*************************************************************************** + aboutwidget.h - description + ------------------- + begin : Sa Sep 13 2003 + copyright : (C) 2003 by Martin Witte + email : [email protected] + ***************************************************************************/ + +/*************************************************************************** + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation; either version 2 of the License, or * + * (at your option) any later version. * + * * + ***************************************************************************/ + +#ifndef KRADIO_ABOUT_WIDGET_H +#define KRADIO_ABOUT_WIDGET_H + +#ifdef HAVE_CONFIG_H +#include <config.h> +#endif + + +#include <tqwidget.h> + +/* Unfortunately KDE doesn't provide the class TDEAboutContainerBase + to public programming, so we have to copy most of that code into + an own class :( +*/ + +class TQFrame; +class TDEAboutContainer; +class TQTabWidget; +class TQVBoxLayout; +class TDEAboutData; + +#include <tqlabel.h> + +// copied (and renamed) from kaboutdialog_private.h +// original: KImageTrackLabel + +class TDERadioImageTrackLabel : public TQLabel +{ + Q_OBJECT + + + public: + enum MouseMode + { + MousePress = 1, + MouseRelease, + MouseDoubleClick, + MouseMove + }; + + public: + TDERadioImageTrackLabel( TQWidget * parent, const char * name=0, WFlags f=0 ); + + signals: + void mouseTrack( int mode, const TQMouseEvent *e ); + + protected: + virtual void mousePressEvent( TQMouseEvent *e ); + virtual void mouseReleaseEvent( TQMouseEvent *e ); + virtual void mouseDoubleClickEvent( TQMouseEvent *e ); + virtual void mouseMoveEvent ( TQMouseEvent *e ); +}; + +// copied (and renamed) from kaboutdialog_private.h +// original: TDEAboutContainerBase + +class TDERadioAboutWidget : public TQWidget +{ + Q_OBJECT + + + public: + enum LayoutType + { + AbtPlain = 0x0001, + AbtTabbed = 0x0002, + AbtTitle = 0x0004, + AbtImageLeft = 0x0008, + AbtImageRight = 0x0010, + AbtImageOnly = 0x0020, + AbtProduct = 0x0040, + AbtKDEStandard = AbtTabbed|AbtTitle|AbtImageLeft, + AbtAppStandard = AbtTabbed|AbtTitle|AbtProduct, + AbtImageAndTitle = AbtPlain|AbtTitle|AbtImageOnly + }; + + public: + TDERadioAboutWidget(const TDEAboutData &abtData, int layoutType, TQWidget *parent = 0, char *name = 0); + virtual void show( void ); + virtual TQSize sizeHint( void ) const; + + void setAboutData(const TDEAboutData &abtData); + + void setTitle( const TQString &title ); + void setImage( const TQString &fileName ); + void setImageBackgroundColor( const TQColor &color ); + void setImageFrame( bool state ); + void setProduct( const TQString &appName, const TQString &version, + const TQString &author, const TQString &year ); + + TQFrame *addTextPage( const TQString &title, const TQString &text, + bool richText=false, int numLines=10 ); + TQFrame *addLicensePage( const TQString &title, const TQString &text, + int numLines=10 ); + TDEAboutContainer *addContainerPage( const TQString &title, + int childAlignment = AlignCenter, int innerAlignment = AlignCenter ); + TDEAboutContainer *addScrolledContainerPage( const TQString &title, + int childAlignment = AlignCenter, int innerAlignment = AlignCenter ); + + TQFrame *addEmptyPage( const TQString &title ); + + TDEAboutContainer *addContainer( int childAlignment, int innerAlignment ); + + public slots: + virtual void slotMouseTrack( int mode, const TQMouseEvent *e ); + virtual void slotUrlClick( const TQString &url ); + virtual void slotMailClick( const TQString &name, const TQString &address ); + + protected: + virtual void fontChange( const TQFont &oldFont ); + + signals: + void mouseTrack( int mode, const TQMouseEvent *e ); + void urlClick( const TQString &url ); + void mailClick( const TQString &name, const TQString &address ); + + private: + TQMemArray<TQWidget*> mContainerList; + + TQVBoxLayout *mTopLayout; + TDERadioImageTrackLabel *mImageLabel; + TQLabel *mTitleLabel; + TQLabel *mIconLabel; + TQLabel *mVersionLabel; + TQLabel *mAuthorLabel; + TQFrame *mImageFrame; + TQTabWidget *mPageTab; + TQFrame *mPlainSpace; +}; + + +#endif |