|
|
|
//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, TQ_SIGNAL(timeout()), TQ_SLOT(report()) );
|
|
|
|
connect( part, TQ_SIGNAL(started( TDEIO::Job* )), TQ_SLOT(start()) );
|
|
|
|
connect( part, TQ_SIGNAL(completed()), TQ_SLOT(stop()) );
|
|
|
|
connect( part, TQ_SIGNAL(canceled( const TQString& )), TQ_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, TQ_SLOT(hide()) );
|
|
|
|
}
|
|
|
|
|
|
|
|
void
|
|
|
|
ProgressBox::setText( int files )
|
|
|
|
{
|
|
|
|
TQLabel::setText( i18n("%n File", "%n Files", files) );
|
|
|
|
}
|
|
|
|
|
|
|
|
#include "progressBox.moc"
|