summaryrefslogtreecommitdiffstats
path: root/kradio3/src/aboutwidget.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'kradio3/src/aboutwidget.cpp')
-rw-r--r--kradio3/src/aboutwidget.cpp611
1 files changed, 0 insertions, 611 deletions
diff --git a/kradio3/src/aboutwidget.cpp b/kradio3/src/aboutwidget.cpp
deleted file mode 100644
index 2008135..0000000
--- a/kradio3/src/aboutwidget.cpp
+++ /dev/null
@@ -1,611 +0,0 @@
-/***************************************************************************
- aboutwidget.cpp - description
- -------------------
- begin : Sa Sep 13 2003
- copyright : (C) 2003 by Martin Witte
- email : witte@kawo1.rwth-aachen.de
- ***************************************************************************/
-
-/***************************************************************************
- * *
- * 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. *
- * *
- ***************************************************************************/
-
-/* Unfortunately KDE doesn't provide the class KAboutContainerBase
- to public programming, so we have to copy most of that code into
- an own class :(
-*/
-
-#include "include/kradioversion.h"
-#include "include/aboutwidget.h"
-#include <tqframe.h>
-#include <kaboutdialog.h>
-#include <tqtabwidget.h>
-#include <tqlayout.h>
-#include <tqtabbar.h>
-#include <tqimage.h>
-
-#include <kglobalsettings.h>
-#include <ktextbrowser.h>
-#include <tqtextedit.h>
-#include <kdebug.h>
-#include <kapplication.h>
-#include <klocale.h>
-#include <kaboutdata.h>
-#include <kurllabel.h>
-
-// copied (and renamed) from kaboutdialog.cpp
-// original: KAboutTabWidget
-
-class TDERadioAboutTabWidget : public TQTabWidget
-{
-public:
- TDERadioAboutTabWidget( TQWidget* parent ) : TQTabWidget( parent ) {}
- TQSize sizeHint() const {
- return TQTabWidget::sizeHint().expandedTo( tabBar()->sizeHint() + TQSize(4,4) );
- }
-};
-
-
-// copied (renamed and extended) from kaboutdialog.cpp
-// original: KAboutContainerBase
-
-TDERadioAboutWidget::TDERadioAboutWidget(const TDEAboutData &aboutData, int layoutType, TQWidget *_parent,
- char *_name )
- : TQWidget( _parent, _name ),
- mImageLabel(0), mTitleLabel(0), mIconLabel(0),mVersionLabel(0),
- mAuthorLabel(0), mImageFrame(0),mPageTab(0),mPlainSpace(0)
-{
- mTopLayout = new TQVBoxLayout( this, 0, KDialog::spacingHint() );
- if( mTopLayout == 0 ) { return; }
-
- if( layoutType & AbtImageOnly )
- {
- layoutType &= ~(AbtImageLeft|AbtImageRight|AbtTabbed|AbtPlain);
- }
- if( layoutType & AbtImageLeft )
- {
- layoutType &= ~AbtImageRight;
- }
-
- if( layoutType & AbtTitle )
- {
- mTitleLabel = new TQLabel( this, "title" );
- mTitleLabel->setAlignment(AlignCenter);
- mTopLayout->addWidget( mTitleLabel );
- mTopLayout->addSpacing( KDialog::spacingHint() );
- }
-
- if( layoutType & AbtProduct )
- {
- TQWidget *productArea = new TQWidget( this, "area" );
- mTopLayout->addWidget( productArea, 0, AlignLeft );
-
- TQHBoxLayout *hbox = new TQHBoxLayout(productArea,0,KDialog::spacingHint());
- if( hbox == 0 ) { return; }
-
- mIconLabel = new TQLabel( productArea );
- hbox->addWidget( mIconLabel, 0, AlignLeft|AlignHCenter );
-
- TQVBoxLayout *vbox = new TQVBoxLayout();
- if( vbox == 0 ) { return; }
- hbox->addLayout( vbox );
-
- mVersionLabel = new TQLabel( productArea, "version" );
- mAuthorLabel = new TQLabel( productArea, "author" );
- vbox->addWidget( mVersionLabel );
- vbox->addWidget( mAuthorLabel );
- hbox->activate();
-
- mTopLayout->addSpacing( KDialog::spacingHint() );
- }
-
- TQHBoxLayout *hbox = new TQHBoxLayout();
- if( hbox == 0 ) { return; }
- mTopLayout->addLayout( hbox, 10 );
-
- if( layoutType & AbtImageLeft )
- {
- TQVBoxLayout *vbox = new TQVBoxLayout();
- hbox->addLayout(vbox);
- vbox->addSpacing(1);
- mImageFrame = new TQFrame( this );
- setImageFrame( true );
- vbox->addWidget( mImageFrame );
- vbox->addSpacing(1);
-
- vbox = new TQVBoxLayout( mImageFrame, 1 );
- mImageLabel = new TDERadioImageTrackLabel( mImageFrame );
- connect( mImageLabel, TQT_SIGNAL(mouseTrack( int, const TQMouseEvent * )),
- TQT_SLOT( slotMouseTrack( int, const TQMouseEvent * )) );
- vbox->addStretch(10);
- vbox->addWidget( mImageLabel );
- vbox->addStretch(10);
- vbox->activate();
- }
-
- if( layoutType & AbtTabbed )
- {
- mPageTab = new TDERadioAboutTabWidget( this );
- if( mPageTab == 0 ) { return; }
- hbox->addWidget( mPageTab, 10 );
- }
- else if( layoutType & AbtImageOnly )
- {
- mImageFrame = new TQFrame( this );
- setImageFrame( true );
- hbox->addWidget( mImageFrame, 10 );
-
- TQGridLayout *gbox = new TQGridLayout(mImageFrame, 3, 3, 1, 0 );
- gbox->setRowStretch( 0, 10 );
- gbox->setRowStretch( 2, 10 );
- gbox->setColStretch( 0, 10 );
- gbox->setColStretch( 2, 10 );
-
- mImageLabel = new TDERadioImageTrackLabel( mImageFrame );
- connect( mImageLabel, TQT_SIGNAL(mouseTrack( int, const TQMouseEvent * )),
- TQT_SLOT( slotMouseTrack( int, const TQMouseEvent * )) );
- gbox->addWidget( mImageLabel, 1, 1 );
- gbox->activate();
- }
- else
- {
- mPlainSpace = new TQFrame( this );
- if( mPlainSpace == 0 ) { return; }
- hbox->addWidget( mPlainSpace, 10 );
- }
-
- if( layoutType & AbtImageRight )
- {
- TQVBoxLayout *vbox = new TQVBoxLayout();
- hbox->addLayout(vbox);
- vbox->addSpacing(1);
- mImageFrame = new TQFrame( this );
- setImageFrame( true );
- vbox->addWidget( mImageFrame );
- vbox->addSpacing(1);
-
- vbox = new TQVBoxLayout( mImageFrame, 1 );
- mImageLabel = new TDERadioImageTrackLabel( mImageFrame );
- connect( mImageLabel, TQT_SIGNAL(mouseTrack( int, const TQMouseEvent * )),
- TQT_SLOT( slotMouseTrack( int, const TQMouseEvent * )) );
- vbox->addStretch(10);
- vbox->addWidget( mImageLabel );
- vbox->addStretch(10);
- vbox->activate();
- }
-
- fontChange( font() );
-
- setAboutData(aboutData);
-}
-
-
-void TDERadioAboutWidget::show( void )
-{
- TQWidget::show();
-}
-
-TQSize TDERadioAboutWidget::sizeHint( void ) const
-{
- return minimumSize().expandedTo( TQSize( TQWidget::sizeHint().width(), 0 ) );
-}
-
-void TDERadioAboutWidget::fontChange( const TQFont &/*oldFont*/ )
-{
- if( mTitleLabel != 0 )
- {
- TQFont f( TDEGlobalSettings::generalFont() );
- f.setBold( true );
- f.setPointSize( 14 ); // Perhaps changeable ?
- mTitleLabel->setFont(f);
- }
-
- if( mVersionLabel != 0 )
- {
- TQFont f( TDEGlobalSettings::generalFont() );
- f.setBold( true );
- mVersionLabel->setFont(f);
- mAuthorLabel->setFont(f);
- mVersionLabel->parentWidget()->layout()->activate();
- }
-
- update();
-}
-
-TQFrame *TDERadioAboutWidget::addTextPage( const TQString &title,
- const TQString &text,
- bool richText, int numLines )
-{
- TQFrame *page = addEmptyPage( title );
- if( page == 0 ) { return 0; }
- if( numLines <= 0 ) { numLines = 10; }
-
- TQVBoxLayout *vbox = new TQVBoxLayout( page, KDialog::spacingHint() );
-
- if( richText == true )
- {
- KTextBrowser *browser = new KTextBrowser( page, "browser" );
- browser->setHScrollBarMode( TQScrollView::AlwaysOff );
- browser->setText( text );
- browser->setMinimumHeight( fontMetrics().lineSpacing()*numLines );
-
- vbox->addWidget(browser);
- connect(browser, TQT_SIGNAL(urlClick(const TQString &)),
- TQT_SLOT(slotUrlClick(const TQString &)));
- connect(browser, TQT_SIGNAL(mailClick(const TQString &,const TQString &)),
- TQT_SLOT(slotMailClick(const TQString &,const TQString &)));
- }
- else
- {
- TQTextEdit *textEdit = new TQTextEdit( page, "text" );
- textEdit->setReadOnly( true );
- textEdit->setMinimumHeight( fontMetrics().lineSpacing()*numLines );
- textEdit->setWordWrap( TQTextEdit::NoWrap );
- vbox->addWidget( textEdit );
- }
-
- return page;
-}
-
-TQFrame *TDERadioAboutWidget::addLicensePage( const TQString &title,
- const TQString &text, int numLines)
-{
- TQFrame *page = addEmptyPage( title );
- if( page == 0 ) { return 0; }
- if( numLines <= 0 ) { numLines = 10; }
-
- TQVBoxLayout *vbox = new TQVBoxLayout( page, KDialog::spacingHint() );
-
- TQTextEdit *textEdit = new TQTextEdit( page, "license" );
- textEdit->setFont( TDEGlobalSettings::fixedFont() );
- textEdit->setReadOnly( true );
- textEdit->setWordWrap( TQTextEdit::NoWrap );
- textEdit->setText( text );
- textEdit->setMinimumHeight( fontMetrics().lineSpacing()*numLines );
- vbox->addWidget( textEdit );
-
- return page;
-}
-
-
-KAboutContainer *TDERadioAboutWidget::addContainerPage( const TQString &title,
- int childAlignment,
- int innerAlignment )
-{
- if( mPageTab == 0 )
- {
- kdDebug(291) << "addPage: " << i18n("Invalid layout") << endl;
- return 0;
- }
-
- KAboutContainer *container = new KAboutContainer( mPageTab, "container",
- KDialog::spacingHint(), KDialog::spacingHint(), childAlignment,
- innerAlignment );
- mPageTab->addTab( container, title );
-
- if( mContainerList.resize( mContainerList.size() + 1) == true )
- {
- mContainerList[ mContainerList.size()-1 ]=container;
- }
-
- connect(container, TQT_SIGNAL(urlClick(const TQString &)),
- TQT_SLOT(slotUrlClick(const TQString &)));
- connect(container, TQT_SIGNAL(mailClick(const TQString &,const TQString &)),
- TQT_SLOT(slotMailClick(const TQString &,const TQString &)));
-
- return container;
-}
-
-
-KAboutContainer *TDERadioAboutWidget::addScrolledContainerPage(
- const TQString &title,
- int childAlignment,
- int innerAlignment )
-{
- if( mPageTab == 0 )
- {
- kdDebug(291) << "addPage: " << "Invalid layout" << endl;
- return 0;
- }
-
- TQFrame *page = addEmptyPage( title );
- TQVBoxLayout *vbox = new TQVBoxLayout( page, KDialog::spacingHint() );
- TQScrollView *scrollView = new TQScrollView( page );
- scrollView->viewport()->setBackgroundMode( PaletteBackground );
- vbox->addWidget( scrollView );
-
- KAboutContainer *container = new KAboutContainer( scrollView, "container",
- KDialog::spacingHint(), KDialog::spacingHint(), childAlignment,
- innerAlignment );
- scrollView->addChild( container );
-
-
- connect(container, TQT_SIGNAL(urlClick(const TQString &)),
- TQT_SLOT(slotUrlClick(const TQString &)));
- connect(container, TQT_SIGNAL(mailClick(const TQString &,const TQString &)),
- TQT_SLOT(slotMailClick(const TQString &,const TQString &)));
-
- return container;
-}
-
-
-TQFrame *TDERadioAboutWidget::addEmptyPage( const TQString &title )
-{
- if( mPageTab == 0 )
- {
- kdDebug(291) << "addPage: " << "Invalid layout" << endl;
- return 0;
- }
-
- TQFrame *page = new TQFrame( mPageTab, title.latin1() );
- page->setFrameStyle( TQFrame::NoFrame );
-
- mPageTab->addTab( page, title );
- return page;
-}
-
-
-KAboutContainer *TDERadioAboutWidget::addContainer( int childAlignment,
- int innerAlignment )
-{
- KAboutContainer *container = new KAboutContainer( this, "container",
- 0, KDialog::spacingHint(), childAlignment, innerAlignment );
- mTopLayout->addWidget( container, 0, childAlignment );
-
- if( mContainerList.resize( mContainerList.size() + 1) == true )
- {
- mContainerList[ mContainerList.size()-1 ]=container;
- }
-
- connect(container, TQT_SIGNAL(urlClick(const TQString &)),
- TQT_SLOT(slotUrlClick(const TQString &)));
- connect(container, TQT_SIGNAL(mailClick(const TQString &,const TQString &)),
- TQT_SLOT(slotMailClick(const TQString &,const TQString &)));
-
- return container;
-}
-
-
-
-void TDERadioAboutWidget::setTitle( const TQString &title )
-{
- if( mTitleLabel == 0 )
- {
- kdDebug(291) << "setTitle: " << "Invalid layout" << endl;
- return;
- }
- mTitleLabel->setText(title);
-}
-
-
-void TDERadioAboutWidget::setImage( const TQString &fileName )
-{
- if( mImageLabel == 0 )
- {
- kdDebug(291) << "setImage: " << "Invalid layout" << endl;
- return;
- }
- if( fileName.isNull() )
- {
- return;
- }
-
- TQImage logo( fileName );
- if( logo.isNull() == false )
- {
- TQPixmap pix;
- pix = logo;
- mImageLabel->setPixmap( pix );
- }
- mImageFrame->layout()->activate();
-
-}
-
-
-void TDERadioAboutWidget::setImageBackgroundColor( const TQColor &color )
-{
- if( mImageFrame != 0 )
- {
- mImageFrame->setBackgroundColor( color );
- }
-}
-
-
-void TDERadioAboutWidget::setImageFrame( bool state )
-{
- if( mImageFrame != 0 )
- {
- if( state == true )
- {
- mImageFrame->setFrameStyle( TQFrame::Panel | TQFrame::Sunken );
- mImageFrame->setLineWidth(1);
- }
- else
- {
- mImageFrame->setFrameStyle( TQFrame::NoFrame );
- mImageFrame->setLineWidth(0);
- }
- }
-}
-
-
-void TDERadioAboutWidget::setProduct( const TQString &appName,
- const TQString &/*version*/,
- const TQString &author,
- const TQString &year )
-{
- if( mIconLabel == 0 )
- {
- kdDebug(291) << "setProduct: " << "Invalid layout" << endl;
- return;
- }
-
- if ( kapp )
- mIconLabel->setPixmap( kapp->icon() );
-
- TQString msg1 = i18n("%1 %2 (Using KDE %3)").arg(appName).
- arg(TQString::fromLatin1(KRADIO_VERSION)).
- arg(TQString::fromLatin1(TDE_VERSION_STRING));
- TQString msg2 = !year.isEmpty() ? i18n("%1 %2, %3").arg('©').arg(year).
- arg(author) : TQString::fromLatin1("");
-
- mVersionLabel->setText( msg1 );
- mAuthorLabel->setText( msg2 );
- if( msg2.isEmpty() )
- {
- mAuthorLabel->hide();
- }
-
- mIconLabel->parentWidget()->layout()->activate();
-}
-
-
-void TDERadioAboutWidget::slotMouseTrack( int mode, const TQMouseEvent *e )
-{
- emit mouseTrack( mode, e );
-}
-
-
-void TDERadioAboutWidget::slotUrlClick( const TQString &url )
-{
- if ( kapp )
- kapp->invokeBrowser( url );
-}
-
-
-void TDERadioAboutWidget::slotMailClick( const TQString &/*_name*/,
- const TQString &_address )
-{
- if ( kapp )
- kapp->invokeMailer( _address, TQString() );
-}
-
-
-// copied (and renamed) from kaboutapplication.cpp
-// original: KAboutApplication::buildDialog
-
-void TDERadioAboutWidget::setAboutData(const TDEAboutData &_aboutData)
-{
- const TDEAboutData *aboutData = &_aboutData;
- if (aboutData->programName().length()) {
- setProduct( aboutData->programName(), aboutData->version(),
- TQString(), TQString() );
- }
-
- TQString appPageText = aboutData->shortDescription() + "\n";
-
- if (!aboutData->otherText().isEmpty())
- appPageText += "\n" + aboutData->otherText()+"\n";
-
- if (!aboutData->copyrightStatement().isEmpty())
- appPageText += "\n" + aboutData->copyrightStatement()+"\n";
-
- KAboutContainer *appPage = addContainerPage( i18n("&About"));
-
- TQLabel *appPageLabel = new TQLabel( appPageText, 0 );
- appPage->addWidget( appPageLabel );
-
- if (!aboutData->homepage().isEmpty()) {
- KURLLabel *url = new KURLLabel();
- url->setText(aboutData->homepage());
- url->setURL(aboutData->homepage());
- appPage->addWidget( url );
- // FIXME
- connect( url, TQT_SIGNAL(leftClickedURL(const TQString &)),
- this, TQT_SLOT(slotUrlClick(const TQString &)));
- }
-
- int authorCount = aboutData->authors().count();
-
- if (authorCount) {
- TQString authorPageTitle = authorCount == 1 ?
- i18n("A&uthor") : i18n("A&uthors");
- KAboutContainer *authorPage = addScrolledContainerPage( authorPageTitle );
- TQValueList<KAboutPerson>::ConstIterator it = aboutData->authors().begin();
- TQValueList<KAboutPerson>::ConstIterator end = aboutData->authors().end();
- for (; it != end; ++it) {
- authorPage->addPerson( (*it).name(), (*it).emailAddress(),
- (*it).webAddress(), (*it).task() );
- }
- }
-
- int creditsCount = aboutData->credits().count();
-
- if (creditsCount) {
- KAboutContainer *creditsPage =
- addScrolledContainerPage( i18n("&Thanks To") );
- TQValueList<KAboutPerson>::ConstIterator it = aboutData->credits().begin();
- TQValueList<KAboutPerson>::ConstIterator end = aboutData->credits().end();
- for (; it != end; ++it) {
- creditsPage->addPerson( (*it).name(), (*it).emailAddress(),
- (*it).webAddress(), (*it).task() );
- }
- }
-
- const TQValueList<KAboutTranslator> translatorList = aboutData->translators();
-
- if(translatorList.count() > 0) {
- KAboutContainer *translatorPage =
- addScrolledContainerPage( i18n("T&ranslation") );
-
- TQValueList<KAboutTranslator>::ConstIterator it = translatorList.begin();
- TQValueList<KAboutTranslator>::ConstIterator end = translatorList.end();
- for(; it != end; ++it) {
- translatorPage->addPerson((*it).name(), (*it).emailAddress(),
- 0,0);
- }
-
- TQLabel *label = new TQLabel(TDEAboutData::aboutTranslationTeam(),
- translatorPage);
- label->adjustSize();
- label->setMinimumSize(label->sizeHint());
- translatorPage->addWidget(label);
- }
-
- if (!aboutData->license().isEmpty() ) {
- addLicensePage( i18n("&License Agreement"), aboutData->license() );
- }
-}
-
-
-//
-// A class that can can monitor mouse movements on the image
-//
-// copied (and renamed) from kaboutdialog.cpp
-// original: KImageTrackLabel
-
-TDERadioImageTrackLabel::TDERadioImageTrackLabel( TQWidget *_parent, const char *_name, WFlags f )
- : TQLabel( _parent, _name, f )
-{
- setText( i18n("Image missing"));
-}
-
-void TDERadioImageTrackLabel::mousePressEvent( TQMouseEvent *e )
-{
- emit mouseTrack( MousePress, e );
-}
-
-void TDERadioImageTrackLabel::mouseReleaseEvent( TQMouseEvent *e )
-{
- emit mouseTrack( MouseRelease, e );
-}
-
-void TDERadioImageTrackLabel::mouseDoubleClickEvent( TQMouseEvent *e )
-{
- emit mouseTrack( MouseDoubleClick, e );
-}
-
-void TDERadioImageTrackLabel::mouseMoveEvent ( TQMouseEvent *e )
-{
- emit mouseTrack( MouseDoubleClick, e );
-}
-
-
-
-
-#include "aboutwidget.moc"