From 2bda8f7717adf28da4af0d34fb82f63d2868c31d Mon Sep 17 00:00:00 2001 From: toma Date: Wed, 25 Nov 2009 17:56:58 +0000 Subject: Copy the KDE 3.5 branch to branches/trinity for new KDE 3.5 features. BUG:215923 git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/kdeutils@1054174 283d02a7-25f6-0310-bc7c-ecb5cbfe19da --- ark/ark_part.h | 148 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 148 insertions(+) create mode 100644 ark/ark_part.h (limited to 'ark/ark_part.h') diff --git a/ark/ark_part.h b/ark/ark_part.h new file mode 100644 index 0000000..b5b7f6f --- /dev/null +++ b/ark/ark_part.h @@ -0,0 +1,148 @@ +/* + Copyright (C) + + 2001: Macadamian Technologies Inc (author: Jian Huang, jian@macadamian.com) + 2005: Henrique Pinto + + This program is free software; you can redistribute it and/or + modify it under the terms of the GNU General Public License + as published by the Free Software Foundation; either version 2 + of the License, or (at your option) any later version. + + This program 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 General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + +*/ + +#ifndef ARK_PART_H +#define ARK_PART_H + +#include +#include +#include +#include +#include +#include + +#include + +class KAboutData; +class KPushButton; + +class ArkWidget; + +namespace KIO +{ + class Job; +} + + +class ArkBrowserExtension: public KParts::BrowserExtension +{ + Q_OBJECT +public: + ArkBrowserExtension( KParts::ReadOnlyPart * parent, const char * name = 0L ); +public slots: + void slotOpenURLRequested( const KURL & url ); +}; + +class ArkStatusBarExtension: public KParts::StatusBarExtension +{ + Q_OBJECT +public: + ArkStatusBarExtension( KParts::ReadWritePart * parent ); + ~ArkStatusBarExtension(); + + void setProgress( unsigned long progress ); + KPushButton* cancelButton() const { return m_cancelButton; } + +public slots: + void slotSetStatusBarSelectedFiles( const QString & text ); + void slotSetStatusBarText( const QString & text ); + void slotSetBusy( const QString & text, bool showCancelButton = false, bool detailedProgress = false ); + void slotSetReady(); + void slotProgress(); + +protected: + void setupStatusBar(); + +private: + bool m_bBusy; + QLabel *m_pStatusLabelSelect; // How many files are selected + QLabel *m_pStatusLabelTotal; // How many files in archive + QLabel *m_pBusyText; + KPushButton *m_cancelButton; // Cancel an operation + KProgress *m_pProgressBar; + QTimer *m_pTimer; +}; + + +class ArkPart: public KParts::ReadWritePart +{ + Q_OBJECT +public: + ArkPart( QWidget *parentWidget, const char *widgetName, QObject *parent, + const char *name, const QStringList &, bool readWrite ); + virtual ~ArkPart(); + + static KAboutData* createAboutData(); + +public slots: + void fixEnables();//rename to slotFixEnables()... + void disableActions(); + void slotFilePopup( const QPoint & pPoint ); + void file_save_as(); + bool saveFile(); + bool openURL( const KURL & url ); + bool closeURL(); + void transferStarted( KIO::Job * ); + void transferCompleted(); + void transferCanceled( const QString& errMsg ); + void progressInformation( KIO::Job *, unsigned long ); + void cancelTransfer(); + +signals: + void fixActionState( const bool & bHaveFiles ); + void removeRecentURL( const KURL & url ); + void addRecentURL( const KURL & url ); + +protected: + virtual bool openFile(); //Opening an archive file + bool closeArchive(); + void setupActions(); + void initialEnables(); + void init(); + +private: + ArkWidget *awidget; + ArkBrowserExtension *m_ext; + ArkStatusBarExtension *m_bar; + + KAction *saveAsAction; + KAction *addFileAction; + KAction *addDirAction; + KAction *extractAction; + KAction *deleteAction; + KAction *selectAllAction; + KAction *viewAction; + KAction *helpAction; + KAction *openWithAction; + KAction *deselectAllAction; + KAction *invertSelectionAction; + KAction *editAction; + + // the following have different enable rules from the above KActions + KAction *popupViewAction; + KAction *popupOpenWithAction; + KToggleAction *showSearchBar; + + KIO::Job *m_job; +}; + +#endif // ARK_PART_H -- cgit v1.2.1