You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
filelight/src/part/progressBox.cpp

66 lines
1.4 KiB

//Author: Max Howell <max.howell@methylblue.com>, (C) 2003-4
//Copyright: See COPYING file that comes with this distribution
#include <tdeglobal.h>
#include <tdeglobalsettings.h>
#include <tdeio/job.h>
#include <tdelocale.h>
#include "scan.h"
#include "progressBox.h"
ProgressBox::ProgressBox( TQWidget *parent, TQObject *part )
: TQLabel( parent, "ProgressBox" )
{
hide();
setAlignment( TQt::AlignCenter );
setFont( TDEGlobalSettings::fixedFont() );
setSizePolicy( TQSizePolicy::Minimum, TQSizePolicy::Fixed );
setText( 999999 );
setMinimumWidth( sizeHint().width() );
connect( &m_timer, TQT_SIGNAL(timeout()), TQT_SLOT(report()) );
connect( part, TQT_SIGNAL(started( TDEIO::Job* )), TQT_SLOT(start()) );
connect( part, TQT_SIGNAL(completed()), TQT_SLOT(stop()) );
connect( part, TQT_SIGNAL(canceled( const TQString& )), TQT_SLOT(halt()) );
}
void
ProgressBox::start() //slot
{
m_timer.start( 50 ); //20 times per second - very smooth
report();
show();
}
void
ProgressBox::report() //slot
{
setText( Filelight::ScanManager::files() );
}
void
ProgressBox::stop()
{
m_timer.stop();
}
void
ProgressBox::halt()
{
// canceled by stop button
m_timer.stop();
TQTimer::singleShot( 2000, this, TQT_SLOT(hide()) );
}
void
ProgressBox::setText( int files )
{
TQLabel::setText( i18n("%n File", "%n Files", files) );
}
#include "progressBox.moc"