summaryrefslogtreecommitdiffstats
path: root/kdeui/kanimwidget.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'kdeui/kanimwidget.cpp')
-rw-r--r--kdeui/kanimwidget.cpp212
1 files changed, 0 insertions, 212 deletions
diff --git a/kdeui/kanimwidget.cpp b/kdeui/kanimwidget.cpp
deleted file mode 100644
index d538bea20..000000000
--- a/kdeui/kanimwidget.cpp
+++ /dev/null
@@ -1,212 +0,0 @@
-// -*- c-basic-offset: 2 -*-
-
-/* This file is part of the KDE libraries
- Copyright (C) 2000 Kurt Granroth <[email protected]>
-
- This library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Library General Public
- License version 2 as published by the Free Software Foundation.
-
- 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 <kanimwidget.h>
-#include <tqpixmap.h>
-#include <tqtimer.h>
-#include <tqpainter.h>
-#include <tqimage.h>
-#include <ktoolbar.h>
-#include <kdebug.h>
-#include <kiconloader.h>
-
-class KAnimWidgetPrivate
-{
-public:
- bool loadingCompleted : 1;
- bool initDone : 1;
- bool transparent : 1;
- int frames;
- int current_frame;
- TQPixmap pixmap;
- TQTimer timer;
- TQString icon_name;
- int size;
-};
-
-KAnimWidget::KAnimWidget( const TQString& icons, int size, TQWidget *parent,
- const char *name )
- : TQFrame( parent, name ),
- d( new KAnimWidgetPrivate )
-{
- connect( &d->timer, TQT_SIGNAL(timeout()), this, TQT_SLOT(slotTimerUpdate()));
-
- if (parent && parent->inherits( "KToolBar" ))
- connect(parent, TQT_SIGNAL(modechange()), this, TQT_SLOT(updateIcons()));
-
- d->loadingCompleted = false;
- d->size = size;
- d->initDone = false;
- setIcons( icons );
- setFrameStyle( StyledPanel | Sunken );
-}
-
-KAnimWidget::~KAnimWidget()
-{
- d->timer.stop();
-
- delete d; d = 0;
-}
-
-void KAnimWidget::start()
-{
- d->current_frame = 0;
- d->timer.start( 50 );
-}
-
-void KAnimWidget::stop()
-{
- d->current_frame = 0;
- d->timer.stop();
- tqrepaint();
-}
-
-void KAnimWidget::setSize( int size )
-{
- if ( d->size == size )
- return;
-
- d->size = size;
- updateIcons();
-}
-
-void KAnimWidget::setIcons( const TQString& icons )
-{
- if ( d->icon_name == icons )
- return;
-
- d->icon_name = icons;
- updateIcons();
-}
-
-TQString KAnimWidget::icons( ) const
-{
- return d->icon_name;
-}
-
-int KAnimWidget::size( ) const
-{
- return d->size;
-}
-
-
-void KAnimWidget::showEvent(TQShowEvent* e)
-{
- if (!d->initDone)
- {
- d->initDone = true;
- updateIcons();
- }
- TQFrame::showEvent(e);
-}
-
-void KAnimWidget::hideEvent(TQHideEvent* e)
-{
- TQFrame::hideEvent(e);
-}
-
-void KAnimWidget::enterEvent( TQEvent *e )
-{
- setFrameStyle( Panel | Raised );
-
- TQFrame::enterEvent( e );
-}
-
-void KAnimWidget::leaveEvent( TQEvent *e )
-{
- setFrameStyle( StyledPanel | Sunken );
-
- TQFrame::leaveEvent( e );
-}
-
-void KAnimWidget::mousePressEvent( TQMouseEvent *e )
-{
- TQFrame::mousePressEvent( e );
-}
-
-void KAnimWidget::mouseReleaseEvent( TQMouseEvent *e )
-{
- if ( e->button() == Qt::LeftButton &&
- rect().contains( e->pos() ) )
- emit clicked();
-
- TQFrame::mouseReleaseEvent( e );
-}
-
-void KAnimWidget::slotTimerUpdate()
-{
- if(!isVisible())
- return;
-
- d->current_frame++;
- if (d->current_frame == d->frames)
- d->current_frame = 0;
-
- // TODO
- // We have to clear the widget when repainting a transparent image
- // By doing it like this we get a bit of flicker though. A better
- // way might be to merge it with the background in drawContents.
- tqrepaint(d->transparent);
-}
-
-void KAnimWidget::drawContents( TQPainter *p )
-{
- if ( d->pixmap.isNull() )
- return;
-
- int w = d->pixmap.width();
- int h = w;
- int x = (width() - w) / 2;
- int y = (height() - h) / 2;
- p->drawPixmap(TQPoint(x, y), d->pixmap, TQRect(0, d->current_frame*h, w, h));
-}
-
-void KAnimWidget::updateIcons()
-{
- if (!d->initDone)
- return;
-
- if (parent()->inherits( "KToolBar" ))
- d->size = ((KToolBar*)parent())->iconSize();
- if (!d->size)
- d->size = KGlobal::iconLoader()->currentSize(KIcon::MainToolbar);
-
- TQString path = KGlobal::iconLoader()->iconPath(d->icon_name, -d->size);
- TQImage img(path);
-
- if (img.isNull())
- return;
-
- d->current_frame = 0;
- d->frames = img.height() / img.width();
- d->transparent = img.hasAlphaBuffer();
- if (d->pixmap.width() != d->size)
- {
- img = img.smoothScale(d->size, d->size*d->frames);
- }
- d->pixmap = img;
-
- setFixedSize( d->size+2, d->size+2 );
- resize( d->size+2, d->size+2 );
-}
-
-void KAnimWidget::virtual_hook( int, void* )
-{ /*BASE::virtual_hook( id, data );*/ }
-
-#include "kanimwidget.moc"