summaryrefslogtreecommitdiffstats
path: root/kicker/extensions/kasbar/kasaboutdlg.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'kicker/extensions/kasbar/kasaboutdlg.cpp')
-rw-r--r--kicker/extensions/kasbar/kasaboutdlg.cpp264
1 files changed, 264 insertions, 0 deletions
diff --git a/kicker/extensions/kasbar/kasaboutdlg.cpp b/kicker/extensions/kasbar/kasaboutdlg.cpp
new file mode 100644
index 000000000..1b58d87c3
--- /dev/null
+++ b/kicker/extensions/kasbar/kasaboutdlg.cpp
@@ -0,0 +1,264 @@
+/* kasaboutdlg.cpp
+**
+** Copyright (C) 2001-2004 Richard Moore <[email protected]>
+** 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 [email protected]
+*/
+
+#include <tqcheckbox.h>
+#include <tqgrid.h>
+#include <tqvbox.h>
+#include <tqlabel.h>
+#include <tqfile.h>
+#include <tqtextstream.h>
+
+#include <tdeversion.h>
+#include <tdelocale.h>
+#include <kstandarddirs.h>
+#include <tdeglobal.h>
+#include <kiconloader.h>
+#include <ktextbrowser.h>
+
+#ifdef USE_KSPY
+#include <kspy.h>
+#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( Qt::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, TQT_SIGNAL(leftButtonClicked(TQMouseEvent *)), ci, TQT_SLOT(togglePopup()) );
+
+ KasBar *groupbar = bar->createChildBar( ( bar->orientation() == Qt::Horizontal ) ? Qt::Vertical : Qt::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( "<qt><body>"
+ "<h2>Kasbar Version: %1</h2>"
+ "<b>KDE Version:</b> %2"
+ "</body></qt>" )
+ .arg( VERSION_STRING ).arg( TDE_VERSION_STRING ),
+ aboutPage );
+
+ KTextBrowser *text5 = new KTextBrowser( aboutPage );
+ text5->setText( i18n( "<html><body>"
+ "<p>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."
+ "</p>"
+ "<p>"
+ "You can find information about the latest developments in Kasbar at "
+ "<a href=\"%3\">%4</a>, the Kasbar homepage."
+ "</p>"
+ "</body></html>" )
+ .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(
+ "<html>"
+
+ "<b>Richard Moore</b> <a href=\"mailto:[email protected]\">[email protected]</a><br>"
+ "<b>Homepage:</b> <a href=\"http://xmelegance.org/\">http://xmelegance.org/</a>"
+
+ "<p>Developer and maintainer of the Kasbar TNG code.</p>"
+
+ "<hr/>"
+
+ "<b>Daniel M. Duley (Mosfet)</b> <a href=\"mailto:[email protected]\">[email protected]</a><br>"
+ "<b>Homepage:</b> <a href=\"http://www.mosfet.org/\">http://www.mosfet.org/</a>"
+
+ "<p>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.</p>"
+
+ "</html>" ) );
+
+ 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"