#include "dolphin_export.h"
-#include <QDialog>
#include <KFileItem>
+
+#include <QDialog>
#include <QString>
class QLineEdit;
class QSpinBox;
class QPushButton;
-
+class KJob;
/**
* @brief Dialog for renaming a variable number of files.
+ *
+ * The dialog deletes itself when accepted or rejected.
*/
class DOLPHIN_EXPORT RenameDialog : public QDialog
{
public:
explicit RenameDialog(QWidget* parent, const KFileItemList& items);
- virtual ~RenameDialog();
+ ~RenameDialog() override;
+
+signals:
+ void renamingFinished(const QList<QUrl>& urls);
private slots:
void slotAccepted();
void slotTextChanged(const QString& newName);
+ void slotFileRenamed(const QUrl& oldUrl, const QUrl& newUrl);
+ void slotResult(KJob* job);
-private:
- void renameItems();
- void renameItem(const KFileItem &item, const QString& newName);
-
- /**
- * @return Returns the string \p name, where the characters represented by
- * \p indexPlaceHolder get replaced by the index \p index.
- * E. g. Calling indexedName("Test #.jpg", 12, '#') returns "Test 12.jpg".
- * A connected sequence of placeholders results in leading zeros:
- * indexedName("Test ####.jpg", 12, '#') returns "Test 0012.jpg".
- */
- static QString indexedName(const QString& name, int index, const QChar& indexPlaceHolder);
+protected:
+ void showEvent(QShowEvent* event) override;
private:
bool m_renameOneItem;
+ QList<QUrl> m_renamedItems;
QString m_newName;
QLineEdit* m_lineEdit;
KFileItemList m_items;