summaryrefslogtreecommitdiffstats
path: root/tdeio/tdeio/renamedlg.h
diff options
context:
space:
mode:
Diffstat (limited to 'tdeio/tdeio/renamedlg.h')
-rw-r--r--tdeio/tdeio/renamedlg.h153
1 files changed, 153 insertions, 0 deletions
diff --git a/tdeio/tdeio/renamedlg.h b/tdeio/tdeio/renamedlg.h
new file mode 100644
index 000000000..81f16df94
--- /dev/null
+++ b/tdeio/tdeio/renamedlg.h
@@ -0,0 +1,153 @@
+/* This file is part of the KDE libraries
+ Copyright (C) 2000 Stephan Kulow <coolo@kde.org>
+ David Faure <faure@kde.org>
+ 2001 Holger Freyther <freyther@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 as published by the Free Software Foundation; either
+ version 2 of the License, or (at your option) any later version.
+
+ 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_rename_dlg__
+#define __kio_rename_dlg__
+
+#include <kurl.h>
+#include <tqdialog.h>
+#include <tqstring.h>
+#include <sys/types.h>
+
+#include <tdeio/global.h>
+
+namespace TDEIO {
+
+// KDE4: get rid of M_OVERWRITE_ITSELF, trigger it internally if src==dest
+enum RenameDlg_Mode { M_OVERWRITE = 1, M_OVERWRITE_ITSELF = 2, M_SKIP = 4, M_SINGLE = 8, M_MULTI = 16, M_RESUME = 32, M_NORENAME = 64 };
+
+/**
+ * The result of open_RenameDlg().
+ */
+enum RenameDlg_Result { R_RESUME = 6, R_RESUME_ALL = 7, R_OVERWRITE = 4, R_OVERWRITE_ALL = 5, R_SKIP = 2, R_AUTO_SKIP = 3, R_RENAME = 1, R_CANCEL = 0 };
+
+
+/**
+ * A dialog for the options to rename two files.
+ * @short A dialog for renaming files.
+ * @since 3.1
+ */
+class TDEIO_EXPORT RenameDlg : public TQDialog
+{
+ Q_OBJECT
+public:
+ /**
+ * Construct a "rename" dialog.
+ * @param parent parent widget (often 0)
+ * @param caption the caption for the dialog box
+ * @param src the url to the file/dir we're trying to copy, as it's part of the text message
+ * @param dest the path to destination file/dir, i.e. the one that already exists
+ * @param mode parameters for the dialog (which buttons to show...),
+ * @param sizeSrc size of source file
+ * @param sizeDest size of destination file
+ * @param ctimeSrc creation time of source file
+ * @param ctimeDest creation time of destination file
+ * @param mtimeSrc modification time of source file
+ * @param mtimeDest modification time of destination file
+ * @param modal set to true for a modal dialog
+ * @see RenameDlg_Mode
+ */
+ RenameDlg( TQWidget *parent, const TQString & caption,
+ // KDE4: make those KURLs, and use pathOrURL() internally.
+ const TQString & src, const TQString & dest,
+ RenameDlg_Mode mode,
+ TDEIO::filesize_t sizeSrc = (TDEIO::filesize_t) -1,
+ TDEIO::filesize_t sizeDest = (TDEIO::filesize_t) -1,
+ time_t ctimeSrc = (time_t) -1,
+ time_t ctimeDest = (time_t) -1,
+ time_t mtimeSrc = (time_t) -1,
+ time_t mtimeDest = (time_t) -1,
+ bool modal = false );
+ ~RenameDlg();
+
+ /**
+ * @return the new destination
+ * valid only if RENAME was chosen
+ */
+ KURL newDestURL();
+
+ /**
+ * Given a directory path and a filename (which usually exists already),
+ * this function returns a suggested name for a file that doesn't exist
+ * in that directory. The existence is only checked for local urls though.
+ * The suggested file name is of the form foo_1 foo_2 etc.
+ * @since 3.4
+ */
+ static TQString suggestName(const KURL& baseURL, const TQString& oldName);
+
+public slots:
+ /// KDE4: rename to cancelPressed(), renamePressed() etc.
+ void b0Pressed();
+ void b1Pressed();
+ void b2Pressed();
+ void b3Pressed();
+ void b4Pressed();
+ void b5Pressed();
+ void b6Pressed();
+ void b7Pressed();
+ void b8Pressed();
+
+protected slots:
+ void enableRenameButton(const TQString &);
+private:
+ class RenameDlgPrivate;
+ RenameDlgPrivate *d;
+ void pluginHandling( );
+};
+
+ /**
+ * \addtogroup renamedlg "RenameDlg related Functions"
+ * @{
+ * \relates TDEIO::RenameDlg
+ * Construct a modal, parent-less "rename" dialog, and return
+ * a result code, as well as the new dest. Much easier to use than the
+ * class RenameDlg directly.
+
+ * @param caption the caption for the dialog box
+ * @param src the URL of the file/dir we're trying to copy, as it's part of the text message
+ * @param dest the URL of the destination file/dir, i.e. the one that already exists
+ * @param mode parameters for the dialog (which buttons to show...),
+ * see RenameDlg_Mode
+ * @param newDest the new destination path, valid if R_RENAME was returned.
+ * @param sizeSrc size of source file
+ * @param sizeDest size of destination file
+ * @param ctimeSrc creation time of source file
+ * @param ctimeDest creation time of destination file
+ * @param mtimeSrc modification time of source file
+ * @param mtimeDest modification time of destination file
+ * @return the result
+ */
+TDEIO_EXPORT RenameDlg_Result open_RenameDlg( const TQString & caption,
+ // KDE4: make those KURLs
+ const TQString& src, const TQString & dest,
+ RenameDlg_Mode mode, TQString& newDestPath,
+ TDEIO::filesize_t sizeSrc = (TDEIO::filesize_t) -1,
+ TDEIO::filesize_t sizeDest = (TDEIO::filesize_t) -1,
+ time_t ctimeSrc = (time_t) -1,
+ time_t ctimeDest = (time_t) -1,
+ time_t mtimeSrc = (time_t) -1,
+ time_t mtimeDest = (time_t) -1
+ );
+
+/*! @} */
+
+}
+#endif