/* kasaboutdlg.cpp ** ** Copyright (C) 2001-2004 Richard Moore ** Contributor: Mosfet ** All rights reserved. ** ** KasBar is dual-licensed: you can choose the GPL or the BSD license. ** Short forms of both licenses are included below. */ /* ** 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. ** ** This program 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 General Public License for more details. ** ** You should have received a copy of the GNU General Public License ** along with this program in a file called COPYING; if not, write to ** the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, ** MA 02110-1301, USA. */ /* ** Redistribution and use in source and binary forms, with or without ** modification, are permitted provided that the following conditions ** are met: ** 1. Redistributions of source code must retain the above copyright ** notice, this list of conditions and the following disclaimer. ** 2. Redistributions in binary form must reproduce the above copyright ** notice, this list of conditions and the following disclaimer in the ** documentation and/or other materials provided with the distribution. ** ** THIS SOFTWARE IS PROVIDED BY THE AUTHORS AND CONTRIBUTORS ``AS IS'' AND ** ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE ** IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ** ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE ** FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL ** DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS ** OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) ** HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT ** LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY ** OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF ** SUCH DAMAGE. */ /* ** Bug reports and questions can be sent to kde-devel@kde.org */ #include #include #include #include #include #include #include #include #include #include #include #include #ifdef USE_KSPY #include #endif #include "kasbar.h" #include "kasitem.h" #include "kaspopup.h" #include "kasclockitem.h" #include "kasloaditem.h" #include "kasaboutdlg.h" #include "version.h" #define Icon(x) TDEGlobal::iconLoader()->loadIcon( x, TDEIcon::NoGroup, TDEIcon::SizeMedium ) #define LargeIcon(x) TDEGlobal::iconLoader()->loadIcon( x, TDEIcon::NoGroup, TDEIcon::SizeLarge ) KasAboutDialog::KasAboutDialog( TQWidget *parent ) : KDialogBase( KDialogBase::IconList, i18n("About Kasbar"), KDialogBase::Ok, KDialogBase::Ok, parent, "kasbarAboutDialog", false ) { #ifdef USE_KSPY KSpy::invoke(); #endif addInfoPage(); addAuthorsPage(); addBSDPage(); addGPLPage(); addDemoBar(); resize( 760, 450 ); } KasAboutDialog::~KasAboutDialog() { } void KasAboutDialog::addDemoBar() { TQHBox *box = new TQHBox( this ); box->setLineWidth(2); box->setFrameStyle( TQFrame::Panel | TQFrame::Sunken ); box->setSpacing( spacingHint() ); box->setMargin( marginHint() ); KasBar *bar = new KasBar( TQt::Horizontal, box ); bar->setItemSize( KasBar::Large ); bar->setMasked( false ); KasItem *ci = new KasItem( bar ); ci->setIcon( LargeIcon( "icons" ) ); bar->append( ci ); KasPopup *pop = new KasPopup( ci ); ci->setPopup( pop ); ci->setCustomPopup( true ); connect( ci, TQ_SIGNAL(leftButtonClicked(TQMouseEvent *)), ci, TQ_SLOT(togglePopup()) ); KasBar *groupbar = bar->createChildBar( ( bar->orientation() == TQt::Horizontal ) ? TQt::Vertical : TQt::Horizontal, pop ); KasItem *i = 0; KasClockItem *clk = new KasClockItem( groupbar ); groupbar->append( clk ); i = new KasLoadItem( groupbar ); groupbar->append( i ); groupbar->addTestItems(); pop->resize( groupbar->size() ); bar->setFixedSize( bar->itemExtent(), bar->itemExtent() ); addWidgetBelowList( box ); } void KasAboutDialog::addInfoPage() { TQVBox *aboutPage = addVBoxPage( i18n("About"), i18n("About Kasbar"), Icon( "appearance" ) ); aboutPage->setSpacing( spacingHint() ); new TQLabel( i18n( "" "

Kasbar Version: %1

" "TDE Version: %2" "
" ) .arg( VERSION_STRING ).arg( TDE_VERSION_STRING ), aboutPage ); KTextBrowser *text5 = new KTextBrowser( aboutPage ); text5->setText( i18n( "" "

Kasbar TNG began as a port of the original Kasbar applet to " "the (then new) extension API, but ended up as a complete " "rewrite because of the range of features needed by different " "groups of users. In the process of the rewrite all the standard " "features provided by the default taskbar were added, along with " "some more original ones such as thumbnails." "

" "

" "You can find information about the latest developments in Kasbar at " "%4, the Kasbar homepage." "

" "" ) .arg( HOMEPAGE_URL ).arg( HOMEPAGE_URL ) ); text5->setWordWrap( TQTextEdit::WidgetWidth ); } void KasAboutDialog::addAuthorsPage() { TQVBox *authorsPage = addVBoxPage( i18n("Authors"), i18n("Kasbar Authors"), Icon( "kuser" ) ); KTextBrowser *text = new KTextBrowser( authorsPage ); text->setText( i18n( "" "Richard Moore rich@kde.org
" "Homepage: http://xmelegance.org/" "

Developer and maintainer of the Kasbar TNG code.

" "
" "Daniel M. Duley (Mosfet) mosfet@kde.org
" "Homepage: http://www.mosfet.org/" "

Mosfet wrote the original Kasbar applet on which this " "extension is based. There is little of the original code " "remaining, but the basic look in opaque mode is almost " "identical to this first implementation.

" "" ) ); text->setWordWrap( TQTextEdit::WidgetWidth ); } void KasAboutDialog::addBSDPage() { TQVBox *bsdLicense = addVBoxPage( i18n("BSD License"), TQString::null, Icon( "filefind" ) ); new TQLabel( i18n( "Kasbar may be used under the terms of either the BSD license, " "or the GNU Public License." ), bsdLicense ); KTextBrowser *text2 = new KTextBrowser( bsdLicense ); text2->setText( "Some text of unsurpassed tediousness goes here." ); text2->setWordWrap( TQTextEdit::NoWrap ); TQString bsdFile = locate("data", "LICENSES/BSD"); if ( !bsdFile.isEmpty() ) { TQString result; TQFile file( bsdFile ); if ( file.open( IO_ReadOnly ) ) { TQTextStream str(&file); result += str.read(); } text2->setText( result ); } } void KasAboutDialog::addGPLPage() { TQVBox *gplPage = addVBoxPage( i18n("GPL License"), TQString::null, Icon( "filefind" ) ); new TQLabel( i18n( "Kasbar may be used under the terms of either the BSD license, " "or the GNU Public License." ), gplPage ); KTextBrowser *text3 = new KTextBrowser( gplPage ); text3->setText( "Some more text of unsurpassed tediousness goes here." ); text3->setWordWrap( TQTextEdit::NoWrap ); TQString gplFile = locate("data", "LICENSES/GPL_V2"); if ( !gplFile.isEmpty() ) { TQString result; TQFile file( gplFile ); if ( file.open( IO_ReadOnly ) ) { TQTextStream str(&file); result += str.read(); } text3->setText( result ); } } #include "kasaboutdlg.moc"