• 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
22namespace TDEIO {
23
24ProgressBase::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
37void 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
54void 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
94void 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
130void 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
144void ProgressBase::finished() {
145 // clean or delete dialog
146 if ( m_bOnlyClean ) {
147 slotClean();
148 } else {
149 deleteLater();
150 }
151}
152
153void ProgressBase::slotFinished( TDEIO::Job* ) {
154 finished();
155}
156
157
158void 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
170void ProgressBase::slotClean() {
171 hide();
172}
173
174void 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
  • 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.8
This website is maintained by Timothy Pearson.