summaryrefslogtreecommitdiffstats
path: root/src/app/Panel/panelfunc.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/app/Panel/panelfunc.h')
-rw-r--r--src/app/Panel/panelfunc.h106
1 files changed, 106 insertions, 0 deletions
diff --git a/src/app/Panel/panelfunc.h b/src/app/Panel/panelfunc.h
new file mode 100644
index 0000000..be6c362
--- /dev/null
+++ b/src/app/Panel/panelfunc.h
@@ -0,0 +1,106 @@
+/***************************************************************************
+ panelfunc.h
+ -------------------
+ begin : Thu May 4 2000
+ copyright : (C) 2000 by Shie Erlich & Rafi Yanai
+ e-mail : krusader@users.sourceforge.net
+ web site : http://krusader.sourceforge.net
+ ---------------------------------------------------------------------------
+ Description
+ ***************************************************************************
+
+ A
+
+ db dD d8888b. db db .d8888. .d8b. d8888b. d88888b d8888b.
+ 88 ,8P' 88 `8D 88 88 88' YP d8' `8b 88 `8D 88' 88 `8D
+ 88,8P 88oobY' 88 88 `8bo. 88ooo88 88 88 88ooooo 88oobY'
+ 88`8b 88`8b 88 88 `Y8b. 88~~~88 88 88 88~~~~~ 88`8b
+ 88 `88. 88 `88. 88b d88 db 8D 88 88 88 .8D 88. 88 `88.
+ YP YD 88 YD ~Y8888P' `8888Y' YP YP Y8888D' Y88888P 88 YD
+
+ H e a d e r F i l e
+
+ ***************************************************************************
+ * *
+ * 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. *
+ * *
+ ***************************************************************************/
+
+
+#ifndef PANELFUNC_H
+#define PANELFUNC_H
+#include "listpanel.h"
+#include "krviewitem.h"
+#include <tqobject.h>
+#include <tqvaluestack.h>
+#include <tqtimer.h>
+
+class ListPanelFunc : public TQObject{
+friend class ListPanel;
+ TQ_OBJECT
+
+public slots:
+ inline vfile* getVFile(KrViewItem *item) { return files()->vfs_search(item->name()); }
+ inline vfile* getVFile(const TQString& name) { return files()->vfs_search(name); }
+ void execute(TQString&);
+ void openUrl(const KURL& path, const TQString& nameToMakeCurrent = TQString());
+ void openUrl(const TQString& path, const TQString& nameToMakeCurrent = TQString());
+ void immediateOpenUrl( const KURL& path);
+ void doOpenUrl();
+ void refresh();
+ void rename(const TQString &oldname, const TQString &newname);
+
+public:
+ ListPanelFunc(class ListPanel *parent);
+ ~ListPanelFunc();
+
+ vfs* files(); // return a pointer to the vfs
+
+ void refreshActions();
+ void redirectLink();
+ void krlink(bool sym);
+ void goBack();
+ void dirUp();
+ void properties();
+ void terminal();
+ void editFile();
+ void view();
+ void rename();
+ void mkdir();
+ void moveFiles();
+ void pack();
+ void unpack();
+ void testArchive();
+ void copyFiles();
+ void deleteFiles(bool reallyDelete=false);
+ void calcSpace(); // calculate the occupied space and show it in a dialog
+ void createChecksum();
+ void matchChecksum();
+ void copyToClipboard( bool move=false );
+ void pasteFromClipboard();
+
+ // calculate the occupied space. A dialog appears, if calculation lasts more than 3 seconds
+ // and disappears, if the calculation is done. Returns true, if the result is ok and false
+ // otherwise (Cancel was pressed).
+ bool calcSpace(const TQStringList & items,TDEIO::filesize_t & totalSize,unsigned long & totalFiles,unsigned long & totalDirs);
+ void FTPDisconnect();
+ void newFTPconnection();
+ inline ListPanelFunc* otherFunc(){ return panel->otherPanel->func; }
+
+private:
+ KURL getVirtualBaseURL();
+
+protected:
+ ListPanel* panel; // our ListPanel
+ TQValueStack<KURL> urlStack; // Path stack for the "back" button
+ bool inRefresh; // true when we are in refresh()
+ vfs* vfsP; // pointer to vfs.
+ TQTimer delayTimer;
+ KURL delayURL;
+ TQString nameToMakeCurrent;
+};
+
+#endif