diff options
Diffstat (limited to 'kdeui/kaboutdialog.cpp')
-rw-r--r-- | kdeui/kaboutdialog.cpp | 1797 |
1 files changed, 0 insertions, 1797 deletions
diff --git a/kdeui/kaboutdialog.cpp b/kdeui/kaboutdialog.cpp deleted file mode 100644 index b4587dda5..000000000 --- a/kdeui/kaboutdialog.cpp +++ /dev/null @@ -1,1797 +0,0 @@ -/* - * This file is part of the KDE Libraries - * Copyright (C) 1999-2001 Mirko Boehm <mirko@kde.org> and - * Espen Sand <espensa@online.no> - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either - * version 2 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. - * - * You should have received a copy of the GNU Library General Public License - * along with this library; see the file COPYING.LIB. If not, write to - * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, - * Boston, MA 02110-1301, USA. - * - */ - -#include <tqclipboard.h> -#include <tqimage.h> -#include <tqlabel.h> -#include <tqlayout.h> -#include <ktextedit.h> -#include <tqobjectlist.h> -#include <tqpainter.h> -#include <tqrect.h> -#include <tqtabwidget.h> -#include <tqtabbar.h> - -#include <kapplication.h> -#include <kglobal.h> -#include <kglobalsettings.h> -#include <klocale.h> -#include <ktextbrowser.h> -#include <kurllabel.h> -#include <kaboutdialog.h> -#include <kaboutdialog_private.h> -#include <kdebug.h> - -//TQMOC_SKIP_BEGIN -template class TQPtrList<KAboutContributor>; -//TQMOC_SKIP_END - -#define WORKTEXT_IDENTATION 16 -#define Grid 3 - -// ############################################################## -// TQMOC OUTPUT FILES: -#include "kaboutdialog.moc" -#include "kaboutdialog_private.moc" -// ############################################################## - -class KAboutTabWidget : public TQTabWidget -{ -public: - KAboutTabWidget( TQWidget* parent ) : TQTabWidget( parent ) {} - TQSize tqsizeHint() const { - return TQTabWidget::tqsizeHint().expandedTo( tabBar()->tqsizeHint() + TQSize(4,4) ); - } -}; - - - - -KAboutContributor::KAboutContributor( TQWidget *_parent, const char *wname, - const TQString &_name,const TQString &_email, - const TQString &_url, const TQString &_work, - bool showHeader, bool showFrame, - bool showBold ) - : TQFrame( _parent, wname ), mShowHeader(showHeader), mShowBold(showBold), d(0) -{ - if( showFrame ) - { - setFrameStyle(TQFrame::Panel | TQFrame::Raised); - } - - mLabel[0] = new TQLabel( this ); - mLabel[1] = new TQLabel( this ); - mLabel[2] = new TQLabel( this ); - mLabel[3] = new TQLabel( this ); - mText[0] = new TQLabel( this ); - mText[1] = new KURLLabel( this ); - mText[2] = new KURLLabel( this ); - mText[3] = new TQLabel( this ); - - setName( _name, i18n("Author"), false ); - setEmail( _email, i18n("Email"), false ); - setURL( _url, i18n("Homepage"), false ); - setWork( _work, i18n("Task"), false ); - - KURLLabel *kurl = static_cast<KURLLabel *>(mText[1]); - kurl->setFloat(true); - kurl->setUnderline(true); - kurl->setMargin(0); - connect(kurl, TQT_SIGNAL(leftClickedURL(const TQString &)), - TQT_SLOT(emailClickedSlot(const TQString &))); - - kurl = static_cast<KURLLabel *>(mText[2]); - kurl->setFloat(true); - kurl->setUnderline(true); - kurl->setMargin(0); - connect(kurl, TQT_SIGNAL(leftClickedURL(const TQString &)), - TQT_SLOT(urlClickedSlot(const TQString &))); - - mLabel[3]->tqsetAlignment( AlignTop ); - - fontChange( font() ); - updateLayout(); -} - - -void KAboutContributor::setName( const TQString &_text, const TQString &_header, - bool _update ) -{ - mLabel[0]->setText(_header); - mText[0]->setText(_text); - if( _update ) { updateLayout(); } -} - - -void KAboutContributor::setEmail( const TQString &_text, const TQString &_header, - bool _update ) -{ - mLabel[1]->setText(_header); - KURLLabel* const kurl = static_cast<KURLLabel *>(mText[1]); - kurl->setText(_text); - kurl->setURL(_text); - if( _update ) { updateLayout(); } -} - - -void KAboutContributor::setURL( const TQString &_text, const TQString &_header, - bool _update ) -{ - mLabel[2]->setText(_header); - KURLLabel* const kurl = static_cast<KURLLabel *>(mText[2]); - kurl->setText(_text); - kurl->setURL(_text); - if( _update ) { updateLayout(); } -} - - -void KAboutContributor::setWork( const TQString &_text, const TQString &_header, - bool _update ) -{ - mLabel[3]->setText(_header); - mText[3]->setText(_text); - if( _update ) { updateLayout(); } -} - - -TQString KAboutContributor::getName( void ) const -{ - return mText[0]->text(); -} - - -TQString KAboutContributor::getEmail( void ) const -{ - return mText[1]->text(); -} - - -TQString KAboutContributor::getURL( void ) const -{ - return mText[2]->text(); -} - - -TQString KAboutContributor::getWork( void ) const -{ - return mText[3]->text(); -} - - - -void KAboutContributor::updateLayout( void ) -{ - delete layout(); - - int row = 0; - if( !mText[0]->text().isEmpty() ) { ++row; } - if( !mText[1]->text().isEmpty() ) { ++row; } - if( !mText[2]->text().isEmpty() ) { ++row; } - if( !mText[3]->text().isEmpty() ) { ++row; } - - - TQGridLayout *gbox; - if( row == 0 ) - { - gbox = new TQGridLayout( this, 1, 1, 0 ); - for( int i=0; i<4; ++i ) - { - mLabel[i]->hide(); - mText[i]->hide(); - } - } - else - { - if( mText[0]->text().isEmpty() && !mShowHeader ) - { - gbox = new TQGridLayout( this, row, 1, frameWidth()+1, 2 ); - } - else - { - gbox = new TQGridLayout( this, row, 2, frameWidth()+1, 2 ); - if( !mShowHeader ) - { - gbox->addColSpacing( 0, KDialog::spacingHint()*2 ); - } - gbox->setColStretch( 1, 10 ); - } - - for( int i=0, r=0; i<4; ++i ) - { - mLabel[i]->setFixedHeight( fontMetrics().lineSpacing() ); - if( i != 3 ) - { - mText[i]->setFixedHeight( fontMetrics().lineSpacing() ); - } - - if( !mText[i]->text().isEmpty() ) - { - if( mShowHeader ) - { - gbox->addWidget( TQT_TQWIDGET(mLabel[i]), r, 0, (TQ_Alignment)AlignLeft ); - gbox->addWidget( TQT_TQWIDGET(mText[i]), r, 1, (TQ_Alignment)AlignLeft ); - mLabel[i]->show(); - mText[i]->show(); - } - else - { - mLabel[i]->hide(); - if( !i ) - { - gbox->addMultiCellWidget( TQT_TQWIDGET(mText[i]), r, r, 0, 1, (TQ_Alignment)AlignLeft ); - } - else - { - gbox->addWidget( TQT_TQWIDGET(mText[i]), r, 1, (TQ_Alignment)AlignLeft ); - } - mText[i]->show(); - } - ++r; - } - else - { - mLabel[i]->hide(); - mText[i]->hide(); - } - } - } - - gbox->activate(); - setMinimumSize( tqsizeHint() ); -} - - -void KAboutContributor::fontChange( const TQFont &/*oldFont*/ ) -{ - if( mShowBold ) - { - TQFont f( font() ); - f.setBold( true ); - mText[0]->setFont( f ); - } - update(); -} - - -TQSize KAboutContributor::tqsizeHint( void ) const -{ - return tqminimumSizeHint(); -} - - -void KAboutContributor::urlClickedSlot( const TQString &u ) -{ - emit openURL(u); -} - - -void KAboutContributor::emailClickedSlot( const TQString &e ) -{ - emit sendEmail( mText[0]->text(), e ) ; -} - - -// -// Internal widget for the KAboutDialog class. -// -KAboutContainerBase::KAboutContainerBase( 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),d(0) -{ - mTopLayout = new TQVBoxLayout( this, 0, KDialog::spacingHint() ); - if( !mTopLayout ) { return; } - - if( layoutType & AbtImageOnly ) - { - layoutType &= ~(AbtImageLeft|AbtImageRight|AbtTabbed|AbtPlain); - } - if( layoutType & AbtImageLeft ) - { - layoutType &= ~AbtImageRight; - } - - if( layoutType & AbtTitle ) - { - mTitleLabel = new TQLabel( this, "title" ); - mTitleLabel->tqsetAlignment(AlignCenter); - mTopLayout->addWidget( mTitleLabel ); - mTopLayout->addSpacing( KDialog::spacingHint() ); - } - - if( layoutType & AbtProduct ) - { - TQWidget* const productArea = new TQWidget( this, "area" ); - mTopLayout->addWidget( productArea, 0, TQApplication::reverseLayout() ? AlignRight : AlignLeft ); - - TQHBoxLayout* const hbox = new TQHBoxLayout(productArea,0,KDialog::spacingHint()); - if( !hbox ) { return; } - - mIconLabel = new TQLabel( productArea ); - hbox->addWidget( mIconLabel, 0, AlignLeft|AlignHCenter ); - - TQVBoxLayout* const vbox = new TQVBoxLayout(); - if( !vbox ) { 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* const hbox = new TQHBoxLayout(); - if( !hbox ) { 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 KImageTrackLabel( 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 KAboutTabWidget( this ); - if( !mPageTab ) { return; } - hbox->addWidget( mPageTab, 10 ); - } - else if( layoutType & AbtImageOnly ) - { - mImageFrame = new TQFrame( this ); - setImageFrame( true ); - hbox->addWidget( mImageFrame, 10 ); - - TQGridLayout* const 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 KImageTrackLabel( 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 ) { 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 KImageTrackLabel( 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() ); -} - - -void KAboutContainerBase::show( void ) -{ - TQWidget::show(); -} - -TQSize KAboutContainerBase::tqsizeHint( void ) const -{ - return tqminimumSize().expandedTo( TQSize( TQWidget::tqsizeHint().width(), 0 ) ); -} - -void KAboutContainerBase::fontChange( const TQFont &/*oldFont*/ ) -{ - if( mTitleLabel ) - { - TQFont f( KGlobalSettings::generalFont() ); - f.setBold( true ); - int fs = f.pointSize(); - if (fs == -1) - fs = TQFontInfo(f).pointSize(); - f.setPointSize( fs+2 ); // Lets not make it too big - mTitleLabel->setFont(f); - } - - if( mVersionLabel ) - { - TQFont f( KGlobalSettings::generalFont() ); - f.setBold( true ); - mVersionLabel->setFont(f); - mAuthorLabel->setFont(f); - mVersionLabel->parentWidget()->layout()->activate(); - } - - update(); -} - -TQFrame *KAboutContainerBase::addTextPage( const TQString &title, - const TQString &text, - bool richText, int numLines ) -{ - TQFrame* const page = addEmptyPage( title ); - if( !page ) { return 0; } - if( numLines <= 0 ) { numLines = 10; } - - TQVBoxLayout* const vbox = new TQVBoxLayout( page, KDialog::spacingHint() ); - - if( richText ) - { - KTextBrowser* const 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 - { - KTextEdit* const textEdit = new KTextEdit( page, "text" ); - textEdit->setReadOnly( true ); - textEdit->setMinimumHeight( fontMetrics().lineSpacing()*numLines ); - textEdit->setWordWrap( TQTextEdit::NoWrap ); - vbox->addWidget( textEdit ); - } - - return page; -} - -TQFrame *KAboutContainerBase::addLicensePage( const TQString &title, - const TQString &text, int numLines) -{ - TQFrame* const page = addEmptyPage( title ); - if( !page ) { return 0; } - if( numLines <= 0 ) { numLines = 10; } - - TQVBoxLayout* const vbox = new TQVBoxLayout( page, KDialog::spacingHint() ); - - KTextEdit* const textEdit = new KTextEdit( page, "license" ); - textEdit->setFont( KGlobalSettings::fixedFont() ); - textEdit->setReadOnly( true ); - textEdit->setWordWrap( TQTextEdit::NoWrap ); - textEdit->setText( text ); - textEdit->setMinimumHeight( fontMetrics().lineSpacing()*numLines ); - vbox->addWidget( textEdit ); - return page; -} - - -KAboutContainer *KAboutContainerBase::addContainerPage( const TQString &title, - int childAlignment, - int innerAlignment ) -{ - if( !mPageTab ) - { - kdDebug(291) << "addPage: " << "Invalid layout" << endl; - return 0; - } - - KAboutContainer* const container = new KAboutContainer( mPageTab, "container", - KDialog::spacingHint(), KDialog::spacingHint(), childAlignment, - innerAlignment ); - mPageTab->addTab( container, title ); - - 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 *KAboutContainerBase::addScrolledContainerPage( - const TQString &title, - int childAlignment, - int innerAlignment ) -{ - if( !mPageTab ) - { - kdDebug(291) << "addPage: " << "Invalid layout" << endl; - return 0; - } - - TQFrame* const page = addEmptyPage( title ); - TQVBoxLayout* const vbox = new TQVBoxLayout( page, KDialog::spacingHint() ); - TQScrollView* const scrollView = new TQScrollView( page ); - scrollView->viewport()->setBackgroundMode( PaletteBackground ); - vbox->addWidget( scrollView ); - - KAboutContainer* const 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 *KAboutContainerBase::addEmptyPage( const TQString &title ) -{ - if( !mPageTab ) - { - kdDebug(291) << "addPage: " << "Invalid layout" << endl; - return 0; - } - - TQFrame* const page = new TQFrame( mPageTab, title.latin1() ); - page->setFrameStyle( TQFrame::NoFrame ); - - mPageTab->addTab( page, title ); - return page; -} - - -KAboutContainer *KAboutContainerBase::addContainer( int childAlignment, - int innerAlignment ) -{ - KAboutContainer* const container = new KAboutContainer( this, "container", - 0, KDialog::spacingHint(), childAlignment, innerAlignment ); - mTopLayout->addWidget( container, 0, childAlignment ); - - 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 KAboutContainerBase::setTitle( const TQString &title ) -{ - if( !mTitleLabel ) - { - kdDebug(291) << "setTitle: " << "Invalid layout" << endl; - return; - } - mTitleLabel->setText(title); -} - - -void KAboutContainerBase::setImage( const TQString &fileName ) -{ - if( !mImageLabel ) - { - kdDebug(291) << "setImage: " << "Invalid layout" << endl; - return; - } - if( fileName.isNull() ) - { - return; - } - - const TQPixmap logo( fileName ); - if( !logo.isNull() ) - mImageLabel->setPixmap( logo ); - - mImageFrame->layout()->activate(); -} - -void KAboutContainerBase::setProgramLogo( const TQString &fileName ) -{ - if( fileName.isNull() ) - { - return; - } - - const TQPixmap logo( fileName ); - setProgramLogo( logo ); -} - -void KAboutContainerBase::setProgramLogo( const TQPixmap &pixmap ) -{ - if( !mIconLabel ) - { - kdDebug(291) << "setProgramLogo: " << "Invalid layout" << endl; - return; - } - if( !pixmap.isNull() ) - { - mIconLabel->setPixmap( pixmap ); - } -} - -void KAboutContainerBase::setImageBackgroundColor( const TQColor &color ) -{ - if( mImageFrame ) - { - mImageFrame->setBackgroundColor( color ); - } -} - - -void KAboutContainerBase::setImageFrame( bool state ) -{ - if( mImageFrame ) - { - if( state ) - { - mImageFrame->setFrameStyle( TQFrame::Panel | TQFrame::Sunken ); - mImageFrame->setLineWidth(1); - } - else - { - mImageFrame->setFrameStyle( TQFrame::NoFrame ); - mImageFrame->setLineWidth(0); - } - } -} - - -void KAboutContainerBase::setProduct( const TQString &appName, - const TQString &version, - const TQString &author, - const TQString &year ) -{ - if( !mIconLabel ) - { - kdDebug(291) << "setProduct: " << "Invalid layout" << endl; - return; - } - - if ( kapp ) - { - mIconLabel->setPixmap( kapp->icon() ); - kdDebug(291) << "setPixmap (iconName): " << kapp->iconName() << endl; - } - else - kdDebug(291) << "no kapp" << endl; - - const TQString msg1 = i18n("%1 %2 (Using Trinity %3)").arg(appName).arg(version). - arg(TQString::fromLatin1(KDE_VERSION_STRING)); - const TQString msg2 = !year.isEmpty() ? i18n("%1 %2, %3").arg('©').arg(year). - arg(author) : TQString::fromLatin1(""); - - //if (!year.isEmpty()) - // msg2 = i18n("%1 %2, %3").arg('©').arg(year).arg(author); - - mVersionLabel->setText( msg1 ); - mAuthorLabel->setText( msg2 ); - if( msg2.isEmpty() ) - { - mAuthorLabel->hide(); - } - - mIconLabel->parentWidget()->layout()->activate(); -} - - -void KAboutContainerBase::slotMouseTrack( int mode, const TQMouseEvent *e ) -{ - emit mouseTrack( mode, e ); -} - - -void KAboutContainerBase::slotUrlClick( const TQString &url ) -{ - emit urlClick( url ); -} - -void KAboutContainerBase::slotMailClick( const TQString &_name, - const TQString &_address ) -{ - emit mailClick( _name, _address ); -} - - - -KAboutContainer::KAboutContainer( TQWidget *_parent, const char *_name, - int _margin, int _spacing, - int childAlignment, int innerAlignment ) - : TQFrame( _parent, _name ), d(0) -{ - mAlignment = innerAlignment; - - TQGridLayout* const gbox = new TQGridLayout( this, 3, 3, _margin, _spacing ); - if( childAlignment & AlignHCenter ) - { - gbox->setColStretch( 0, 10 ); - gbox->setColStretch( 2, 10 ); - } - else if( childAlignment & AlignRight ) - { - gbox->setColStretch( 0, 10 ); - } - else - { - gbox->setColStretch( 2, 10 ); - } - - if( childAlignment & AlignVCenter ) - { - gbox->setRowStretch( 0, 10 ); - gbox->setRowStretch( 2, 10 ); - } - else if( childAlignment & AlignRight ) - { - gbox->setRowStretch( 0, 10 ); - } - else - { - gbox->setRowStretch( 2, 10 ); - } - - mVbox = new TQVBoxLayout( _spacing ); - gbox->addLayout( mVbox, 1, 1 ); - gbox->activate(); -} - - -void KAboutContainer::childEvent( TQChildEvent *e ) -{ - if( !e->inserted() || !e->child()->isWidgetType() ) - { - return; - } - - TQWidget* const w = static_cast<TQWidget *>(e->child()); - mVbox->addWidget( w, 0, mAlignment ); - const TQSize s( tqsizeHint() ); - setMinimumSize( s ); - - TQObjectList const l = childrenListObject(); // silence please - TQObjectListIterator itr( l ); - TQObject * o; - while ( (o = itr.current()) ) { - ++itr; - if( o->isWidgetType() ) - { - TQT_TQWIDGET(o)->setMinimumWidth( s.width() ); - } - } -} - - -TQSize KAboutContainer::tqsizeHint( void ) const -{ - // - // The size is computed by adding the tqsizeHint().height() of all - // widget children and taking the width of the widest child and adding - // layout()->margin() and layout()->spacing() - // - - TQSize total_size; - - int numChild = 0; - TQObjectList const l = childrenListObject(); // silence please - - TQObjectListIterator itr( l ); - TQObject * o; - while ( (o = itr.current()) ) { - ++itr; - if( o->isWidgetType() ) - { - ++numChild; - TQWidget* const w= TQT_TQWIDGET(o); - - TQSize s = w->tqminimumSize(); - if( s.isEmpty() ) - { - s = w->tqminimumSizeHint(); - if( s.isEmpty() ) - { - s = w->tqsizeHint(); - if( s.isEmpty() ) - { - s = TQSize( 100, 100 ); // Default size - } - } - } - total_size.setHeight( total_size.height() + s.height() ); - if( s.width() > total_size.width() ) { total_size.setWidth( s.width() ); } - } - } - - if( numChild > 0 ) - { - // - // Seems I have to add 1 to the height to properly show the border - // of the last entry if layout()->margin() is 0 - // - - total_size.setHeight( total_size.height() + layout()->spacing()*(numChild-1) ); - total_size += TQSize( layout()->margin()*2, layout()->margin()*2 + 1 ); - } - else - { - total_size = TQSize( 1, 1 ); - } - return total_size; -} - - -TQSize KAboutContainer::tqminimumSizeHint( void ) const -{ - return tqsizeHint(); -} - - -void KAboutContainer::addWidget( TQWidget *widget ) -{ - widget->reparent( this, 0, TQPoint(0,0) ); -} - - -void KAboutContainer::addPerson( const TQString &_name, const TQString &_email, - const TQString &_url, const TQString &_task, - bool showHeader, bool showFrame,bool showBold) -{ - - KAboutContributor* const cont = new KAboutContributor( this, "pers", - _name, _email, _url, _task, showHeader, showFrame, showBold ); - connect( cont, TQT_SIGNAL( openURL(const TQString&)), - this, TQT_SIGNAL( urlClick(const TQString &))); - connect( cont, TQT_SIGNAL( sendEmail(const TQString &, const TQString &)), - this, TQT_SIGNAL( mailClick(const TQString &, const TQString &))); -} - - -void KAboutContainer::addTitle( const TQString &title, int tqalignment, - bool showFrame, bool showBold ) -{ - - TQLabel* const label = new TQLabel( title, this, "title" ); - if( showBold ) - { - TQFont labelFont( font() ); - labelFont.setBold( true ); - label->setFont( labelFont ); - } - if( showFrame ) - { - label->setFrameStyle(TQFrame::Panel | TQFrame::Raised); - } - label->tqsetAlignment( tqalignment ); -} - - -void KAboutContainer::addImage( const TQString &fileName, int tqalignment ) -{ - if( fileName.isNull() ) - { - return; - } - - KImageTrackLabel* const label = new KImageTrackLabel( this, "image" ); - const TQImage logo( fileName ); - if( !logo.isNull() ) - { - TQPixmap pix; - pix = logo; - label->setPixmap( pix ); - } - label->tqsetAlignment( tqalignment ); -} - -#if 0 -//TQMOC_SKIP_BEGIN - -/** Every person displayed is stored in a KAboutContributor object. - * Every contributor, the author and/or the maintainer of the application are - * stored in objects of this local class. Every single field may be empty. - * To add a contributor, create a KAboutContributor object as a child of your - * @ref KAboutDialog, set its contents and add it using add addContributor. */ -class KAboutContributor : public QFrame -{ - // ############################################################################ - Q_OBJECT - // ---------------------------------------------------------------------------- -public: - /** The Qt constructor. */ - KAboutContributor(TQWidget* parent=0, const char* name=0); - /** Set the name (a literal string). */ - void setName(const TQString&); - /** Get the name. */ - TQString getName(); - /** The email address (dito). */ - void setEmail(const TQString&); - /** Get the email address. */ - TQString getEmail(); - /** The URL (dito). */ - void setURL(const TQString&); - /** Get the URL. */ - TQString getURL(); - /** The tasks the person worked on (a literal string). More than one line is - * possible, but very long texts might look ugly. */ - void setWork(const TQString&); - /** The size hint. Very important here, since KAboutWidget relies on it for - * geometry management. */ - TQSize tqsizeHint(); - TQSize tqminimumSizeHint(void); - virtual void show( void ); - - // ---------------------------------------------------------------------------- -protected: - // events: - /** The resize event. */ - void resizeEvent(TQResizeEvent*); - /** The paint event. */ - void paintEvent(TQPaintEvent*); - /** The label showing the program version. */ - TQLabel *name; - /** The clickable URL label showing the email address. It is only visible if - * its text is not empty. */ - KURLLabel *email; - /** Another interactive part that displays the homepage URL. */ - KURLLabel *url; - /** The description of the contributions of the person. */ - TQString work; - // ---------------------------------------------------------------------------- -protected slots: - /** The homepage URL has been clicked. */ - void urlClickedSlot(const TQString&); - /** The email address has been clicked. */ - void emailClickedSlot(const TQString& emailaddress); - // ---------------------------------------------------------------------------- -signals: - /** The email address has been clicked. */ - void sendEmail(const TQString& name, const TQString& email); - /** The URL has been clicked. */ - void openURL(const TQString& url); - // ############################################################################ -}; - - - -KAboutContributor::KAboutContributor(TQWidget* parent, const char* n) - : TQFrame(parent, n), - name(new TQLabel(this)), - email(new KURLLabel(this)), - url(new KURLLabel(this)) -{ - // ############################################################ - if(name==0 || email==0) - { // this will nearly never happen (out of memory in about box?) - kdDebug() << "KAboutContributor::KAboutContributor: Out of memory." << endl; - tqApp->quit(); - } - setFrameStyle(TQFrame::Panel | TQFrame::Raised); - // ----- - connect(email, TQT_SIGNAL(leftClickedURL(const TQString&)), - TQT_SLOT(emailClickedSlot(const TQString&))); - connect(url, TQT_SIGNAL(leftClickedURL(const TQString&)), - TQT_SLOT(urlClickedSlot(const TQString&))); - // ############################################################ -} - -void -KAboutContributor::setName(const TQString& n) -{ - // ############################################################ - name->setText(n); - // ############################################################ -} - -QString -KAboutContributor::getName() -{ - // ########################################################### - return name->text(); - // ########################################################### -} -void -KAboutContributor::setURL(const TQString& u) -{ - // ########################################################### - url->setText(u); - // ########################################################### -} - -QString -KAboutContributor::getURL() -{ - // ########################################################### - return url->text(); - // ########################################################### -} - -void -KAboutContributor::setEmail(const TQString& e) -{ - // ########################################################### - email->setText(e); - // ########################################################### -} - -QString -KAboutContributor::getEmail() -{ - // ########################################################### - return email->text(); - // ########################################################### -} - -void -KAboutContributor::emailClickedSlot(const TQString& e) -{ - // ########################################################### - kdDebug() << "KAboutContributor::emailClickedSlot: called." << endl; - emit(sendEmail(name->text(), e)); - // ########################################################### -} - -void -KAboutContributor::urlClickedSlot(const TQString& u) -{ - // ########################################################### - kdDebug() << "KAboutContributor::urlClickedSlot: called." << endl; - emit(openURL(u)); - // ########################################################### -} - -void -KAboutContributor::setWork(const TQString& w) -{ - // ########################################################### - work=w; - // ########################################################### -} - -#endif - - -#if 0 -QSize -KAboutContributor::tqsizeHint() -{ - // ############################################################################ - const int FrameWidth=frameWidth(); - const int WorkTextWidth=200; - int maxx, maxy; - TQRect rect; - // ----- first calculate name and email width: - maxx=name->tqsizeHint().width(); - maxx=QMAX(maxx, email->tqsizeHint().width()+WORKTEXT_IDENTATION); - // ----- now determine "work" text rectangle: - if(!work.isEmpty()) // save time - { - rect=fontMetrics().boundingRect - (0, 0, WorkTextWidth, 32000, WordBreak | AlignLeft, work); - } - if(maxx<rect.width()) - { - maxx=WorkTextWidth+WORKTEXT_IDENTATION; - } - maxx=QMAX(maxx, url->tqsizeHint().width()+WORKTEXT_IDENTATION); - // ----- - maxy=2*(name->tqsizeHint().height()+Grid); // need a space above the KURLLabels - maxy+=/* email */ name->tqsizeHint().height(); - maxy+=rect.height(); - // ----- - maxx+=2*FrameWidth; - maxy+=2*FrameWidth; - return TQSize(maxx, maxy); - // ############################################################################ -} - -TQSize KAboutContributor::tqminimumSizeHint(void) -{ - return( tqsizeHint() ); -} - - -void KAboutContributor::show( void ) -{ - TQFrame::show(); - setMinimumSize( tqsizeHint() ); -} - - - -void -KAboutContributor::resizeEvent(TQResizeEvent*) -{ // the widgets are simply aligned from top to bottom, since the parent is - // expected to respect the size hint - // ############################################################################ - int framewidth=frameWidth(), childwidth=width()-2*framewidth; - int cy=framewidth; - // ----- - name->setGeometry - (framewidth, framewidth, childwidth, name->tqsizeHint().height()); - cy=name->height()+Grid; - email->setGeometry - (framewidth+WORKTEXT_IDENTATION, cy, - childwidth-WORKTEXT_IDENTATION, /* email */ name->tqsizeHint().height()); - cy+=name->height()+Grid; - url->setGeometry - (framewidth+WORKTEXT_IDENTATION, cy, - childwidth-WORKTEXT_IDENTATION, /* url */ name->tqsizeHint().height()); - // the work text is drawn in the paint event - // ############################################################################ -} - - -void -KAboutContributor::paintEvent(TQPaintEvent* e) -{ // the widgets are simply aligned from top to bottom, since the parent is - // expected to respect the size hint (the widget is only used locally by now) - // ############################################################################ - int cy=frameWidth()+name->height()+email->height()+Grid+url->height()+Grid; - int h=height()-cy-frameWidth(); - int w=width()-WORKTEXT_IDENTATION-2*frameWidth(); - // ----- - TQFrame::paintEvent(e); - if(work.isEmpty()) return; - TQPainter paint(this); // construct painter only if there is something to draw - // ----- - paint.drawText(WORKTEXT_IDENTATION, cy, w, h, AlignLeft | WordBreak, work); - // ############################################################################ -} -// TQMOC_SKIP_END -#endif - - -#if 0 -TQSize KAboutContributor::tqsizeHint( void ) -{ - int s = KDialog::spacingHint(); - int h = fontMetrics().lineSpacing()*3 + 2*s; - int m = frameWidth(); - - int w = name->tqsizeHint().width(); - w = QMAX( w, email->tqsizeHint().width()+s); - w = QMAX( w, url->tqsizeHint().width()+s); - - if( work.isEmpty() == false ) - { - const int WorkTextWidth=200; - TQRect r = fontMetrics().boundingRect - (0, 0, WorkTextWidth, 32000, WordBreak | AlignLeft, work); - if( w < r.width() ) - { - w = QMAX( w, WorkTextWidth+s ); - } - h += QMAX( fontMetrics().lineSpacing(), r.height() ) + s; - } - return( TQSize( w + 2*m, h + 2*m ) ); - - - /* - int s = 3; - int m = frameWidth() + KDialog::spacingHint(); - int h = ls * 3 + s * 2; - int w = name->tqsizeHint().width(); - - w = QMAX( w, email->tqsizeHint().width()+WORKTEXT_IDENTATION); - w = QMAX( w, url->tqsizeHint().width()+WORKTEXT_IDENTATION); - if( work.isEmpty() == false ) - { - const int WorkTextWidth=200; - - TQRect r = fontMetrics().boundingRect - (0, 0, WorkTextWidth, 32000, WordBreak | AlignLeft, work); - if( w < r.width() ) - { - w = QMAX( w, WorkTextWidth + WORKTEXT_IDENTATION ); - } - h += r.height() + s; - } - return( TQSize( w + 2*m, h + 2*m ) ); - */ -} - - -// -// The widgets are simply aligned from top to bottom, since the parent is -// expected to respect the size hint -// -void KAboutContributor::resizeEvent(TQResizeEvent*) -{ - int x = frameWidth(); - int s = KDialog::spacingHint(); - int h = fontMetrics().lineSpacing(); - int w = width() - 2*x; - int y = x; - - name->setGeometry( x, y, w, h ); - y += h + s; - email->setGeometry( x+s, y, w-s, h ); - y += h + s; - url->setGeometry( x+s, y, w-s, h ); - - /* - int x = frameWidth() + KDialog::spacingHint(); - int y = x; - int w = width() - 2*x; - int h = name->tqsizeHint().height(); - int s = 3; - - name->setGeometry( x, y, w, h ); - y += h + s; - email->setGeometry( x+WORKTEXT_IDENTATION, y, w-WORKTEXT_IDENTATION, h ); - y += h + s; - url->setGeometry( x+WORKTEXT_IDENTATION, y, w-WORKTEXT_IDENTATION, h ); - // - // the work text is drawn in the paint event - // - */ -} - - - -void KAboutContributor::paintEvent( TQPaintEvent *e ) -{ - TQFrame::paintEvent(e); - if(work.isEmpty()) return; - - int x = frameWidth() + KDialog::spacingHint(); - int h = fontMetrics().lineSpacing(); - int y = height() - frameWidth() - fontMetrics().lineSpacing(); - int w = width() - frameWidth()*2 - KDialog::spacingHint(); - - TQPainter paint( this ); - paint.drawText( x, y, w, h, AlignLeft | WordBreak, work ); - - /* - - int s = 3; - int x = frameWidth() + KDialog::spacingHint() + WORKTEXT_IDENTATION; - int w = width()-WORKTEXT_IDENTATION-2*(frameWidth()+KDialog::spacingHint()); - int y = frameWidth()+KDialog::spacingHint()+(name->tqsizeHint().height()+s)*3; - int h = height()-y-frameWidth(); - - TQPainter paint( this ); - paint.drawText( x, y, w, h, AlignLeft | WordBreak, work ); - */ -} -#endif - - - - - - -KAboutWidget::KAboutWidget(TQWidget *_parent, const char *_name) - : TQWidget(_parent, _name), - version(new TQLabel(this)), - cont(new TQLabel(this)), - logo(new TQLabel(this)), - author(new KAboutContributor(this)), - maintainer(new KAboutContributor(this)), - showMaintainer(false), - d(0) -{ - // ################################################################# - if( !version || !cont || !logo || !author || !maintainer ) - { - // this will nearly never happen (out of memory in about box?) - kdDebug() << "KAboutWidget::KAboutWidget: Out of memory." << endl; - tqApp->quit(); - } - // ----- - cont->setText(i18n("Other Contributors:")); - logo->setText(i18n("(No logo available)")); - logo->setFrameStyle(TQFrame::Panel | TQFrame::Raised); - version->tqsetAlignment(AlignCenter); - // ----- - connect(author, TQT_SIGNAL(sendEmail(const TQString&, const TQString&)), - TQT_SLOT(sendEmailSlot(const TQString&, const TQString&))); - connect(author, TQT_SIGNAL(openURL(const TQString&)), - TQT_SLOT(openURLSlot(const TQString&))); - connect(maintainer, TQT_SIGNAL(sendEmail(const TQString&, const TQString&)), - TQT_SLOT(sendEmailSlot(const TQString&, const TQString&))); - connect(maintainer, TQT_SIGNAL(openURL(const TQString&)), - TQT_SLOT(openURLSlot(const TQString&))); - // ################################################################# -} - - -void -KAboutWidget::adjust() -{ - // ################################################################# - int cx, cy, tempx; - int maintWidth, maintHeight; - TQSize total_size; - // ----- - if(showMaintainer) - { - total_size=maintainer->tqsizeHint(); - maintWidth=total_size.width(); - maintHeight=total_size.height(); - } else { - maintWidth=0; - maintHeight=0; - } - total_size=author->tqsizeHint(); - logo->adjustSize(); - cy=version->tqsizeHint().height()+Grid; - cx=logo->width(); - tempx=QMAX(total_size.width(), maintWidth); - cx+=Grid+tempx; - cx=QMAX(cx, version->tqsizeHint().width()); - cy+=QMAX(logo->height(), - total_size.height()+(showMaintainer ? Grid+maintHeight : 0)); - // ----- - if(!contributors.isEmpty()) - { - cx=QMAX(cx, cont->tqsizeHint().width()); - cy+=cont->tqsizeHint().height()+Grid; - TQPtrListIterator<KAboutContributor> _pos(contributors); - KAboutContributor* currEntry; - while ( (currEntry = _pos.current()) ) - { - ++_pos; - cy+=currEntry->tqsizeHint().height(); - } - } - // ----- - setMinimumSize(cx, cy); - // ################################################################# -} - -void -KAboutWidget::setLogo(const TQPixmap& i) -{ - // ############################################################################ - logo->setPixmap(i); - // ############################################################################ -} - -void KAboutWidget::sendEmailSlot(const TQString &_name, const TQString &_email) -{ - emit(sendEmail(_name, _email)); -} - -void KAboutWidget::openURLSlot(const TQString& _url) -{ - emit(openURL(_url)); -} - -void -KAboutWidget::setAuthor(const TQString &_name, const TQString &_email, - const TQString &_url, const TQString &_w) -{ - // ############################################################################ - author->setName(_name); - author->setEmail(_email); - author->setURL(_url); - author->setWork(_w); - // ############################################################################ -} - -void -KAboutWidget::setMaintainer(const TQString &_name, const TQString &_email, - const TQString &_url, const TQString &_w) -{ - // ############################################################################ - maintainer->setName(_name); - maintainer->setEmail(_email); - maintainer->setWork(_w); - maintainer->setURL(_url); - showMaintainer=true; - // ############################################################################ -} - -void -KAboutWidget::addContributor(const TQString &_name, const TQString &_email, - const TQString &_url, const TQString &_w) -{ - // ############################################################################ - KAboutContributor* const c=new KAboutContributor(this); - // ----- - c->setName(_name); - c->setEmail(_email); - c->setURL(_url); - c->setWork(_w); - contributors.append(c); - connect(c, TQT_SIGNAL(sendEmail(const TQString&, const TQString&)), - TQT_SLOT(sendEmailSlot(const TQString&, const TQString&))); - connect(c, TQT_SIGNAL(openURL(const TQString&)), TQT_SLOT(openURLSlot(const TQString&))); - // ############################################################################ -} - -void -KAboutWidget::setVersion(const TQString &_name) -{ - // ############################################################################ - version->setText(_name); - // ############################################################################ -} - -void -KAboutWidget::resizeEvent(TQResizeEvent*) -{ - // ############################################################################ - int _x=0, _y, cx, tempx, tempy; - // ----- set version label geometry: - version->setGeometry(0, 0, width(), version->tqsizeHint().height()); - _y=version->height()+Grid; - // ----- move logo to correct position: - logo->adjustSize(); - logo->move(0, _y); - // ----- move author and maintainer right to it: - tempx=logo->width()+Grid; - cx=width()-tempx; - author->setGeometry - (tempx, _y, cx, author->tqsizeHint().height()); - maintainer->setGeometry - (tempx, _y+author->height()+Grid, cx, maintainer->tqsizeHint().height()); - - _y+=QMAX(logo->height(), - author->height()+(showMaintainer ? Grid+maintainer->height() : 0)); - // ----- - if(!contributors.isEmpty()) - { - tempy=cont->tqsizeHint().height(); - cont->setGeometry(0, _y, width(), tempy); - cont->show(); - _y+=tempy+Grid; - } else { - cont->hide(); - } - TQPtrListIterator<KAboutContributor> _pos(contributors); - KAboutContributor* currEntry; - while( (currEntry = _pos.current()) ) - { - ++_pos; - tempy=currEntry->tqsizeHint().height(); - // y+=Grid; - currEntry->setGeometry(_x, _y, width(), tempy); - _y+=tempy; - } - if(showMaintainer) - { - maintainer->show(); - } else { - maintainer->hide(); - } - // ############################################################################ -} - -KAboutDialog::KAboutDialog(TQWidget *_parent, const char *_name, bool modal) - : KDialogBase(_parent, _name, modal, TQString::null, Ok, Ok ), - about(new KAboutWidget(this)), mContainerBase(0), d(0) -{ - // ################################################################# - if(!about) - { - // this will nearly never happen (out of memory in about box?) - kdDebug() << "KAboutDialog::KAboutDialog: Out of memory." << endl; - tqApp->quit(); - } - setMainWidget(about); - connect(about, TQT_SIGNAL(sendEmail(const TQString&, const TQString&)), - TQT_SLOT(sendEmailSlot(const TQString&, const TQString&))); - connect(about, TQT_SIGNAL(openURL(const TQString&)), - TQT_SLOT(openURLSlot(const TQString&))); - // ################################################################# -} - - -KAboutDialog::KAboutDialog( int layoutType, const TQString &_caption, - int buttonMask, ButtonCode defaultButton, - TQWidget *_parent, const char *_name, bool modal, - bool separator, const TQString &user1, - const TQString &user2, const TQString &user3 ) - :KDialogBase( _parent, _name, modal, TQString::null, buttonMask, defaultButton, - separator, user1, user2, user3 ), - about(0), d(0) -{ - setPlainCaption( i18n("About %1").arg(_caption) ); - - mContainerBase = new KAboutContainerBase( layoutType, this ); - setMainWidget(mContainerBase); - - connect( mContainerBase, TQT_SIGNAL(urlClick(const TQString &)), - this, TQT_SLOT(openURLSlot(const TQString &))); - connect( mContainerBase, TQT_SIGNAL(mailClick(const TQString &,const TQString &)), - this, TQT_SLOT(sendEmailSlot(const TQString &,const TQString &))); - connect( mContainerBase, TQT_SIGNAL(mouseTrack(int, const TQMouseEvent *)), - this, TQT_SLOT(mouseTrackSlot(int, const TQMouseEvent *))); -} - - -void KAboutDialog::show( void ) -{ - adjust(); - if( mContainerBase ) { mContainerBase->show(); } - TQDialog::show(); -} - - -void KAboutDialog::show( TQWidget * /*centerParent*/ ) -{ - adjust(); - if( mContainerBase ) { mContainerBase->show(); } - TQDialog::show(); -} - - -void KAboutDialog::adjust() -{ - if( !about ) { return; } - about->adjust(); - //initializeGeometry(); - resize( tqsizeHint() ); -} - - -void KAboutDialog::setLogo(const TQPixmap& i) -{ - if( !about ) { return; } - about->setLogo(i); -} - - -void KAboutDialog::setMaintainer(const TQString &_name, const TQString &_email, - const TQString &_url, const TQString &_w) -{ - // ################################################################# - if( !about ) { return; } - about->setMaintainer(_name, _email, _url, _w); - // ################################################################# -} - -void KAboutDialog::setAuthor(const TQString &_name, const TQString &_email, - const TQString &_url, const TQString &_work) -{ - // ################################################################# - if( !about ) { return; } - about->setAuthor(_name, _email, _url, _work); - // ################################################################# -} - -void KAboutDialog::addContributor(const TQString &_name, const TQString &_email, - const TQString &_url, const TQString &_w) -{ - // ################################################################# - if( !about ) { return; } - about->addContributor(_name, _email, _url, _w); - // ################################################################# -} - -void KAboutDialog::setVersion(const TQString &_name) -{ - // ################################################################# - if( !about ) { return; } - about->setVersion(_name); - // ################################################################# -} - -void KAboutDialog::sendEmailSlot(const TQString& /*name*/, const TQString& email) -{ - if ( kapp ) - kapp->invokeMailer( email, TQString::null ); - /* - kdDebug() << "KAboutDialog::sendEmailSlot: request to send an email to " - << name << ", " << email << endl; - emit(sendEmail(name, email)); - */ -} - -void KAboutDialog::openURLSlot(const TQString& url) -{ - if ( kapp ) - kapp->invokeBrowser( url ); - //kdDebug() << "KAboutDialog::openURLSlot: request to open URL " << url << endl; - //emit(openURL(url)); -} - - -void KAboutDialog::mouseTrackSlot( int /*mode*/, const TQMouseEvent * /*e*/ ) -{ - // By default we do nothing. This method must be reimplemented. -} - - -TQFrame *KAboutDialog::addTextPage( const TQString &title, const TQString &text, - bool richText, int numLines ) -{ - if( !mContainerBase ) { return 0; } - return mContainerBase->addTextPage( title, text, richText, numLines ); -} - -TQFrame *KAboutDialog::addLicensePage( const TQString &title, const TQString &text, - int numLines ) -{ - if( !mContainerBase ) { return 0; } - return mContainerBase->addLicensePage( title, text, numLines ); -} - - -KAboutContainer *KAboutDialog::addContainerPage( const TQString &title, - int childAlignment, int innerAlignment ) -{ - if( !mContainerBase ) { return 0; } - return mContainerBase->addContainerPage( title, childAlignment, - innerAlignment); -} - - -KAboutContainer *KAboutDialog::addScrolledContainerPage( const TQString &title, - int childAlignment, int innerAlignment ) -{ - if( !mContainerBase ) { return 0; } - return mContainerBase->addScrolledContainerPage( title, childAlignment, - innerAlignment); -} - - - -TQFrame *KAboutDialog::addPage( const TQString &title ) -{ - if( !mContainerBase ) { return 0; } - return mContainerBase->addEmptyPage( title ); -} - - -KAboutContainer *KAboutDialog::addContainer( int childAlignment, - int innerAlignment ) -{ - if( !mContainerBase ) { return 0; } - return mContainerBase->addContainer( childAlignment, innerAlignment ); -} - - -void KAboutDialog::setTitle( const TQString &title ) -{ - if( !mContainerBase ) { return; } - mContainerBase->setTitle( title ); -} - - -void KAboutDialog::setImage( const TQString &fileName ) -{ - if( !mContainerBase ) { return; } - mContainerBase->setImage( fileName ); -} - -// KDE4: remove -void KAboutDialog::setIcon( const TQString &fileName ) -{ - if( !mContainerBase ) { return; } - mContainerBase->setProgramLogo( fileName ); -} - -void KAboutDialog::setProgramLogo( const TQString &fileName ) -{ - if( !mContainerBase ) { return; } - mContainerBase->setProgramLogo( fileName ); -} - -void KAboutDialog::setProgramLogo( const TQPixmap &pixmap ) -{ - if( !mContainerBase ) { return; } - mContainerBase->setProgramLogo( pixmap ); -} - -void KAboutDialog::setImageBackgroundColor( const TQColor &color ) -{ - if( !mContainerBase ) { return; } - mContainerBase->setImageBackgroundColor( color ); -} - - -void KAboutDialog::setImageFrame( bool state ) -{ - if( !mContainerBase ) { return; } - mContainerBase->setImageFrame( state ); -} - - -void KAboutDialog::setProduct( const TQString &appName, const TQString &version, - const TQString &author, const TQString &year ) -{ - if( !mContainerBase ) { return; } - mContainerBase->setProduct( appName, version, author, year ); -} - - - -void KAboutDialog::imageURL( TQWidget *_parent, const TQString &_caption, - const TQString &_path, const TQColor &_imageColor, - const TQString &_url ) -{ - KAboutDialog a( AbtImageOnly, TQString::null, Close, Close, _parent, "image", true ); - a.setPlainCaption( _caption ); - a.setImage( _path ); - a.setImageBackgroundColor( _imageColor ); - - KAboutContainer* const c = a.addContainer( AlignCenter, AlignCenter ); - if( c ) - { - c->addPerson( TQString::null, TQString::null, _url, TQString::null ); - } - a.exec(); -} - - - - -// -// A class that can can monitor mouse movements on the image -// -KImageTrackLabel::KImageTrackLabel( TQWidget *_parent, const char *_name, WFlags f ) - : TQLabel( _parent, _name, f ) -{ - setText( i18n("Image missing")); -} - -void KImageTrackLabel::mousePressEvent( TQMouseEvent *e ) -{ - emit mouseTrack( MousePress, e ); -} - -void KImageTrackLabel::mouseReleaseEvent( TQMouseEvent *e ) -{ - emit mouseTrack( MouseRelease, e ); -} - -void KImageTrackLabel::mouseDoubleClickEvent( TQMouseEvent *e ) -{ - emit mouseTrack( MouseDoubleClick, e ); -} - -void KImageTrackLabel::mouseMoveEvent ( TQMouseEvent *e ) -{ - emit mouseTrack( MouseDoubleClick, e ); -} - -void KAboutDialog::virtual_hook( int id, void* data ) -{ KDialogBase::virtual_hook( id, data ); } - |