X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/blobdiff_plain/7cd37f474739f666db310c65db9035591c3c7d78..b1c9b5126d:/src/renamedialog.cpp diff --git a/src/renamedialog.cpp b/src/renamedialog.cpp index d4d9e16d1..02dd2e9f6 100644 --- a/src/renamedialog.cpp +++ b/src/renamedialog.cpp @@ -26,8 +26,8 @@ #include #include -RenameDialog::RenameDialog(const QList& items) : - KDialog(), +RenameDialog::RenameDialog(QWidget *parent, const KFileItemList& items) : + KDialog(parent), m_renameOneItem(false) { const QSize minSize = minimumSize(); @@ -43,7 +43,7 @@ RenameDialog::RenameDialog(const QList& items) : setButtons(Ok | Cancel); setDefaultButton(Ok); - setButtonGuiItem(Ok, KGuiItem(i18nc("@action:button", "Rename"), "dialog-apply")); + setButtonGuiItem(Ok, KGuiItem(i18nc("@action:button", "Rename"), "dialog-ok-apply")); QWidget* page = new QWidget(this); setMainWidget(page); @@ -65,8 +65,9 @@ RenameDialog::RenameDialog(const QList& items) : } m_lineEdit = new KLineEdit(page); - QString extension = extensionString(items[0].url().prettyUrl()); + QString extension = KMimeType::extractKnownExtension(items[0].url().prettyUrl()); if (extension.length() > 0) { + extension.insert(0, '.'); // The first item seems to have a extension (e. g. '.jpg' or '.txt'). Now // check whether all other URLs have the same extension. If this is the // case, add this extension to the name suggestion. @@ -107,7 +108,8 @@ RenameDialog::RenameDialog(const QList& items) : } RenameDialog::~RenameDialog() -{} +{ +} void RenameDialog::slotButtonClicked(int button) { @@ -116,39 +118,13 @@ void RenameDialog::slotButtonClicked(int button) if (m_newName.isEmpty()) { m_errorString = i18nc("@info:status", "The new name is empty. A name with at least one character must be entered."); - } else if (!m_renameOneItem && m_newName.contains('#') != 1) { + } else if (!m_renameOneItem && (m_newName.count('#') == 0)) { m_newName.truncate(0); - m_errorString = i18nc("@info:status", "The name must contain exactly one # character."); + m_errorString = i18nc("@info:status", "The name must contain at least one # character."); } } KDialog::slotButtonClicked(button); } -QString RenameDialog::extensionString(const QString& name) -{ - QString extension; - bool foundExtension = false; // true if at least one valid file extension - // like "gif", "txt", ... has been found - - QStringList strings = name.split('.'); - const int size = strings.size(); - for (int i = 1; i < size; ++i) { - const QString& str = strings.at(i); - if (!foundExtension) { - // Sub strings like "9", "12", "99", ... which contain only - // numbers don't count as extension. Usually they are version - // numbers like in "cmake-2.4.5". - bool ok = false; - str.toInt(&ok); - foundExtension = !ok; - } - if (foundExtension) { - extension += '.' + str; - } - } - - return extension; -} - #include "renamedialog.moc"