summaryrefslogtreecommitdiffstats
path: root/tdeio/tdeio/defaultprogress.h
diff options
context:
space:
mode:
Diffstat (limited to 'tdeio/tdeio/defaultprogress.h')
-rw-r--r--tdeio/tdeio/defaultprogress.h164
1 files changed, 164 insertions, 0 deletions
diff --git a/tdeio/tdeio/defaultprogress.h b/tdeio/tdeio/defaultprogress.h
new file mode 100644
index 000000000..de0dfd093
--- /dev/null
+++ b/tdeio/tdeio/defaultprogress.h
@@ -0,0 +1,164 @@
+/* This file is part of the KDE libraries
+ Copyright (C) 2000 Matej Koss <koss@miesto.sk>
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License version 2 as published by the Free Software Foundation.
+
+ This library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+#ifndef __defaultprogress_h__
+#define __defaultprogress_h__
+
+#include <tqlabel.h>
+
+#include <tdeio/global.h>
+
+#include <kprogress.h>
+
+#include "progressbase.h"
+
+class KLineEdit;
+
+namespace TDEIO {
+
+/*
+ * A default implementation of the progress dialog ProgressBase.
+ * ProgressBase
+ */
+class TDEIO_EXPORT DefaultProgress : public ProgressBase {
+
+ Q_OBJECT
+
+public:
+ /**
+ * Creates a new default progress dialog.
+ * @param showNow true to show immediately, false to show when
+ * needed
+ */
+ DefaultProgress( bool showNow = true );
+ /**
+ * Creates a new default progress dialog.
+ * @param parent the parent of the dialog (or 0 for top-level)
+ * @param name the name of the dialog, can be 0
+ * @since 3.1
+ */
+ DefaultProgress( TQWidget* parent, const char* name = 0 );
+ ~DefaultProgress();
+
+ bool keepOpen() const;
+
+ /// Shared with uiserver.cpp
+ static TQString makePercentString( unsigned long percent,
+ TDEIO::filesize_t totalSize,
+ unsigned long totalFiles );
+
+public slots:
+ virtual void slotTotalSize( TDEIO::Job *job, TDEIO::filesize_t size );
+ virtual void slotTotalFiles( TDEIO::Job *job, unsigned long files );
+ virtual void slotTotalDirs( TDEIO::Job *job, unsigned long dirs );
+
+ virtual void slotProcessedSize( TDEIO::Job *job, TDEIO::filesize_t bytes );
+ virtual void slotProcessedFiles( TDEIO::Job *job, unsigned long files );
+ virtual void slotProcessedDirs( TDEIO::Job *job, unsigned long dirs );
+
+ virtual void slotSpeed( TDEIO::Job *job, unsigned long speed );
+ virtual void slotPercent( TDEIO::Job *job, unsigned long percent );
+ /**
+ * Called to set an information message.
+ * @param job the TDEIO::Job
+ * @param msg the message to set
+ */
+ virtual void slotInfoMessage( TDEIO::Job *job, const TQString & msg );
+
+ virtual void slotCopying( TDEIO::Job* job, const KURL& src, const KURL& dest );
+ virtual void slotMoving( TDEIO::Job* job, const KURL& src, const KURL& dest );
+ virtual void slotDeleting( TDEIO::Job* job, const KURL& url );
+ /**
+ * Called when the job is transferring.
+ * @param job the TDEIO::Job
+ * @param url the url to transfer
+ * @since 3.1
+ */
+ void slotTransferring( TDEIO::Job* job, const KURL& url );
+ virtual void slotCreatingDir( TDEIO::Job* job, const KURL& dir );
+ /**
+ * Called when the job is requesting a stat.
+ * @param job the TDEIO::Job
+ * @param dir the dir to stat
+ * @since 3.1
+ */
+ virtual void slotStating( TDEIO::Job* job, const KURL& dir );
+ /**
+ * Called when the job is mounting.
+ * @param job the TDEIO::Job
+ * @param dev the device to mount
+ * @param point the mount point
+ */
+ virtual void slotMounting( TDEIO::Job* job, const TQString & dev, const TQString & point );
+ /**
+ * Called when the job is unmounting.
+ * @param job the TDEIO::Job
+ * @param point the mount point
+ */
+ virtual void slotUnmounting( TDEIO::Job* job, const TQString & point );
+ virtual void slotCanResume( TDEIO::Job* job, TDEIO::filesize_t from);
+
+ /**
+ * Called when the job is cleaned.
+ * @since 3.1
+ */
+ void slotClean();
+
+protected:
+ /// @since 3.1
+ void init();
+ void showTotals();
+ void setDestVisible( bool visible );
+ /// @since 3.1
+ void checkDestination( const KURL& dest);
+
+ KLineEdit* sourceEdit;
+ KLineEdit* destEdit;
+ TQLabel* progressLabel;
+ TQLabel* destInvite;
+ TQLabel* speedLabel;
+ TQLabel* sizeLabel;
+ TQLabel* resumeLabel;
+
+ KProgress* m_pProgressBar;
+
+ TDEIO::filesize_t m_iTotalSize;
+ unsigned long m_iTotalFiles;
+ unsigned long m_iTotalDirs;
+
+ TDEIO::filesize_t m_iProcessedSize;
+ unsigned long m_iProcessedDirs;
+ unsigned long m_iProcessedFiles;
+
+ enum ModeType { Copy, Move, Delete, Create, Done };
+ ModeType mode;
+
+protected:
+ virtual void virtual_hook( int id, void* data );
+private:
+ class DefaultProgressPrivate;
+ DefaultProgressPrivate* d;
+private slots:
+ void slotKeepOpenToggled(bool);
+ void slotOpenFile();
+ void slotOpenLocation();
+};
+
+} /* namespace */
+
+#endif // __defaultprogress_h__
+