[Digikam-devel] [Bug 135442] Add 'rename' entry to album RMB menu
Gilles Caulier
caulier.gilles at kdemail.net
Tue Dec 12 14:04:12 GMT 2006
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
http://bugs.kde.org/show_bug.cgi?id=135442
caulier.gilles kdemail net changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |RESOLVED
Resolution| |FIXED
------- Additional Comments From caulier.gilles kdemail net 2006-12-12 15:04 -------
SVN commit 612743 by cgilles:
digiKam from trunk : Added missing "Rename..." option on Album RMB menu.
BUG: 135442
M +55 -0 albumfolderview.cpp
M +2 -0 albumfolderview.h
--- trunk/extragear/graphics/digikam/digikam/albumfolderview.cpp #612742:612743
@ -40,6 +40,13 @
#include <kaction.h>
#include <kfiledialog.h>
+#include <kdeversion.h>
+#if KDE_IS_VERSION(3,2,0)
+#include <kinputdialog.h>
+#else
+#include <klineeditdlg.h>
+#endif
+
// Local includes.
#include "ddebug.h"
@ -431,6 +438,7 @
// Root folder only shows "New Album..."
if(item && item->parent())
{
+ popmenu.insertItem(SmallIcon("pencil"), i18n("Rename..."), 14);
popmenu.insertItem(SmallIcon("albumfoldercomment"), i18n("Edit Album Properties..."), 11);
popmenu.insertItem(SmallIcon("reload_page"), i18n("Reset Album Icon"), 13);
popmenu.insertSeparator();
@ -528,6 +536,11 @
AlbumManager::instance()->updatePAlbumIcon(item->getAlbum(), 0, err);
break;
}
+ case 14:
+ {
+ albumRename(item);
+ break;
+ }
default:
break;
}
@ -678,6 +691,48 @
job->showErrorDialog(this);
}
+void AlbumFolderView::albumRename()
+{
+ AlbumFolderViewItem *item = dynamic_cast<AlbumFolderViewItem*>(selectedItem());
+ if(!item)
+ return;
+
+ albumRename(item);
+}
+
+void AlbumFolderView::albumRename(AlbumFolderViewItem* item)
+{
+ PAlbum *album = item->getAlbum();
+
+ if (!album)
+ return;
+
+ QString oldTitle(album->title());
+ bool ok;
+
+#if KDE_IS_VERSION(3,2,0)
+ QString title = KInputDialog::getText(i18n("Rename Album (%1)").arg(oldTitle),
+ i18n("Enter new album name:"),
+ oldTitle, &ok, this);
+#else
+ QString title = KLineEditDlg::getText(i18n("Rename Item (%1)").arg(oldTitle),
+ i18n("Enter new album name:"),
+ oldTitle, &ok, this);
+#endif
+
+ if (!ok)
+ return;
+
+ if(title != oldTitle)
+ {
+ QString errMsg;
+ if (!d->albumMan->renamePAlbum(album, title, errMsg))
+ KMessageBox::error(0, errMsg);
+ }
+
+ emit signalAlbumModified();
+}
+
void AlbumFolderView::albumEdit()
{
AlbumFolderViewItem *item = dynamic_cast<AlbumFolderViewItem*>(selectedItem());
--- trunk/extragear/graphics/digikam/digikam/albumfolderview.h #612742:612743
@ -58,6 +58,7 @
void albumNew();
void albumDelete();
void albumEdit();
+ void albumRename();
void setAlbumThumbnail(PAlbum *album);
@ -93,6 +94,7 @
void albumNew(AlbumFolderViewItem *item);
void albumEdit(AlbumFolderViewItem *item);
+ void albumRename(AlbumFolderViewItem *item);
void albumDelete(AlbumFolderViewItem *item);
void addAlbumChildrenToList(KURL::List &list, Album *album);
More information about the Digikam-devel
mailing list