summaryrefslogtreecommitdiffstats
path: root/kio/misc/uiserver.h
diff options
context:
space:
mode:
Diffstat (limited to 'kio/misc/uiserver.h')
-rw-r--r--kio/misc/uiserver.h430
1 files changed, 0 insertions, 430 deletions
diff --git a/kio/misc/uiserver.h b/kio/misc/uiserver.h
deleted file mode 100644
index 85e255a43..000000000
--- a/kio/misc/uiserver.h
+++ /dev/null
@@ -1,430 +0,0 @@
-/* This file is part of the KDE libraries
- Copyright (C) 2000 Matej Koss <koss@miesto.sk>
- David Faure <faure@kde.org>
-
- 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 __kio_uiserver_h__
-#define __kio_uiserver_h__
-
-#include <tqintdict.h>
-#include <tqdatetime.h>
-#include <tqtimer.h>
-
-#include <dcopobject.h>
-#include <kio/global.h>
-#include <kio/authinfo.h>
-#include <kurl.h>
-#include <kmainwindow.h>
-#include <kdatastream.h>
-#include <klistview.h>
-#include <ksslcertdlg.h>
-
-class ListProgress;
-class KSqueezedTextLabel;
-class ProgressItem;
-class UIServer;
-
-namespace KIO {
- class Job;
- class DefaultProgress;
-}
-
-
-struct ListProgressColumnConfig
-{
- TQString title;
- int index;
- int width;
- bool enabled;
-};
-
-/**
-* List view in the UIServer.
-* @internal
-*/
-class KIO_EXPORT ListProgress : public KListView {
-
- Q_OBJECT
-
-public:
-
- ListProgress (TQWidget *parent = 0, const char *name = 0 );
-
- virtual ~ListProgress();
-
- /**
- * Field constants
- */
- enum ListProgressFields {
- TB_OPERATION = 0,
- TB_LOCAL_FILENAME = 1,
- TB_RESUME = 2,
- TB_COUNT = 3, //lv_count
- TB_PROGRESS = 4, // lv_progress
- TB_TOTAL = 5,
- TB_SPEED = 6,
- TB_REMAINING_TIME = 7,
- TB_ADDRESS = 8,
- TB_MAX = 9
- };
-
- friend class ProgressItem;
- friend class UIServer;
-protected slots:
- void columnWidthChanged(int column);
-protected:
-
- void writeSettings();
- void readSettings();
- void applySettings();
- void createColumns();
-
- bool m_showHeader;
- bool m_fixedColumnWidths;
- ListProgressColumnConfig m_lpcc[TB_MAX];
- //hack, alexxx
- KSqueezedTextLabel *m_squeezer;
-};
-
-/**
-* One item in the ListProgress
-* @internal
-*/
-class KIO_EXPORT ProgressItem : public TQObject, public TQListViewItem {
-
- Q_OBJECT
-
-public:
- ProgressItem( ListProgress* view, TQListViewItem *after, TQCString app_id, int job_id,
- bool showDefault = true );
- ~ProgressItem();
-
- TQCString appId() { return m_sAppId; }
- int jobId() { return m_iJobId; }
-
- bool keepOpen() const;
- void finished();
-
- void setVisible( bool visible );
- void setDefaultProgressVisible( bool visible );
- bool isVisible() const { return m_visible; }
-
- void setTotalSize( KIO::filesize_t bytes );
- void setTotalFiles( unsigned long files );
- void setTotalDirs( unsigned long dirs );
-
- void setProcessedSize( KIO::filesize_t size );
- void setProcessedFiles( unsigned long files );
- void setProcessedDirs( unsigned long dirs );
-
- void setPercent( unsigned long percent );
- void setSpeed( unsigned long bytes_per_second );
- void setInfoMessage( const TQString & msg );
-
- void setCopying( const KURL& from, const KURL& to );
- void setMoving( const KURL& from, const KURL& to );
- void setDeleting( const KURL& url );
- void setTransferring( const KURL& url );
- void setCreatingDir( const KURL& dir );
- void setStating( const KURL& url );
- void setMounting( const TQString & dev, const TQString & point );
- void setUnmounting( const TQString & point );
-
- void setCanResume( KIO::filesize_t offset );
-
- KIO::filesize_t totalSize() { return m_iTotalSize; }
- unsigned long totalFiles() { return m_iTotalFiles; }
- KIO::filesize_t processedSize() { return m_iProcessedSize; }
- unsigned long processedFiles() { return m_iProcessedFiles; }
- unsigned long speed() { return m_iSpeed; }
- unsigned int remainingSeconds() { return m_remainingSeconds; }
-
- const TQString& fullLengthAddress() const {return m_fullLengthAddress;}
- void setText(ListProgress::ListProgressFields field, const TQString& text);
-public slots:
- void slotShowDefaultProgress();
- void slotToggleDefaultProgress();
-
-protected slots:
- void slotCanceled();
-
-signals:
- void jobCanceled( ProgressItem* );
-
-protected:
- void updateVisibility();
-
- // ids that uniquely identify this progress item
- TQCString m_sAppId;
- int m_iJobId;
-
- // whether shown or not (it is hidden if a rename dialog pops up for the same job)
- bool m_visible;
- bool m_defaultProgressVisible;
-
- // parent listview
- ListProgress *listProgress;
-
- // associated default progress dialog
- KIO::DefaultProgress *defaultProgress;
-
- // we store these values for calculation of totals ( for statusbar )
- KIO::filesize_t m_iTotalSize;
- unsigned long m_iTotalFiles;
- KIO::filesize_t m_iProcessedSize;
- unsigned long m_iProcessedFiles;
- unsigned long m_iSpeed;
- int m_remainingSeconds;
- TQTimer m_showTimer;
- TQString m_fullLengthAddress;
-};
-
-class TQResizeEvent;
-class TQHideEvent;
-class TQShowEvent;
-class ProgressConfigDialog;
-class TQPopupMenu;
-class UIServerSystemTray;
-
-/**
- * It's purpose is to show progress of IO operations.
- * There is only one instance of this window for all jobs.
- *
- * All IO operations ( jobs ) are displayed in this window, one line per operation.
- * User can cancel operations with Cancel button on toolbar.
- *
- * Double clicking an item in the list opens a small download window ( DefaultProgress ).
- *
- * @short Graphical server for progress information with an optional all-in-one progress window.
- * @author David Faure <faure@kde.org>
- * @author Matej Koss <koss@miesto.sk>
- *
- * @internal
- */
-class KIO_EXPORT UIServer : public KMainWindow, public DCOPObject {
-
- K_DCOP
- Q_OBJECT
-
- UIServer();
- virtual ~UIServer();
-
-public:
- static UIServer* createInstance();
-
-k_dcop:
-
- /**
- * Signal a new job
- * @param appId the DCOP application id of the job's parent application
- * @see KIO::Observer::newJob
- * @param showProgress whether to popup the progress for the job.
- * Usually true, but may be false when we use kio_uiserver for
- * other things, like SSL dialogs.
- * @return the job id
- */
- int newJob( TQCString appId, bool showProgress );
-
- ASYNC jobFinished( int id );
-
- ASYNC totalSize( int id, unsigned long size );
- ASYNC totalSize64( int id, KIO::filesize_t size );
- ASYNC totalFiles( int id, unsigned long files );
- ASYNC totalDirs( int id, unsigned long dirs );
-
- ASYNC processedSize( int id, unsigned long bytes );
- ASYNC processedSize64( int id, KIO::filesize_t bytes );
- ASYNC processedFiles( int id, unsigned long files );
- ASYNC processedDirs( int id, unsigned long dirs );
-
- ASYNC percent( int id, unsigned long ipercent );
- ASYNC speed( int id, unsigned long bytes_per_second );
- ASYNC infoMessage( int id, const TQString & msg );
-
- ASYNC copying( int id, KURL from, KURL to );
- ASYNC moving( int id, KURL from, KURL to );
- ASYNC deleting( int id, KURL url );
- ASYNC transferring( int id, KURL url );
- ASYNC creatingDir( int id, KURL dir );
- ASYNC stating( int id, KURL url );
-
- ASYNC mounting( int id, TQString dev, TQString point );
- ASYNC unmounting( int id, TQString point );
-
- ASYNC canResume( int id, unsigned long offset );
- ASYNC canResume64( int id, KIO::filesize_t offset );
-
- /**
- * @deprecated (it blocks other apps).
- * Use KIO::PasswordDialog::getNameAndPassword instead.
- * To be removed in KDE 4.0.
- */
- TQByteArray openPassDlg( const KIO::AuthInfo &info );
-
- /**
- * Popup a message box.
- * @param id The message identifier.
- * @param type type of message box: QuestionYesNo, WarningYesNo, WarningContinueCancel...
- * This enum is defined in slavebase.h, it currently is:
- * QuestionYesNo = 1, WarningYesNo = 2, WarningContinueCancel = 3,
- * WarningYesNoCancel = 4, Information = 5, SSLMessageBox = 6
- * @param text Message string. May contain newlines.
- * @param caption Message box title.
- * @param buttonYes The text for the first button.
- * The default is i18n("&Yes").
- * @param buttonNo The text for the second button.
- * The default is i18n("&No").
- * Note: for ContinueCancel, buttonYes is the continue button and buttonNo is unused.
- * and for Information, none is used.
- * @return a button code, as defined in KMessageBox, or 0 on communication error.
- */
- int messageBox( int id, int type, const TQString &text, const TQString &caption,
- const TQString &buttonYes, const TQString &buttonNo );
-
- /**
- * @deprecated (it blocks other apps).
- * Use KIO::open_RenameDlg instead.
- * To be removed in KDE 4.0.
- */
- TQByteArray open_RenameDlg64( int id,
- const TQString & caption,
- const TQString& src, const TQString & dest,
- int /* KIO::RenameDlg_Mode */ mode,
- KIO::filesize_t sizeSrc,
- KIO::filesize_t sizeDest,
- unsigned long /* time_t */ ctimeSrc,
- unsigned long /* time_t */ ctimeDest,
- unsigned long /* time_t */ mtimeSrc,
- unsigned long /* time_t */ mtimeDest
- );
- /**
- * @deprecated (it blocks other apps).
- * Use KIO::open_RenameDlg instead.
- * To be removed in KDE 4.0.
- */
- TQByteArray open_RenameDlg( int id,
- const TQString & caption,
- const TQString& src, const TQString & dest,
- int /* KIO::RenameDlg_Mode */ mode,
- unsigned long sizeSrc,
- unsigned long sizeDest,
- unsigned long /* time_t */ ctimeSrc,
- unsigned long /* time_t */ ctimeDest,
- unsigned long /* time_t */ mtimeSrc,
- unsigned long /* time_t */ mtimeDest
- );
-
- /**
- * @deprecated (it blocks other apps).
- * Use KIO::open_SkipDlg instead.
- * To be removed in KDE 4.0.
- */
- int open_SkipDlg( int id,
- int /*bool*/ multi,
- const TQString & error_text );
-
- /**
- * Switch to or from list mode - called by the kcontrol module
- */
- void setListMode( bool list );
-
- /**
- * Hide or show a job. Typically, we hide a job while a "skip" or "rename" dialog
- * is being shown for this job. This prevents killing it from the uiserver.
- */
- void setJobVisible( int id, bool visible );
-
- /**
- * Show a SSL Information Dialog
- */
- void showSSLInfoDialog(const TQString &url, const KIO::MetaData &data, int mainwindow);
-
- /**
- * @deprecated
- */
- void showSSLInfoDialog(const TQString &url, const KIO::MetaData &data);
-
- /*
- * Show an SSL Certificate Selection Dialog
- */
- KSSLCertDlgRet showSSLCertDialog(const TQString& host, const TQStringList& certList, int mainwindow);
-
- /*
- * @deprecated
- */
- KSSLCertDlgRet showSSLCertDialog(const TQString& host, const TQStringList& certList);
-
-public slots:
- void slotConfigure();
- void slotRemoveSystemTrayIcon();
-protected slots:
-
- void slotUpdate();
- void slotQuit();
-
- void slotCancelCurrent();
-
- void slotToggleDefaultProgress( TQListViewItem * );
- void slotSelection();
-
- void slotJobCanceled( ProgressItem * );
- void slotApplyConfig();
- void slotShowContextMenu(KListView*, TQListViewItem *item, const TQPoint& pos);
-
-protected:
-
- ProgressItem* findItem( int id );
-
- virtual void resizeEvent(TQResizeEvent* e);
- virtual bool queryClose();
-
- void setItemVisible( ProgressItem * item, bool visible );
-
- TQTimer* updateTimer;
- ListProgress* listProgress;
-
- KToolBar::BarPosition toolbarPos;
- TQString properties;
-
- void applySettings();
- void readSettings();
- void writeSettings();
-private:
-
- void killJob( TQCString observerAppId, int progressId );
-
- int m_initWidth;
- int m_initHeight;
- int m_idCancelItem;
- bool m_bShowList;
- bool m_showStatusBar;
- bool m_showToolBar;
- bool m_keepListOpen;
- bool m_showSystemTray;
- bool m_shuttingDown;
-
- // true if there's a new job that hasn't been shown yet.
- bool m_bUpdateNewJob;
- ProgressConfigDialog *m_configDialog;
- TQPopupMenu* m_contextMenu;
- UIServerSystemTray *m_systemTray;
-
- static int s_jobId;
- friend class no_bogus_warning_from_gcc;
-};
-
-// -*- mode: c++; c-basic-offset: 2 -*-
-#endif