• Skip to content
  • Skip to link menu
Trinity API Reference
  • Trinity API Reference
  • tdeio/tdeio
 

tdeio/tdeio

progressbase.cpp
00001 /* This file is part of the KDE libraries
00002    Copyright (C) 2000 Matej Koss <koss@miesto.sk>
00003 
00004    This library is free software; you can redistribute it and/or
00005    modify it under the terms of the GNU Library General Public
00006    License version 2 as published by the Free Software Foundation.
00007 
00008    This library is distributed in the hope that it will be useful,
00009    but WITHOUT ANY WARRANTY; without even the implied warranty of
00010    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00011    Library General Public License for more details.
00012 
00013    You should have received a copy of the GNU Library General Public License
00014    along with this library; see the file COPYING.LIB.  If not, write to
00015    the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
00016    Boston, MA 02110-1301, USA.
00017 */
00018 
00019 #include "jobclasses.h"
00020 #include "progressbase.h"
00021 
00022 namespace TDEIO {
00023 
00024 ProgressBase::ProgressBase( TQWidget *parent )
00025   : TQWidget( parent )
00026 {
00027   m_pJob = 0;
00028 
00029   // delete dialog after the job is finished / canceled
00030   m_bOnlyClean = false;
00031 
00032   // stop job on close
00033   m_bStopOnClose = true;
00034 }
00035 
00036 
00037 void ProgressBase::setJob( TDEIO::Job *job )
00038 {
00039   // first connect all slots
00040   connect( job, TQT_SIGNAL( percent( TDEIO::Job*, unsigned long ) ),
00041        TQT_SLOT( slotPercent( TDEIO::Job*, unsigned long ) ) );
00042 
00043   connect( job, TQT_SIGNAL( result( TDEIO::Job* ) ),
00044        TQT_SLOT( slotFinished( TDEIO::Job* ) ) );
00045 
00046   connect( job, TQT_SIGNAL( canceled( TDEIO::Job* ) ),
00047        TQT_SLOT( slotFinished( TDEIO::Job* ) ) );
00048 
00049   // then assign job
00050   m_pJob = job;
00051 }
00052 
00053 
00054 void ProgressBase::setJob( TDEIO::CopyJob *job )
00055 {
00056   // first connect all slots
00057   connect( job, TQT_SIGNAL( totalSize( TDEIO::Job*, TDEIO::filesize_t ) ),
00058        TQT_SLOT( slotTotalSize( TDEIO::Job*, TDEIO::filesize_t ) ) );
00059   connect( job, TQT_SIGNAL( totalFiles( TDEIO::Job*, unsigned long ) ),
00060        TQT_SLOT( slotTotalFiles( TDEIO::Job*, unsigned long ) ) );
00061   connect( job, TQT_SIGNAL( totalDirs( TDEIO::Job*, unsigned long ) ),
00062        TQT_SLOT( slotTotalDirs( TDEIO::Job*, unsigned long ) ) );
00063 
00064   connect( job, TQT_SIGNAL( processedSize( TDEIO::Job*, TDEIO::filesize_t ) ),
00065        TQT_SLOT( slotProcessedSize( TDEIO::Job*, TDEIO::filesize_t ) ) );
00066   connect( job, TQT_SIGNAL( processedFiles( TDEIO::Job*, unsigned long ) ),
00067        TQT_SLOT( slotProcessedFiles( TDEIO::Job*, unsigned long ) ) );
00068   connect( job, TQT_SIGNAL( processedDirs( TDEIO::Job*, unsigned long ) ),
00069        TQT_SLOT( slotProcessedDirs( TDEIO::Job*, unsigned long ) ) );
00070 
00071   connect( job, TQT_SIGNAL( speed( TDEIO::Job*, unsigned long ) ),
00072        TQT_SLOT( slotSpeed( TDEIO::Job*, unsigned long ) ) );
00073   connect( job, TQT_SIGNAL( percent( TDEIO::Job*, unsigned long ) ),
00074        TQT_SLOT( slotPercent( TDEIO::Job*, unsigned long ) ) );
00075 
00076   connect( job, TQT_SIGNAL( copying( TDEIO::Job*, const KURL& , const KURL& ) ),
00077        TQT_SLOT( slotCopying( TDEIO::Job*, const KURL&, const KURL& ) ) );
00078   connect( job, TQT_SIGNAL( moving( TDEIO::Job*, const KURL& , const KURL& ) ),
00079        TQT_SLOT( slotMoving( TDEIO::Job*, const KURL&, const KURL& ) ) );
00080   connect( job, TQT_SIGNAL( creatingDir( TDEIO::Job*, const KURL& ) ),
00081        TQT_SLOT( slotCreatingDir( TDEIO::Job*, const KURL& ) ) );
00082 
00083   connect( job, TQT_SIGNAL( result( TDEIO::Job* ) ),
00084        TQT_SLOT( slotFinished( TDEIO::Job* ) ) );
00085 
00086   connect( job, TQT_SIGNAL( canceled( TDEIO::Job* ) ),
00087        TQT_SLOT( slotFinished( TDEIO::Job* ) ) );
00088 
00089   // then assign job
00090   m_pJob = job;
00091 }
00092 
00093 
00094 void ProgressBase::setJob( TDEIO::DeleteJob *job )
00095 {
00096   // first connect all slots
00097   connect( job, TQT_SIGNAL( totalSize( TDEIO::Job*, TDEIO::filesize_t ) ),
00098        TQT_SLOT( slotTotalSize( TDEIO::Job*, TDEIO::filesize_t ) ) );
00099   connect( job, TQT_SIGNAL( totalFiles( TDEIO::Job*, unsigned long ) ),
00100        TQT_SLOT( slotTotalFiles( TDEIO::Job*, unsigned long ) ) );
00101   connect( job, TQT_SIGNAL( totalDirs( TDEIO::Job*, unsigned long ) ),
00102        TQT_SLOT( slotTotalDirs( TDEIO::Job*, unsigned long ) ) );
00103 
00104   connect( job, TQT_SIGNAL( processedSize( TDEIO::Job*, TDEIO::filesize_t ) ),
00105        TQT_SLOT( slotProcessedSize( TDEIO::Job*, TDEIO::filesize_t ) ) );
00106   connect( job, TQT_SIGNAL( processedFiles( TDEIO::Job*, unsigned long ) ),
00107        TQT_SLOT( slotProcessedFiles( TDEIO::Job*, unsigned long ) ) );
00108   connect( job, TQT_SIGNAL( processedDirs( TDEIO::Job*, unsigned long ) ),
00109        TQT_SLOT( slotProcessedDirs( TDEIO::Job*, unsigned long ) ) );
00110 
00111   connect( job, TQT_SIGNAL( speed( TDEIO::Job*, unsigned long ) ),
00112        TQT_SLOT( slotSpeed( TDEIO::Job*, unsigned long ) ) );
00113   connect( job, TQT_SIGNAL( percent( TDEIO::Job*, unsigned long ) ),
00114        TQT_SLOT( slotPercent( TDEIO::Job*, unsigned long ) ) );
00115 
00116   connect( job, TQT_SIGNAL( deleting( TDEIO::Job*, const KURL& ) ),
00117        TQT_SLOT( slotDeleting( TDEIO::Job*, const KURL& ) ) );
00118 
00119   connect( job, TQT_SIGNAL( result( TDEIO::Job* ) ),
00120        TQT_SLOT( slotFinished( TDEIO::Job* ) ) );
00121 
00122   connect( job, TQT_SIGNAL( canceled( TDEIO::Job* ) ),
00123        TQT_SLOT( slotFinished( TDEIO::Job* ) ) );
00124 
00125   // then assign job
00126   m_pJob = job;
00127 }
00128 
00129 
00130 void ProgressBase::closeEvent( TQCloseEvent* ) {
00131   // kill job when desired
00132   if ( m_bStopOnClose ) {
00133     slotStop();
00134   } else {
00135     // clean or delete dialog
00136     if ( m_bOnlyClean ) {
00137       slotClean();
00138     } else {
00139       delete this;
00140     }
00141   }
00142 }
00143 
00144 void ProgressBase::finished() {
00145   // clean or delete dialog
00146   if ( m_bOnlyClean ) {
00147     slotClean();
00148   } else {
00149     deleteLater();
00150   }
00151 }
00152 
00153 void ProgressBase::slotFinished( TDEIO::Job* ) {
00154   finished();
00155 }
00156 
00157 
00158 void ProgressBase::slotStop() {
00159   if ( m_pJob ) {
00160     m_pJob->kill(); // this will call slotFinished
00161     m_pJob = 0L;
00162   } else {
00163     slotFinished( 0 ); // here we call it ourselves
00164   }
00165 
00166   emit stopped();
00167 }
00168 
00169 
00170 void ProgressBase::slotClean() {
00171   hide();
00172 }
00173 
00174 void ProgressBase::virtual_hook( int, void* )
00175 { /*BASE::virtual_hook( id, data );*/ }
00176 
00177 } /* namespace */
00178 
00179 #include "progressbase.moc"
00180 

