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

tdeio/tdeio

  • tdeio
  • tdeio
progressbase.cpp
1 /* This file is part of the KDE libraries
2  Copyright (C) 2000 Matej Koss <koss@miesto.sk>
3 
4  This library is free software; you can redistribute it and/or
5  modify it under the terms of the GNU Library General Public
6  License version 2 as published by the Free Software Foundation.
7 
8  This library is distributed in the hope that it will be useful,
9  but WITHOUT ANY WARRANTY; without even the implied warranty of
10  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
11  Library General Public License for more details.
12 
13  You should have received a copy of the GNU Library General Public License
14  along with this library; see the file COPYING.LIB. If not, write to
15  the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
16  Boston, MA 02110-1301, USA.
17 */
18 
19 #include "jobclasses.h"
20 #include "progressbase.h"
21 
22 namespace TDEIO {
23 
24 ProgressBase::ProgressBase( TQWidget *parent )
25  : TQWidget( parent )
26 {
27  m_pJob = 0;
28 
29  // delete dialog after the job is finished / canceled
30  m_bOnlyClean = false;
31 
32  // stop job on close
33  m_bStopOnClose = true;
34 }
35 
36 
37 void ProgressBase::setJob( TDEIO::Job *job )
38 {
39  // first connect all slots
40  connect( job, TQ_SIGNAL( percent( TDEIO::Job*, unsigned long ) ),
41  TQ_SLOT( slotPercent( TDEIO::Job*, unsigned long ) ) );
42 
43  connect( job, TQ_SIGNAL( result( TDEIO::Job* ) ),
44  TQ_SLOT( slotFinished( TDEIO::Job* ) ) );
45 
46  connect( job, TQ_SIGNAL( canceled( TDEIO::Job* ) ),
47  TQ_SLOT( slotFinished( TDEIO::Job* ) ) );
48 
49  // then assign job
50  m_pJob = job;
51 }
52 
53 
54 void ProgressBase::setJob( TDEIO::CopyJob *job )
55 {
56  // first connect all slots
57  connect( job, TQ_SIGNAL( totalSize( TDEIO::Job*, TDEIO::filesize_t ) ),
58  TQ_SLOT( slotTotalSize( TDEIO::Job*, TDEIO::filesize_t ) ) );
59  connect( job, TQ_SIGNAL( totalFiles( TDEIO::Job*, unsigned long ) ),
60  TQ_SLOT( slotTotalFiles( TDEIO::Job*, unsigned long ) ) );
61  connect( job, TQ_SIGNAL( totalDirs( TDEIO::Job*, unsigned long ) ),
62  TQ_SLOT( slotTotalDirs( TDEIO::Job*, unsigned long ) ) );
63 
64  connect( job, TQ_SIGNAL( processedSize( TDEIO::Job*, TDEIO::filesize_t ) ),
65  TQ_SLOT( slotProcessedSize( TDEIO::Job*, TDEIO::filesize_t ) ) );
66  connect( job, TQ_SIGNAL( processedFiles( TDEIO::Job*, unsigned long ) ),
67  TQ_SLOT( slotProcessedFiles( TDEIO::Job*, unsigned long ) ) );
68  connect( job, TQ_SIGNAL( processedDirs( TDEIO::Job*, unsigned long ) ),
69  TQ_SLOT( slotProcessedDirs( TDEIO::Job*, unsigned long ) ) );
70 
71  connect( job, TQ_SIGNAL( speed( TDEIO::Job*, unsigned long ) ),
72  TQ_SLOT( slotSpeed( TDEIO::Job*, unsigned long ) ) );
73  connect( job, TQ_SIGNAL( percent( TDEIO::Job*, unsigned long ) ),
74  TQ_SLOT( slotPercent( TDEIO::Job*, unsigned long ) ) );
75 
76  connect( job, TQ_SIGNAL( copying( TDEIO::Job*, const KURL& , const KURL& ) ),
77  TQ_SLOT( slotCopying( TDEIO::Job*, const KURL&, const KURL& ) ) );
78  connect( job, TQ_SIGNAL( moving( TDEIO::Job*, const KURL& , const KURL& ) ),
79  TQ_SLOT( slotMoving( TDEIO::Job*, const KURL&, const KURL& ) ) );
80  connect( job, TQ_SIGNAL( creatingDir( TDEIO::Job*, const KURL& ) ),
81  TQ_SLOT( slotCreatingDir( TDEIO::Job*, const KURL& ) ) );
82 
83  connect( job, TQ_SIGNAL( result( TDEIO::Job* ) ),
84  TQ_SLOT( slotFinished( TDEIO::Job* ) ) );
85 
86  connect( job, TQ_SIGNAL( canceled( TDEIO::Job* ) ),
87  TQ_SLOT( slotFinished( TDEIO::Job* ) ) );
88 
89  // then assign job
90  m_pJob = job;
91 }
92 
93 
94 void ProgressBase::setJob( TDEIO::DeleteJob *job )
95 {
96  // first connect all slots
97  connect( job, TQ_SIGNAL( totalSize( TDEIO::Job*, TDEIO::filesize_t ) ),
98  TQ_SLOT( slotTotalSize( TDEIO::Job*, TDEIO::filesize_t ) ) );
99  connect( job, TQ_SIGNAL( totalFiles( TDEIO::Job*, unsigned long ) ),
100  TQ_SLOT( slotTotalFiles( TDEIO::Job*, unsigned long ) ) );
101  connect( job, TQ_SIGNAL( totalDirs( TDEIO::Job*, unsigned long ) ),
102  TQ_SLOT( slotTotalDirs( TDEIO::Job*, unsigned long ) ) );
103 
104  connect( job, TQ_SIGNAL( processedSize( TDEIO::Job*, TDEIO::filesize_t ) ),
105  TQ_SLOT( slotProcessedSize( TDEIO::Job*, TDEIO::filesize_t ) ) );
106  connect( job, TQ_SIGNAL( processedFiles( TDEIO::Job*, unsigned long ) ),
107  TQ_SLOT( slotProcessedFiles( TDEIO::Job*, unsigned long ) ) );
108  connect( job, TQ_SIGNAL( processedDirs( TDEIO::Job*, unsigned long ) ),
109  TQ_SLOT( slotProcessedDirs( TDEIO::Job*, unsigned long ) ) );
110 
111  connect( job, TQ_SIGNAL( speed( TDEIO::Job*, unsigned long ) ),
112  TQ_SLOT( slotSpeed( TDEIO::Job*, unsigned long ) ) );
113  connect( job, TQ_SIGNAL( percent( TDEIO::Job*, unsigned long ) ),
114  TQ_SLOT( slotPercent( TDEIO::Job*, unsigned long ) ) );
115 
116  connect( job, TQ_SIGNAL( deleting( TDEIO::Job*, const KURL& ) ),
117  TQ_SLOT( slotDeleting( TDEIO::Job*, const KURL& ) ) );
118 
119  connect( job, TQ_SIGNAL( result( TDEIO::Job* ) ),
120  TQ_SLOT( slotFinished( TDEIO::Job* ) ) );
121 
122  connect( job, TQ_SIGNAL( canceled( TDEIO::Job* ) ),
123  TQ_SLOT( slotFinished( TDEIO::Job* ) ) );
124 
125  // then assign job
126  m_pJob = job;
127 }
128 
129 
130 void ProgressBase::closeEvent( TQCloseEvent* ) {
131  // kill job when desired
132  if ( m_bStopOnClose ) {
133  slotStop();
134  } else {
135  // clean or delete dialog
136  if ( m_bOnlyClean ) {
137  slotClean();
138  } else {
139  delete this;
140  }
141  }
142 }
143 
144 void ProgressBase::finished() {
145  // clean or delete dialog
146  if ( m_bOnlyClean ) {
147  slotClean();
148  } else {
149  deleteLater();
150  }
151 }
152 
153 void ProgressBase::slotFinished( TDEIO::Job* ) {
154  finished();
155 }
156 
157 
158 void ProgressBase::slotStop() {
159  if ( m_pJob ) {
160  m_pJob->kill(); // this will call slotFinished
161  m_pJob = 0L;
162  } else {
163  slotFinished( 0 ); // here we call it ourselves
164  }
165 
166  emit stopped();
167 }
168 
169 
170 void ProgressBase::slotClean() {
171  hide();
172 }
173 
174 void ProgressBase::virtual_hook( int, void* )
175 { /*BASE::virtual_hook( id, data );*/ }
176 
177 } /* namespace */
178 
179 #include "progressbase.moc"
180 
TDEIO::CopyJob
CopyJob is used to move, copy or symlink files and directories.
Definition: jobclasses.h:1507
TDEIO::DeleteJob
A more complex Job to delete files and directories.
Definition: jobclasses.h:1762
TDEIO::Job
The base class for all jobs.
Definition: jobclasses.h:67
TDEIO::Job::kill
virtual void kill(bool quietly=true)
Abort this job.
Definition: job.cpp:260
TDEIO::ProgressBase::slotStop
void slotStop()
This method should be called for correct cancellation of IO operation Connect this to the progress wi...
Definition: progressbase.cpp:158
TDEIO::ProgressBase::slotSpeed
virtual void slotSpeed(TDEIO::Job *job, unsigned long speed)
Called to set the speed.
Definition: progressbase.h:193
TDEIO::ProgressBase::finished
void finished()
Call when the operation finished.
Definition: progressbase.cpp:144
TDEIO::ProgressBase::slotProcessedSize
virtual void slotProcessedSize(TDEIO::Job *job, TDEIO::filesize_t bytes)
Called to set the processed size.
Definition: progressbase.h:171
TDEIO::ProgressBase::slotCreatingDir
virtual void slotCreatingDir(TDEIO::Job *job, const KURL &dir)
Called when the job is creating a directory.
Definition: progressbase.h:232
TDEIO::ProgressBase::setJob
void setJob(TDEIO::Job *job)
Assign a TDEIO::Job to this progress dialog.
Definition: progressbase.cpp:37
TDEIO::ProgressBase::slotPercent
virtual void slotPercent(TDEIO::Job *job, unsigned long percent)
Called to set the percentage.
Definition: progressbase.h:201
TDEIO::ProgressBase::slotProcessedDirs
virtual void slotProcessedDirs(TDEIO::Job *job, unsigned long dirs)
Called to set the number of processed directories.
Definition: progressbase.h:185
TDEIO::ProgressBase::slotTotalFiles
virtual void slotTotalFiles(TDEIO::Job *job, unsigned long files)
Called to set the total number of files.
Definition: progressbase.h:156
TDEIO::ProgressBase::slotCopying
virtual void slotCopying(TDEIO::Job *job, const KURL &src, const KURL &dest)
Called when the job is copying.
Definition: progressbase.h:210
TDEIO::ProgressBase::slotTotalSize
virtual void slotTotalSize(TDEIO::Job *job, TDEIO::filesize_t size)
Called to set the total size.
Definition: progressbase.h:149
TDEIO::ProgressBase::slotTotalDirs
virtual void slotTotalDirs(TDEIO::Job *job, unsigned long dirs)
Called to set the total number of directories.
Definition: progressbase.h:163
TDEIO::ProgressBase::slotProcessedFiles
virtual void slotProcessedFiles(TDEIO::Job *job, unsigned long files)
Called to set the number of processed files.
Definition: progressbase.h:178
TDEIO::ProgressBase::stopped
void stopped()
Called when the operation stopped.
TDEIO::ProgressBase::slotDeleting
virtual void slotDeleting(TDEIO::Job *job, const KURL &url)
Called when the job is deleting.
Definition: progressbase.h:225
TDEIO::ProgressBase::slotClean
virtual void slotClean()
This method is called when the widget should be cleaned (after job is finished).
Definition: progressbase.cpp:170
TDEIO::ProgressBase::ProgressBase
ProgressBase(TQWidget *parent)
Creates a new progress dialog.
Definition: progressbase.cpp:24
TDEIO::ProgressBase::slotMoving
virtual void slotMoving(TDEIO::Job *job, const KURL &src, const KURL &dest)
Called when the job is moving.
Definition: progressbase.h:218
TDEIO
A namespace for TDEIO globals.
Definition: authinfo.h:29
TDEIO::filesize_t
TQ_ULLONG filesize_t
64-bit file size
Definition: global.h:39

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.9.1
This website is maintained by Timothy Pearson.