[Digikam-devel] [Bug 115153] digikam assigns tags not only to selected images with drag and drop
Gilles Caulier
caulier.gilles at kdemail.net
Fri Dec 22 07:24:34 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=115153
------- Additional Comments From caulier.gilles kdemail net 2006-12-22 08:24 -------
SVN commit 615664 by cgilles:
digikam from trunk : polish Album Icon View pop-up menu contents when tags are dropped on album items.
CCBUGS: 115153
M +35 -57 albumiconview.cpp
M +2 -2 albumiconview.h
--- trunk/extragear/graphics/digikam/digikam/albumiconview.cpp #615663:615664
@ -1,11 +1,12 @
/* ============================================================
* Authors: Renchi Raju <renchi pooh tam uiuc edu>
* Caulier Gilles <caulier dot gilles at kdemail dot net>
+ * Marcel Wiesweg <marcel.wiesweg gmx de>
* Date : 2002-16-10
* Description : album icon view
*
* Copyright 2002-2005 by Renchi Raju and Gilles Caulier
- * Copyright 2006 by Gilles Caulier
+ * Copyright 2006 by Gilles Caulier and Marcel Wiesweg
*
* This program is free software; you can redistribute it
* and/or modify it under the terms of the GNU General
@ -1155,23 +1156,30 @
if (it->isSelected())
itemsSelected = true;
+ bool itemDropped = false;
+ AlbumIconItem *albumItem = findItem(event->pos());
+ if (albumItem)
+ itemDropped = true;
+
+ popMenu.insertItem(SmallIcon("tag"),
+ i18n("Assign '%1' to &All Items").arg(talbum->url().mid(1)), 11);
+
if (itemsSelected)
- {
- popMenu.insertItem(i18n("&Assign '%1' to Selected Items").arg(talbum->url()), 10);
- popMenu.insertItem(i18n("&Assign '%1' to Selected/Dropped Items").arg(talbum->url()), 11);
- popMenu.insertSeparator(-1);
- }
+ popMenu.insertItem(SmallIcon("tag"),
+ i18n("Assign '%1' to &Selected Items").arg(talbum->url().mid(1)), 10);
+
+ if (itemDropped)
+ popMenu.insertItem(SmallIcon("tag"),
+ i18n("Assign '%1' to &Dropped Item").arg(talbum->url().mid(1)), 12);
- popMenu.insertItem(i18n("&Assign '%1' to All Items").arg(talbum->url()), 12);
- popMenu.insertItem(i18n("&Assign '%1' to Dropped Item").arg(talbum->url()), 13);
popMenu.insertSeparator(-1);
- popMenu.insertItem( SmallIcon("cancel"), i18n("C&ancel") );
+ popMenu.insertItem(SmallIcon("cancel"), i18n("&Cancel"));
popMenu.setMouseTracking(true);
int id = popMenu.exec(QCursor::pos());
switch(id)
{
- case 10: // Selected Items
+ case 10: // Selected and Dropped Items
{
for (IconItem *it = firstItem(); it; it = it->nextItem())
{
@ -1181,21 +1189,6 @
albumItem->imageInfo()->setTag(tagID);
}
}
-
- d->imageLister->refresh();
- updateContents();
- break;
- }
- case 11: // Selected and Dropped Items
- {
- for (IconItem *it = firstItem(); it; it = it->nextItem())
- {
- if (it->isSelected())
- {
- AlbumIconItem *albumItem = static_cast<AlbumIconItem *>(it);
- albumItem->imageInfo()->setTag(tagID);
- }
- }
AlbumIconItem *albumItem = findItem(event->pos());
if (albumItem)
@ -1205,7 +1198,7 @
updateContents();
break;
}
- case 12: // All Items
+ case 11: // All Items
{
for (IconItem *it = firstItem(); it; it = it->nextItem())
{
@ -1217,7 +1210,7 @
updateContents();
break;
}
- case 13: // Dropped Item only.
+ case 12: // Dropped Item only.
{
AlbumIconItem *albumItem = findItem(event->pos());
if (albumItem)
@ -1246,23 +1239,27 @
if (it->isSelected())
itemsSelected = true;
+ bool itemDropped = false;
+ AlbumIconItem *albumItem = findItem(event->pos());
+ if (albumItem)
+ itemDropped = true;
+
+ popMenu.insertItem(SmallIcon("tag"), i18n("Assign Tags to &All Items"), 11);
+
if (itemsSelected)
- {
- popMenu.insertItem(i18n("&Assign Tags to Selected Items"), 10);
- popMenu.insertItem(i18n("&Assign Tags to Selected/Dropped Items"), 11);
- popMenu.insertSeparator(-1);
- }
+ popMenu.insertItem(SmallIcon("tag"), i18n("Assign Tags to &Selected Items"), 10);
- popMenu.insertItem(i18n("&Assign Tags to All Items"), 12);
- popMenu.insertItem(i18n("&Assign Tags to Dropped Item"), 13);
+ if (itemDropped)
+ popMenu.insertItem(SmallIcon("tag"), i18n("Assign Tags to &Dropped Item"), 12);
+
popMenu.insertSeparator(-1);
- popMenu.insertItem( SmallIcon("cancel"), i18n("C&ancel") );
+ popMenu.insertItem(SmallIcon("cancel"), i18n("&Cancel"));
popMenu.setMouseTracking(true);
int id = popMenu.exec(QCursor::pos());
switch(id)
{
- case 10: // Selected Items
+ case 10: // Selected and Dropped Items
{
for (IconItem *it = firstItem(); it; it = it->nextItem())
{
@ -1276,25 +1273,6 @
}
}
}
-
- d->imageLister->refresh();
- updateContents();
- break;
- }
- case 11: // Selected and Dropped Items
- {
- for (IconItem *it = firstItem(); it; it = it->nextItem())
- {
- if (it->isSelected())
- {
- AlbumIconItem *albumItem = static_cast<AlbumIconItem*>(it);
- for (QValueList<int>::iterator it = tagIDs.begin();
- it != tagIDs.end(); ++it)
- {
- albumItem->imageInfo()->setTag(*it);
- }
- }
- }
AlbumIconItem *albumItem = findItem(event->pos());
if (albumItem)
@ -1310,7 +1288,7 @
updateContents();
break;
}
- case 12: // All Items
+ case 11: // All Items
{
for (IconItem *it = firstItem(); it; it = it->nextItem())
{
@ -1326,7 +1304,7 @
updateContents();
break;
}
- case 13: // Dropped item only.
+ case 12: // Dropped item only.
{
AlbumIconItem *albumItem = findItem(event->pos());
if (albumItem)
--- trunk/extragear/graphics/digikam/digikam/albumiconview.h #615663:615664
@ -1,11 +1,12 @
/* ============================================================
* Authors: Renchi Raju <renchi pooh tam uiuc edu>
* Caulier Gilles <caulier dot gilles at kdemail dot net>
+ * Marcel Wiesweg <marcel.wiesweg gmx de>
* Date : 2002-16-10
* Description : album icon view
*
* Copyright 2002-2005 by Renchi Raju and Gilles Caulier
- * Copyright 2006 by Gilles Caulier
+ * Copyright 2006 by Gilles Caulier and Marcel Wiesweg
*
* This program is free software; you can redistribute it
* and/or modify it under the terms of the GNU General
@ -185,7 +186,6 @
private:
AlbumIconViewPrivate *d;
-
};
} // namespace Digikam
More information about the Digikam-devel
mailing list