tdeio/tdeio

Skip menu "tdeio/tdeio"
  • Main Page
  • Modules
  • Namespace List
  • Class Hierarchy
  • Alphabetical List
  • Class List
  • File List
  • Namespace Members
  • Class Members
  • Related Pages

tdeio/tdeio

Skip menu "tdeio/tdeio"
  • arts
  • dcop
  • dnssd
  • interfaces
  •   kspeech
  •     interface
  •     library
  •   tdetexteditor
  • kate
  • kded
  • kdoctools
  • kimgio
  • kjs
  • libtdemid
  • libtdescreensaver
  • tdeabc
  • tdecmshell
  • tdecore
  • tdefx
  • tdehtml
  • tdeinit
  • tdeio
  •   bookmarks
  •   httpfilter
  •   kpasswdserver
  •   kssl
  •   tdefile
  •   tdeio
  •   tdeioexec
  • tdeioslave
  •   http
  • tdemdi
  •   tdemdi
  • tdenewstuff
  • tdeparts
  • tdeprint
  • tderandr
  • tderesources
  • tdespell2
  • tdesu
  • tdeui
  • tdeunittest
  • tdeutils
  • tdewallet
Generated for tdeio/tdeio by doxygen 1.7.6.1
This website is maintained by Timothy Pearson.