Dominique Leuenberger 2018-01-17 20:57:12 +00:00 committed by Git OBS Bridge
commit 2bfbadfe82
9 changed files with 808 additions and 121 deletions

View File

@ -0,0 +1,635 @@
From 87d90549a5db7c309228697652a4608ee774be74 Mon Sep 17 00:00:00 2001
From: Wolfgang Bauer <wbauer@tmo.at>
Date: Sun, 14 Jan 2018 00:17:04 +0100
Subject: [PATCH] Revert "replace obsolete qSort() function"
This reverts commit 1fdff40d7efaf9ab9d8fe716970e02a18bdb73f7.
It breaks compilation with GCC 4.8.
---
app/utils/tooltipfiller.cpp | 2 +-
app/views/tableview/tableview_model.cpp | 6 ++--
libs/album/albummanager.cpp | 6 ++--
libs/database/collection/collectionscanner.cpp | 2 +-
.../imagehistory/imagehistorygraph_boost.h | 2 +-
.../imagehistory/imagehistorygraphmodel.cpp | 2 +-
libs/database/models/imagemodel.cpp | 2 +-
libs/database/tags/facetags.cpp | 2 +-
libs/dimg/imagehistory/dimagehistory.cpp | 2 +-
libs/dmetadata/dmetadatasettingscontainer.cpp | 2 +-
libs/dtrash/dtrashitemmodel.cpp | 32 +++++++++++-----------
libs/imageproperties/disjointmetadata.cpp | 2 +-
libs/tags/tagfolderview.cpp | 18 ++++++------
libs/tags/tagsmanager/tagmngrtreeview.cpp | 10 +++----
libs/widgets/fonts/dfontproperties.cpp | 4 +--
libs/widgets/iccprofiles/iccprofilescombobox.cpp | 2 +-
showfoto/thumbbar/showfotoimagemodel.cpp | 2 +-
tests/dimg/dimghistorygraphtest.cpp | 18 ++++++------
utilities/advancedrename/advancedrenamemanager.cpp | 6 ++--
.../editor/correlator/track_correlator_thread.cpp | 2 +-
.../editor/searches/searchresultmodel.cpp | 4 +--
.../geolocation/geoiface/tracks/trackreader.cpp | 2 +-
utilities/importui/models/importimagemodel.cpp | 2 +-
utilities/maintenance/imageinfojob.cpp | 2 +-
utilities/searchwindow/searchutilities.cpp | 6 ++--
25 files changed, 70 insertions(+), 70 deletions(-)
diff --git a/core/app/utils/tooltipfiller.cpp b/core/app/utils/tooltipfiller.cpp
index 0371cdfe73..e40cefd18f 100644
--- a/core/app/utils/tooltipfiller.cpp
+++ b/core/app/utils/tooltipfiller.cpp
@@ -677,7 +677,7 @@ QString ToolTipFiller::filterActionTipContents(const FilterAction& action)
const QHash<QString, QVariant>& params = action.parameters();
QList<QString> keys = params.keys();
- std::sort(keys.begin(), keys.end());
+ qSort(keys);
foreach(const QString& key, keys)
{
diff --git a/core/app/views/tableview/tableview_model.cpp b/core/app/views/tableview/tableview_model.cpp
index 6047462023..f168f577f1 100644
--- a/core/app/views/tableview/tableview_model.cpp
+++ b/core/app/views/tableview/tableview_model.cpp
@@ -1144,9 +1144,9 @@ QList<TableViewModel::Item*> TableViewModel::sortItems(const QList<TableViewMode
{
QList<Item*> sortedList = itemList;
- std::sort(sortedList.begin(),
- sortedList.end(),
- LessThan(this));
+ qSort(sortedList.begin(),
+ sortedList.end(),
+ LessThan(this));
return sortedList;
}
diff --git a/core/libs/album/albummanager.cpp b/core/libs/album/albummanager.cpp
index ea0726eab3..f41f3faeac 100644
--- a/core/libs/album/albummanager.cpp
+++ b/core/libs/album/albummanager.cpp
@@ -1290,7 +1290,7 @@ void AlbumManager::scanPAlbums()
QList<AlbumInfo> currentAlbums = CoreDbAccess().db()->scanAlbums();
// sort by relative path so that parents are created before children
- std::sort(currentAlbums.begin(), currentAlbums.end());
+ qSort(currentAlbums);
QList<AlbumInfo> newAlbums;
@@ -1342,7 +1342,7 @@ void AlbumManager::scanPAlbums()
}
// sort by relative path so that parents are created before children
- std::sort(newAlbums.begin(), newAlbums.end());
+ qSort(newAlbums);
// create all new albums
foreach(const AlbumInfo& info, newAlbums)
@@ -1924,7 +1924,7 @@ void AlbumManager::setCurrentAlbums(QList<Album*> albums)
/**
* Sort is needed to identify selection correctly, ex AlbumHistory
*/
- std::sort(albums.begin(), albums.end());
+ qSort(albums.begin(),albums.end());
d->currentAlbums.clear();
d->currentAlbums+=albums;
diff --git a/core/libs/database/collection/collectionscanner.cpp b/core/libs/database/collection/collectionscanner.cpp
index b3284c8d99..b98d2d799a 100644
--- a/core/libs/database/collection/collectionscanner.cpp
+++ b/core/libs/database/collection/collectionscanner.cpp
@@ -531,7 +531,7 @@ void CollectionScanner::finishCompleteScan(const QStringList& albumPaths)
// remove subalbums from list if parent album is already contained
QStringList sortedPaths = albumPaths;
- std::sort(sortedPaths.begin(), sortedPaths.end());
+ qSort(sortedPaths);
QStringList::iterator it, it2;
for (it = sortedPaths.begin(); it != sortedPaths.end(); )
diff --git a/core/libs/database/imagehistory/imagehistorygraph_boost.h b/core/libs/database/imagehistory/imagehistorygraph_boost.h
index 5c4c49ac5f..affdf48466 100644
--- a/core/libs/database/imagehistory/imagehistorygraph_boost.h
+++ b/core/libs/database/imagehistory/imagehistorygraph_boost.h
@@ -1454,7 +1454,7 @@ protected:
outEdges = toList<edge_descriptor>(boost::out_edges(u, g));
// Sort edges. The lessThan we have takes vertices, so we use a lessThan which
// maps the given edges to their targets, and calls our vertex lessThan.
- std::sort(outEdges.begin(), outEdges.end(), lessThanMapEdgeToTarget<IncidenceGraph, LessThan>(g, lessThan));
+ qSort(outEdges.begin(), outEdges.end(), lessThanMapEdgeToTarget<IncidenceGraph, LessThan>(g, lessThan));
foreach(const edge_descriptor& e, outEdges)
{
diff --git a/core/libs/database/imagehistory/imagehistorygraphmodel.cpp b/core/libs/database/imagehistory/imagehistorygraphmodel.cpp
index fbe53b0af9..930bc9eab4 100644
--- a/core/libs/database/imagehistory/imagehistorygraphmodel.cpp
+++ b/core/libs/database/imagehistory/imagehistorygraphmodel.cpp
@@ -521,7 +521,7 @@ void ImageHistoryGraphModel::Private::
{
parentItem->addItem(new CategoryItem(title));
- std::sort(vertices.begin(), vertices.end(), sortBy(oldestInfoFirst));
+ qSort(vertices.begin(), vertices.end(), sortBy(oldestInfoFirst));
bool isFirst = true;
VertexItem* item = 0;
diff --git a/core/libs/database/models/imagemodel.cpp b/core/libs/database/models/imagemodel.cpp
index cd4dde5520..db30e93a5b 100644
--- a/core/libs/database/models/imagemodel.cpp
+++ b/core/libs/database/models/imagemodel.cpp
@@ -1197,7 +1197,7 @@ QList<QPair<int, int> > ImageModelIncrementalUpdater::toContiguousPairs(const QL
}
QList<int> indices(unsorted);
- std::sort(indices.begin(), indices.end());
+ qSort(indices);
QPair<int, int> pair(indices.first(), indices.first());
diff --git a/core/libs/database/tags/facetags.cpp b/core/libs/database/tags/facetags.cpp
index dc1f965ce2..cdf08c6613 100644
--- a/core/libs/database/tags/facetags.cpp
+++ b/core/libs/database/tags/facetags.cpp
@@ -398,7 +398,7 @@ int FaceTags::personParentTag()
QList<int> mosttoplevelTags = tiers.values(tiers.begin().key());
// as a pretty weak criterion, take the largest id which usually corresponds to the latest tag creation.
- std::sort(mosttoplevelTags.begin(), mosttoplevelTags.end());
+ qSort(mosttoplevelTags);
return TagsCache::instance()->parentTag(mosttoplevelTags.last());
}
diff --git a/core/libs/dimg/imagehistory/dimagehistory.cpp b/core/libs/dimg/imagehistory/dimagehistory.cpp
index ee24dc206c..2eb2b2ea17 100644
--- a/core/libs/dimg/imagehistory/dimagehistory.cpp
+++ b/core/libs/dimg/imagehistory/dimagehistory.cpp
@@ -534,7 +534,7 @@ QString DImageHistory::toXml() const
if (!params.isEmpty())
{
QList<QString> keys = params.keys();
- std::sort(keys.begin(), keys.end());
+ qSort(keys);
foreach(const QString& key, keys)
{
diff --git a/core/libs/dmetadata/dmetadatasettingscontainer.cpp b/core/libs/dmetadata/dmetadatasettingscontainer.cpp
index 32def9519b..4789f7543a 100644
--- a/core/libs/dmetadata/dmetadatasettingscontainer.cpp
+++ b/core/libs/dmetadata/dmetadatasettingscontainer.cpp
@@ -440,7 +440,7 @@ void DMetadataSettingsContainer::readOneGroup(KConfigGroup& group, const QString
container.append(ns);
}
- std::sort(container.begin(), container.end(), Digikam::dmcompare);
+ qSort(container.begin(), container.end(), Digikam::dmcompare);
}
void DMetadataSettingsContainer::writeOneGroup(KConfigGroup& group, const QString& name, QList<NamespaceEntry>& container) const
diff --git a/core/libs/dtrash/dtrashitemmodel.cpp b/core/libs/dtrash/dtrashitemmodel.cpp
index b21ac32446..0abbe7d223 100644
--- a/core/libs/dtrash/dtrashitemmodel.cpp
+++ b/core/libs/dtrash/dtrashitemmodel.cpp
@@ -146,28 +146,28 @@ void DTrashItemModel::sort(int column, Qt::SortOrder order)
return;
}
- std::sort(d->data.begin(), d->data.end(),
- [column, order](const DTrashItemInfo& a, const DTrashItemInfo& b)
+ qSort(d->data.begin(), d->data.end(),
+ [column, order](const DTrashItemInfo& a, const DTrashItemInfo& b)
+ {
+ if (column == 2 && a.deletionTimestamp != b.deletionTimestamp)
{
- if (column == 2 && a.deletionTimestamp != b.deletionTimestamp)
+ if (order == Qt::DescendingOrder)
{
- if (order == Qt::DescendingOrder)
- {
- return a.deletionTimestamp > b.deletionTimestamp;
- }
- else
- {
- return a.deletionTimestamp < b.deletionTimestamp;
- }
+ return a.deletionTimestamp > b.deletionTimestamp;
}
-
- if (order == Qt::DescendingOrder)
+ else
{
- return a.collectionRelativePath > b.collectionRelativePath;
+ return a.deletionTimestamp < b.deletionTimestamp;
}
+ }
+
+ if (order == Qt::DescendingOrder)
+ {
+ return a.collectionRelativePath > b.collectionRelativePath;
+ }
- return a.collectionRelativePath < b.collectionRelativePath;
- });
+ return a.collectionRelativePath < b.collectionRelativePath;
+ });
const QModelIndex topLeft = index(0, 0, QModelIndex());
const QModelIndex bottomRight = index(rowCount(QModelIndex())-1,
diff --git a/core/libs/imageproperties/disjointmetadata.cpp b/core/libs/imageproperties/disjointmetadata.cpp
index 3f3cd56bbc..53d5cb2cf0 100644
--- a/core/libs/imageproperties/disjointmetadata.cpp
+++ b/core/libs/imageproperties/disjointmetadata.cpp
@@ -609,7 +609,7 @@ void DisjointMetadata::loadTags( QList<int> &loadedTagIds)
return;
}
- std::sort(loadedTagIds.begin(), loadedTagIds.end());
+ qSort(loadedTagIds.begin(),loadedTagIds.end());
// We search for metadata available tags, and
// it is not present in current list, set it to
// disjoint
diff --git a/core/libs/tags/tagfolderview.cpp b/core/libs/tags/tagfolderview.cpp
index d4e1c09dfc..a194af0a5a 100644
--- a/core/libs/tags/tagfolderview.cpp
+++ b/core/libs/tags/tagfolderview.cpp
@@ -136,7 +136,7 @@ void TagFolderView::addCustomContextMenuActions(ContextMenuHelper& cmh, Album* a
cmh.addSeparator();
if (d->showDeleteFaceTagsAction)
{
- cmh.addActionDeleteFaceTag(tagModificationHelper(), tag);
+ cmh.addActionDeleteFaceTag(tagModificationHelper(),tag);
cmh.addSeparator();
}
else
@@ -146,7 +146,7 @@ void TagFolderView::addCustomContextMenuActions(ContextMenuHelper& cmh, Album* a
// If the tag is no face tag, add the option to set it as face tag.
if (!FaceTags::isPerson(tag->id()))
{
- cmh.addActionTagToFaceTag(tagModificationHelper(), tag);
+ cmh.addActionTagToFaceTag(tagModificationHelper(),tag);
}
}
cmh.addActionEditTag(tagModificationHelper(), tag);
@@ -199,7 +199,7 @@ void TagFolderView::slotExpandNode()
{
expand(child);
greyNodes.enqueue(child);
- child = current.child(it++, 0);
+ child = current.child(it++,0);
}
}
}
@@ -234,7 +234,7 @@ void TagFolderView::slotCollapseNode()
{
collapse(child);
greyNodes.enqueue(child);
- child = current.child(it++, 0);
+ child = current.child(it++,0);
}
}
}
@@ -294,18 +294,18 @@ void TagFolderView::setContexMenuItems(ContextMenuHelper& cmh, QList< TAlbum* >
cmh.addSeparator();
if (d->showDeleteFaceTagsAction)
{
- cmh.addActionDeleteFaceTags(tagModificationHelper(), albums);
+ cmh.addActionDeleteFaceTags(tagModificationHelper(),albums);
}
else
{
- cmh.addActionDeleteTags(tagModificationHelper(), albums);
+ cmh.addActionDeleteTags(tagModificationHelper(),albums);
// If one of the selected tags is no face tag, add the action to mark them as face tags.
foreach (TAlbum * const tag, albums)
{
if (!FaceTags::isPerson(tag->id()))
{
cmh.addSeparator();
- cmh.addActionTagToFaceTag(tagModificationHelper(), tag);
+ cmh.addActionTagToFaceTag(tagModificationHelper(),tag);
break;
}
}
@@ -342,7 +342,7 @@ void TagFolderView::contextMenuEvent(QContextMenuEvent* event)
QModelIndexList selectedItems = selectionModel()->selectedIndexes();
- std::sort(selectedItems.begin(), selectedItems.end());
+ qSort(selectedItems.begin(),selectedItems.end());
QList<TAlbum*> items;
foreach(const QModelIndex& mIndex, selectedItems)
@@ -356,7 +356,7 @@ void TagFolderView::contextMenuEvent(QContextMenuEvent* event)
*/
if(items.isEmpty())
{
- QModelIndex root = this->model()->index(0, 0);
+ QModelIndex root = this->model()->index(0,0);
items.append(static_cast<TAlbum*>(albumForIndex(root)));
}
diff --git a/core/libs/tags/tagsmanager/tagmngrtreeview.cpp b/core/libs/tags/tagsmanager/tagmngrtreeview.cpp
index 6dec5c6eb7..fb2a6991ba 100644
--- a/core/libs/tags/tagsmanager/tagmngrtreeview.cpp
+++ b/core/libs/tags/tagsmanager/tagmngrtreeview.cpp
@@ -71,7 +71,7 @@ void TagMngrTreeView::contextMenuEvent(QContextMenuEvent* event)
{
QModelIndexList selectedItems = selectionModel()->selectedIndexes();
- std::sort(selectedItems.begin(), selectedItems.end());
+ qSort(selectedItems.begin(),selectedItems.end());
QList<TAlbum*> items;
foreach(const QModelIndex& mIndex, selectedItems)
@@ -85,7 +85,7 @@ void TagMngrTreeView::contextMenuEvent(QContextMenuEvent* event)
*/
if(items.isEmpty())
{
- QModelIndex root = this->model()->index(0, 0);
+ QModelIndex root = this->model()->index(0,0);
items.append(static_cast<TAlbum*>(albumForIndex(root)));
}
@@ -130,7 +130,7 @@ void TagMngrTreeView::setContexMenuItems(ContextMenuHelper& cmh, QList<TAlbum*>
if (!isRoot)
{
- cmh.addActionDeleteTags(tagModificationHelper(), albums);
+ cmh.addActionDeleteTags(tagModificationHelper(),albums);
}
else
{
@@ -194,7 +194,7 @@ void TagMngrTreeView::slotExpandSelected()
void TagMngrTreeView::slotExpandTree()
{
- QModelIndex root = this->model()->index(0, 0);
+ QModelIndex root = this->model()->index(0,0);
QItemSelectionModel* const model = this->selectionModel();
QModelIndexList selected = model->selectedIndexes();
@@ -227,7 +227,7 @@ void TagMngrTreeView::slotExpandTree()
expand(child);
}
- child = current.child(it++, 0);
+ child = current.child(it++,0);
}
}
else
diff --git a/core/libs/widgets/fonts/dfontproperties.cpp b/core/libs/widgets/fonts/dfontproperties.cpp
index c78f8e5cb2..7466b62477 100644
--- a/core/libs/widgets/fonts/dfontproperties.cpp
+++ b/core/libs/widgets/fonts/dfontproperties.cpp
@@ -1037,7 +1037,7 @@ qreal DFontProperties::Private::fillSizeList(const QList<qreal>& sizes_)
// Insert sizes into the listbox.
sizeListBox->clear();
- std::sort(sizes.begin(), sizes.end());
+ qSort(sizes);
Q_FOREACH (qreal size, sizes)
{
@@ -1400,7 +1400,7 @@ QStringList DFontProperties::Private::translateFontNameList(const QStringList& n
// Sort real fonts alphabetically.
- std::sort(trNames.begin(), trNames.end(), localeLessThan);
+ qSort(trNames.begin(), trNames.end(), localeLessThan);
// Prepend generic fonts, in the predefined order.
diff --git a/core/libs/widgets/iccprofiles/iccprofilescombobox.cpp b/core/libs/widgets/iccprofiles/iccprofilescombobox.cpp
index 779be49aec..3be93a04a8 100644
--- a/core/libs/widgets/iccprofiles/iccprofilescombobox.cpp
+++ b/core/libs/widgets/iccprofiles/iccprofilescombobox.cpp
@@ -97,7 +97,7 @@ static void formatProfiles(const QList<IccProfile>& givenProfiles, QList<IccProf
}
}
- std::sort(profiles.begin(), profiles.end(), iccProfileLessThan);
+ qSort(profiles.begin(), profiles.end(), iccProfileLessThan);
foreach(IccProfile profile, profiles) // krazy:exclude=foreach
{
diff --git a/core/showfoto/thumbbar/showfotoimagemodel.cpp b/core/showfoto/thumbbar/showfotoimagemodel.cpp
index 500c0ce6e5..08bc5175b3 100644
--- a/core/showfoto/thumbbar/showfotoimagemodel.cpp
+++ b/core/showfoto/thumbbar/showfotoimagemodel.cpp
@@ -542,7 +542,7 @@ QList<QPair<int, int> > ShowfotoImageModel::toContiguousPairs(const QList<int>&
}
QList<int> indices(unsorted);
- std::sort(indices.begin(), indices.end());
+ qSort(indices);
QPair<int, int> pair(indices.first(), indices.first());
diff --git a/core/tests/dimg/dimghistorygraphtest.cpp b/core/tests/dimg/dimghistorygraphtest.cpp
index e9204954cd..335d8192a5 100644
--- a/core/tests/dimg/dimghistorygraphtest.cpp
+++ b/core/tests/dimg/dimghistorygraphtest.cpp
@@ -183,7 +183,7 @@ void DImgHistoryGraphTest::testEditing()
controlCloud << IdPair(two.id(), orig.id());
controlCloud << IdPair(three.id(), orig.id());
controlCloud << IdPair(four.id(), orig.id());
- std::sort(controlCloud.begin(), controlCloud.end());
+ qSort(controlCloud);
ImageHistoryGraph graph1 = ImageHistoryGraph::fromInfo(three);
qDebug() << graph1;
@@ -198,7 +198,7 @@ void DImgHistoryGraphTest::testEditing()
QVERIFY(graph3.data().vertexCount() == 5);
QList<IdPair> cloud = graph3.relationCloud();
- std::sort(cloud.begin(), cloud.end());
+ qSort(cloud);
QVERIFY(cloud == controlCloud);
int needResolvingTag = TagsCache::instance()->getOrCreateInternalTag(InternalTagName::needResolvingHistory());
@@ -301,7 +301,7 @@ void DImgHistoryGraphTest::testGraph()
QList<qlonglong> controlLeaves;
controlLeaves << 8 << 19 << 20 << 21 << 10 << 3 << 11 << 22 << 24 << 14 << 15 << 16 << 17 << 18;
- std::sort(controlLeaves.begin(), controlLeaves.end());
+ qSort(controlLeaves);
QList<qlonglong> controlRoots;
controlRoots << 1;
@@ -429,11 +429,11 @@ void DImgHistoryGraphTest::testGraph()
}
QList<qlonglong> leaves = mapList(graph.data().leaves(), vertexToId);
- std::sort(leaves.begin(), leaves.end());
+ qSort(leaves);
QVERIFY(leaves == controlLeaves);
QList<qlonglong> roots = mapList(graph.data().roots(), vertexToId);
- std::sort(roots.begin(), roots.end());
+ qSort(roots);
QVERIFY(roots == controlRoots);
QList<qlonglong> longestPath1 = mapList(graph.data().longestPathTouching(idToVertex.value(18)), vertexToId);
@@ -444,13 +444,13 @@ void DImgHistoryGraphTest::testGraph()
// depth-first
QList<qlonglong> subgraphTwo = mapList(graph.data().verticesDominatedBy(idToVertex.value(2), idToVertex.value(1),
HistoryGraph::DepthFirstOrder), vertexToId);
- std::sort(subgraphTwo.begin(), subgraphTwo.end());
+ qSort(subgraphTwo);
QVERIFY(subgraphTwo == controlSubgraphTwo);
// breadth-first
QList<qlonglong> subgraphFour = mapList(graph.data().verticesDominatedBy(idToVertex.value(4), idToVertex.value(1)), vertexToId);
QVERIFY(subgraphFour.indexOf(22) > subgraphFour.indexOf(13));
- std::sort(subgraphFour.begin(), subgraphFour.end());
+ qSort(subgraphFour);
QVERIFY(subgraphFour == controlSubgraphFour);
// depth-first
@@ -461,10 +461,10 @@ void DImgHistoryGraphTest::testGraph()
QVERIFY(subgraphTwoSorted == controlSubgraphTwoSorted);
QList<qlonglong> rootsOfEighteen = mapList(graph.data().rootsOf(idToVertex.value(18)), vertexToId);
- std::sort(rootsOfEighteen.begin(), rootsOfEighteen.end());
+ qSort(rootsOfEighteen);
QVERIFY(rootsOfEighteen == controlRootsOfEighteen);
QList<qlonglong> leavesFromTwo = mapList(graph.data().leavesFrom(idToVertex.value(2)), vertexToId);
- std::sort(leavesFromTwo.begin(), leavesFromTwo.end());
+ qSort(leavesFromTwo);
QVERIFY(leavesFromTwo == controlLeavesFromTwo);
}
diff --git a/core/utilities/advancedrename/advancedrenamemanager.cpp b/core/utilities/advancedrename/advancedrenamemanager.cpp
index 1c0c207af7..9f83887f80 100644
--- a/core/utilities/advancedrename/advancedrenamemanager.cpp
+++ b/core/utilities/advancedrename/advancedrenamemanager.cpp
@@ -331,19 +331,19 @@ void AdvancedRenameManager::initializeFileList()
{
case SortName:
{
- std::sort(tmpFiles.begin(), tmpFiles.end(), SortByNameCaseInsensitive());
+ qSort(tmpFiles.begin(), tmpFiles.end(), SortByNameCaseInsensitive());
break;
}
case SortDate:
{
- std::sort(tmpFiles.begin(), tmpFiles.end(), SortByDate());
+ qSort(tmpFiles.begin(), tmpFiles.end(), SortByDate());
break;
}
case SortSize:
{
- std::sort(tmpFiles.begin(), tmpFiles.end(), SortBySize());
+ qSort(tmpFiles.begin(), tmpFiles.end(), SortBySize());
break;
}
diff --git a/core/utilities/geolocation/editor/correlator/track_correlator_thread.cpp b/core/utilities/geolocation/editor/correlator/track_correlator_thread.cpp
index 8dc7b7df66..a5b818b6ea 100644
--- a/core/utilities/geolocation/editor/correlator/track_correlator_thread.cpp
+++ b/core/utilities/geolocation/editor/correlator/track_correlator_thread.cpp
@@ -50,7 +50,7 @@ TrackCorrelatorThread::~TrackCorrelatorThread()
void TrackCorrelatorThread::run()
{
// sort the items to correlate by time:
- std::sort(itemsToCorrelate.begin(), itemsToCorrelate.end(), TrackCorrelationLessThan);
+ qSort(itemsToCorrelate.begin(), itemsToCorrelate.end(), TrackCorrelationLessThan);
// now perform the correlation
// we search all loaded gpx data files in parallel for the points with the best match
diff --git a/core/utilities/geolocation/editor/searches/searchresultmodel.cpp b/core/utilities/geolocation/editor/searches/searchresultmodel.cpp
index aea4dc0346..412488ea38 100644
--- a/core/utilities/geolocation/editor/searches/searchresultmodel.cpp
+++ b/core/utilities/geolocation/editor/searches/searchresultmodel.cpp
@@ -315,7 +315,7 @@ void SearchResultModel::removeRowsByIndexes(const QModelIndexList& rowsList)
return;
}
- std::sort(rowNumbers.begin(), rowNumbers.end());
+ qSort(rowNumbers.begin(), rowNumbers.end());
// now delete the rows, starting with the last row:
for (int i = rowNumbers.count()-1; i >= 0; i--)
@@ -340,7 +340,7 @@ void SearchResultModel::removeRowsBySelection(const QItemSelection& selectionLis
}
// we expect the ranges to be sorted here
- std::sort(rowRanges.begin(), rowRanges.end(), RowRangeLessThan);
+ qSort(rowRanges.begin(), rowRanges.end(), RowRangeLessThan);
// now delete the rows, starting with the last row:
for (int i = rowRanges.count()-1; i >= 0; i--)
diff --git a/core/utilities/geolocation/geoiface/tracks/trackreader.cpp b/core/utilities/geolocation/geoiface/tracks/trackreader.cpp
index 71fef9804e..cb58917c08 100644
--- a/core/utilities/geolocation/geoiface/tracks/trackreader.cpp
+++ b/core/utilities/geolocation/geoiface/tracks/trackreader.cpp
@@ -330,7 +330,7 @@ TrackReader::TrackReadResult TrackReader::loadTrackFile(const QUrl& url)
}
// the correlation algorithm relies on sorted data, therefore sort now
- std::sort(parsedData.track.points.begin(), parsedData.track.points.end(), TrackManager::TrackPoint::EarlierThan);
+ qSort(parsedData.track.points.begin(), parsedData.track.points.end(), TrackManager::TrackPoint::EarlierThan);
return parsedData;
}
diff --git a/core/utilities/importui/models/importimagemodel.cpp b/core/utilities/importui/models/importimagemodel.cpp
index 644f436a2a..ce351efa10 100644
--- a/core/utilities/importui/models/importimagemodel.cpp
+++ b/core/utilities/importui/models/importimagemodel.cpp
@@ -926,7 +926,7 @@ QList<QPair<int, int> > ImportImageModelIncrementalUpdater::toContiguousPairs(co
}
QList<int> indices(unsorted);
- std::sort(indices.begin(), indices.end());
+ qSort(indices);
QPair<int, int> pair(indices.first(), indices.first());
diff --git a/core/utilities/maintenance/imageinfojob.cpp b/core/utilities/maintenance/imageinfojob.cpp
index d3915ceebe..8277e14368 100644
--- a/core/utilities/maintenance/imageinfojob.cpp
+++ b/core/utilities/maintenance/imageinfojob.cpp
@@ -175,7 +175,7 @@ void ImageInfoJob::slotData(const QList<ImageListerRecord>& records)
}
// Sort the itemList based on name
- std::sort(itemsList.begin(), itemsList.end(), ImageInfoList::namefileLessThan);
+ qSort(itemsList.begin(), itemsList.end(), ImageInfoList::namefileLessThan);
emit signalItemsInfo(itemsList);
}
diff --git a/core/utilities/searchwindow/searchutilities.cpp b/core/utilities/searchwindow/searchutilities.cpp
index 3a7fe43410..622a0a73ad 100644
--- a/core/utilities/searchwindow/searchutilities.cpp
+++ b/core/utilities/searchwindow/searchutilities.cpp
@@ -296,7 +296,7 @@ void CustomStepsDoubleSpinBox::setSuggestedValues(const QList<double>& values)
this, SLOT(slotValueChanged(double)));
d->values = values;
- std::sort(d->values.begin(), d->values.end());
+ qSort(d->values);
}
void CustomStepsDoubleSpinBox::setSuggestedInitialValue(double initialValue)
@@ -469,7 +469,7 @@ void CustomStepsIntSpinBox::setSuggestedValues(const QList<int>& values)
this, SLOT(slotValueChanged(int)));
d->values = values;
- std::sort(d->values.begin(), d->values.end());
+ qSort(d->values);
}
void CustomStepsIntSpinBox::setSuggestedInitialValue(int initialValue)
@@ -491,7 +491,7 @@ void CustomStepsIntSpinBox::setInvertStepping(bool invert)
void CustomStepsIntSpinBox::enableFractionMagic(const QString& prefix)
{
d->fractionPrefix = prefix;
- std::sort(d->values.begin(), d->values.end(), qGreater<int>());
+ qSort(d->values.begin(), d->values.end(), qGreater<int>());
}
void CustomStepsIntSpinBox::reset()
--
2.13.6

View File

@ -0,0 +1,105 @@
From d19d149b55c3f25c3c7f1c69c0b777acf0c83024 Mon Sep 17 00:00:00 2001
From: Wolfgang Bauer <wbauer@tmo.at>
Date: Sun, 14 Jan 2018 01:47:45 +0100
Subject: [PATCH] Revert "replace obsolete qSort() function"
This reverts commit 734b9d685f458e5f4dadc61216fbf12f9dc59ca6.
It breaks compilation with GCC 4.8.
---
facebook/fbtalker.cpp | 3 ++-
flashexport/simpleviewer.cpp | 2 +-
googleservices/gdtalker.cpp | 2 +-
googleservices/gptalker.cpp | 2 +-
piwigo/piwigotalker.cpp | 2 +-
smug/smugtalker.cpp | 2 +-
6 files changed, 7 insertions(+), 6 deletions(-)
diff --git a/extra/kipi-plugins/facebook/fbtalker.cpp b/extra/kipi-plugins/facebook/fbtalker.cpp
index 24d8b9723..71d704ee0 100644
--- a/extra/kipi-plugins/facebook/fbtalker.cpp
+++ b/extra/kipi-plugins/facebook/fbtalker.cpp
@@ -43,6 +43,7 @@
#include <QPlainTextEdit>
#include <QList>
#include <QDesktopServices>
+#include <QDebug>
#include <QApplication>
#include <QPushButton>
#include <QDialog>
@@ -863,7 +864,7 @@ void FbTalker::parseResponseListAlbums(const QByteArray& data)
errMsg = obj[QString::fromLatin1("message")].toString();
}
- std::sort(albumsList.begin(), albumsList.end());
+ qSort(albumsList.begin(), albumsList.end());
emit signalBusy(false);
emit signalListAlbumsDone(errCode, errorToText(errCode, errMsg),
diff --git a/extra/kipi-plugins/flashexport/simpleviewer.cpp b/extra/kipi-plugins/flashexport/simpleviewer.cpp
index 618f1b30a..b60f7fdda 100644
--- a/extra/kipi-plugins/flashexport/simpleviewer.cpp
+++ b/extra/kipi-plugins/flashexport/simpleviewer.cpp
@@ -530,7 +530,7 @@ void SimpleViewer::processQUrlList(QList<QUrl>& images, QDomDocument& xmlDoc,
QUrl imagesDir = QUrl::fromLocalFile(d->tempDir->path());
imagesDir.setPath(imagesDir.path() + QLatin1String("/images/"));
- std::sort(images.begin(), images.end(), cmpUrl);
+ qSort(images.begin(), images.end(), cmpUrl);
for (QList<QUrl>::ConstIterator it = images.constBegin();
!d->canceled && (it != images.constEnd()) ; ++it)
diff --git a/extra/kipi-plugins/googleservices/gdtalker.cpp b/extra/kipi-plugins/googleservices/gdtalker.cpp
index b7ba5295f..d719089f1 100644
--- a/extra/kipi-plugins/googleservices/gdtalker.cpp
+++ b/extra/kipi-plugins/googleservices/gdtalker.cpp
@@ -355,7 +355,7 @@ void GDTalker::parseResponseListFolders(const QByteArray& data)
albumList.append(fps);
}
- std::sort(albumList.begin(), albumList.end(), gdriveLessThan);
+ qSort(albumList.begin(), albumList.end(), gdriveLessThan);
emit signalBusy(false);
emit signalListAlbumsDone(1,QString(),albumList);
}
diff --git a/extra/kipi-plugins/googleservices/gptalker.cpp b/extra/kipi-plugins/googleservices/gptalker.cpp
index fe839a7d2..264acfa79 100644
--- a/extra/kipi-plugins/googleservices/gptalker.cpp
+++ b/extra/kipi-plugins/googleservices/gptalker.cpp
@@ -745,7 +745,7 @@ void GPTalker::parseResponseListAlbums(const QByteArray& data)
node = node.nextSibling();
}
- std::sort(albumList.begin(), albumList.end(), gphotoLessThan);
+ qSort(albumList.begin(), albumList.end(), gphotoLessThan);
emit signalListAlbumsDone(1, QString::fromLatin1(""), albumList);
}
diff --git a/extra/kipi-plugins/piwigo/piwigotalker.cpp b/extra/kipi-plugins/piwigo/piwigotalker.cpp
index 3fbfbec66..81c8368e0 100644
--- a/extra/kipi-plugins/piwigo/piwigotalker.cpp
+++ b/extra/kipi-plugins/piwigo/piwigotalker.cpp
@@ -569,7 +569,7 @@ void PiwigoTalker::parseResponseListAlbums(const QByteArray& data)
}
// We need parent albums to come first for rest of the code to work
- std::sort(albumList.begin(), albumList.end());
+ qSort(albumList);
emit signalAlbums(albumList);
}
diff --git a/extra/kipi-plugins/smug/smugtalker.cpp b/extra/kipi-plugins/smug/smugtalker.cpp
index 873a1f061..9349be00f 100644
--- a/extra/kipi-plugins/smug/smugtalker.cpp
+++ b/extra/kipi-plugins/smug/smugtalker.cpp
@@ -846,7 +846,7 @@ void SmugTalker::parseResponseListAlbums(const QByteArray& data)
if (errCode == 15) // 15: empty list
errCode = 0;
- std::sort(albumsList.begin(), albumsList.end(), SmugAlbum::lessThan);
+ qSort(albumsList.begin(), albumsList.end(), SmugAlbum::lessThan);
emit signalBusy(false);
emit signalListAlbumsDone(errCode, errorToText(errCode, errMsg), albumsList);
--
2.13.6

View File

@ -1,77 +0,0 @@
From dad750fadc926b62603cc9d64009ee5072a46d97 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Daniel=20Vr=C3=A1til?= <dvratil@kde.org>
Date: Wed, 13 Sep 2017 16:51:14 +0200
Subject: Adapt to KCalCore API changes
This change supports both old (pre-QDateTime) and new version.
Differential Revision: https://phabricator.kde.org/D7802
---
core/CMakeLists.txt | 3 +++
core/app/utils/digikam_config.h.cmake.in | 3 +++
core/utilities/assistants/calendar/print/calsettings.cpp | 14 ++++++++++----
3 files changed, 16 insertions(+), 4 deletions(-)
diff --git a/core/CMakeLists.txt b/core/CMakeLists.txt
index 3ad686d..e2f28a7 100644
--- a/core/CMakeLists.txt
+++ b/core/CMakeLists.txt
@@ -174,6 +174,9 @@ find_package(KF5 ${CALENDAR_MIN_VERSION} QUIET
OPTIONAL_COMPONENTS
CalendarCore # For Calendar tool.
)
+if ("${KF5CalendarCore_VERSION}" VERSION_GREATER 5.6.40)
+ set(HAVE_KCALENDAR_QDATETIME TRUE)
+endif()
if(ENABLE_AKONADICONTACTSUPPORT AND NOT KF5AkonadiContact_FOUND)
set(ENABLE_KFILEMETADATASUPPORT OFF)
diff --git a/core/app/utils/digikam_config.h.cmake.in b/core/app/utils/digikam_config.h.cmake.in
index 8a2e8e5..ffd3a22 100644
--- a/core/app/utils/digikam_config.h.cmake.in
+++ b/core/app/utils/digikam_config.h.cmake.in
@@ -75,6 +75,9 @@
/* Define to 1 if you have KCalendar core shared libraries installed */
#cmakedefine HAVE_KCALENDAR 1
+/* Define to 1 if you have KCalendar core shared libraries with QDateTime support installed */
+#cmakedefine HAVE_KCALENDAR_QDATETIME 1
+
/* Define to 1 if Panorama tool is supported */
#cmakedefine HAVE_PANORAMA 1
diff --git a/core/utilities/assistants/calendar/print/calsettings.cpp b/core/utilities/assistants/calendar/print/calsettings.cpp
index 46e995d..c6554ef 100644
--- a/core/utilities/assistants/calendar/print/calsettings.cpp
+++ b/core/utilities/assistants/calendar/print/calsettings.cpp
@@ -290,7 +290,13 @@ void CalSettings::loadSpecial(const QUrl& url, const QColor& color)
return;
}
- KCalCore::MemoryCalendar::Ptr memCal(new KCalCore::MemoryCalendar(QString::fromLatin1("UTC")));
+#if HAVE_KCALENDAR_QDATETIME
+ KCalCore::MemoryCalendar::Ptr memCal(new KCalCore::MemoryCalendar(QTimeZone::utc()));
+ using DateTime = QDateTime;
+#else
+ KCalCore::MemoryCalendar::Ptr memCal(new KCalCore::MemoryCalendar(QString::fromLatin1("UTC")));
+ using DateTime = KDateTime;
+#endif
KCalCore::FileStorage::Ptr fileStorage(new KCalCore::FileStorage(memCal, url.toLocalFile(), new KCalCore::ICalFormat));
qCDebug(DIGIKAM_GENERAL_LOG) << "Loading calendar from file " << url.toLocalFile();
@@ -308,9 +314,9 @@ void CalSettings::loadSpecial(const QUrl& url, const QColor& color)
qLast = calSys.date(params.year + 1, 1, 1);
qLast = qLast.addDays(-1);
- KDateTime dtFirst(qFirst);
- KDateTime dtLast(qLast);
- KDateTime dtCurrent;
+ DateTime dtFirst(qFirst, QTime(0, 0));
+ DateTime dtLast(qLast, QTime(0, 0));
+ DateTime dtCurrent;
int counter = 0;
KCalCore::Event::List list = memCal->rawEvents(qFirst, qLast);
--
cgit v0.11.2

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:3605ffb5b6e8fbd6b725e5075f74f505d7edee7531789c2882d11df2d20150f5
size 123315064

3
digikam-5.8.0.tar.xz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:194a44cc3ca229d501acfba67a38d483d1d64069a85e0491dd28dc2b57091c6e
size 127361060

View File

@ -1,3 +1,31 @@
-------------------------------------------------------------------
Mon Jan 15 19:33:44 UTC 2018 - wbauer@tmo.at
- Update to 5.8.0:
* https://www.digikam.org/news/2018-01-14-5.8.0_release_announcement/
- New features (from NEWS):
General : Add support to OpenCV 3.4.x.
General : Updated internal Libraw to last 0.18.6.
General : New Upnp/Dlna media server to share collections on local network.
Image Editor : New clone tool to replace old CImg in-painting tool.
DropBox : tool ported AuthO2 API.
- 231 bugs fixed
- Remove unneeded libkface-devel build requirement, it's not used
anymore since over 2 years
- Add 0001-Revert-replace-obsolete-qSort-function.patch and
0002-Revert-replace-obsolete-qSort-function.patch to fix build
with gcc 4.8 on Leap 42
- Add fix-italian-docs-with-older-kdoctools.patch to make it build
on Leap 42.2
- Pass --without-kde to %find_lang to prevent the docs being added
to the lang package, we have a separate docs subpackage
(it supports the KF5 docs location starting with rpm 4.14.0, and
that would break the build)
- Drop upstream patches:
* Adapt-to-KCalCore-API-changes.patch
* fix-Qt-5.9.3-empty-album-problem.patch
------------------------------------------------------------------- -------------------------------------------------------------------
Fri Dec 8 19:48:19 UTC 2017 - wbauer@tmo.at Fri Dec 8 19:48:19 UTC 2017 - wbauer@tmo.at

View File

@ -1,7 +1,7 @@
# #
# spec file for package digikam # spec file for package digikam
# #
# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany. # Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany.
# #
# All modifications and additions to the file contributed by third parties # All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed # remain the property of their copyright owners, unless otherwise agreed
@ -17,7 +17,7 @@
Name: digikam Name: digikam
Version: 5.7.0 Version: 5.8.0
Release: 0 Release: 0
Summary: A KDE Photo Manager Summary: A KDE Photo Manager
License: GPL-2.0+ License: GPL-2.0+
@ -26,10 +26,12 @@ Url: http://www.digikam.org/
Source0: http://download.kde.org/stable/%{name}/%{name}-%{version}.tar.xz Source0: http://download.kde.org/stable/%{name}/%{name}-%{version}.tar.xz
# PATCH-FIX-OPENSUSE 0001-Disable-detection-of-OpenGL-for-GLES-platforms.patch -- The OpenGL slideshow depends on Desktop GL, see kde#383715 # PATCH-FIX-OPENSUSE 0001-Disable-detection-of-OpenGL-for-GLES-platforms.patch -- The OpenGL slideshow depends on Desktop GL, see kde#383715
Patch0: 0001-Disable-detection-of-OpenGL-for-GLES-platforms.patch Patch0: 0001-Disable-detection-of-OpenGL-for-GLES-platforms.patch
# PATCH-FIX-UPSTREAM # PATCH-FIX-OPENSUSE
Patch1: Adapt-to-KCalCore-API-changes.patch Patch1: 0001-Revert-replace-obsolete-qSort-function.patch
# PATCH-FIX-UPSTREAM # PATCH-FIX-OPENSUSE
Patch2: fix-Qt-5.9.3-empty-album-problem.patch Patch2: 0002-Revert-replace-obsolete-qSort-function.patch
# PATCH-FIX-OPENSUSE fix-italian-docs-with-older-kdoctools.patch -- fix build with the old kdoctools in Leap 42.2 that misses two necessary entities for italian
Patch3: fix-italian-docs-with-older-kdoctools.patch
#This pulls in QWebEngine, which is not available on ppc64 #This pulls in QWebEngine, which is not available on ppc64
%ifarch %ix86 x86_64 %arm aarch64 mips mips64 %ifarch %ix86 x86_64 %arm aarch64 mips mips64
BuildRequires: akonadi-contact-devel BuildRequires: akonadi-contact-devel
@ -61,7 +63,6 @@ BuildRequires: libgpod-devel
BuildRequires: libjasper-devel BuildRequires: libjasper-devel
BuildRequires: libkdcraw-devel >= 15.12.0 BuildRequires: libkdcraw-devel >= 15.12.0
BuildRequires: libkexiv2-devel >= 15.12.0 BuildRequires: libkexiv2-devel >= 15.12.0
BuildRequires: libkface-devel >= 15.12.0
BuildRequires: libkgeomap-devel > 15.12.0 BuildRequires: libkgeomap-devel > 15.12.0
BuildRequires: libkipi-devel >= 16.04.0 BuildRequires: libkipi-devel >= 16.04.0
BuildRequires: libksane-devel >= 15.12.0 BuildRequires: libksane-devel >= 15.12.0
@ -173,8 +174,13 @@ The main digikam libraries that are being shared between showfoto and digikam
# Disable OpenGL slideshow on embedded platforms # Disable OpenGL slideshow on embedded platforms
%patch0 -p1 %patch0 -p1
%endif %endif
%if 0%{?suse_version} < 1320
%patch1 -p1 %patch1 -p1
%patch2 -p1 %patch2 -p1
%if 0%{?sle_version} <= 120200
%patch3 -p1
%endif
%endif
# Remove build time references so build-compare can do its work # Remove build time references so build-compare can do its work
FAKE_BUILDDATE=$(LC_ALL=C date -u -r %{_sourcedir}/%{name}.changes '+%%b %%e %%Y') FAKE_BUILDDATE=$(LC_ALL=C date -u -r %{_sourcedir}/%{name}.changes '+%%b %%e %%Y')
@ -216,8 +222,8 @@ rm -rf $RPM_BUILD_ROOT/usr/share/locale/x-test
%suse_update_desktop_file -r org.kde.showfoto Qt KDE Graphics Photography %suse_update_desktop_file -r org.kde.showfoto Qt KDE Graphics Photography
%endif %endif
%find_lang %{name} %find_lang %{name} --without-kde
%find_lang kipiplugins kipiplugin.lang %find_lang kipiplugins kipiplugin.lang --without-kde
for i in dropbox googleservices sendimages facebook flashexport flickr imageshack imgur kmlexport piwigo printimages rajce remotestorage sendimages smug vkontakte yandexfotki for i in dropbox googleservices sendimages facebook flashexport flickr imageshack imgur kmlexport piwigo printimages rajce remotestorage sendimages smug vkontakte yandexfotki
do do
@ -236,7 +242,7 @@ done
%files %files
%defattr(-,root,root,-) %defattr(-,root,root,-)
%doc core/{AUTHORS,COPYING,COPYING-CMAKE-SCRIPTS,COPYING.LIB,ChangeLog,NEWS,README} %doc core/{AUTHORS,COPYING,COPYING-CMAKE-SCRIPTS,COPYING.LIB,ChangeLog,NEWS,README.md}
%{_bindir}/digikam %{_bindir}/digikam
%{_bindir}/digitaglinktree %{_bindir}/digitaglinktree
%{_bindir}/cleanup_digikamdb %{_bindir}/cleanup_digikamdb

View File

@ -1,31 +0,0 @@
From 855ba5b7d4bc6337234720a72ea824ddd3b32e5b Mon Sep 17 00:00:00 2001
From: Maik Qualmann <metzpinguin@gmail.com>
Date: Tue, 28 Nov 2017 21:29:00 +0100
Subject: try to fix the Qt-5.9.3 empty album problem CCBUGS: 387373
---
core/libs/database/coredb/coredburl.cpp | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/core/libs/database/coredb/coredburl.cpp b/core/libs/database/coredb/coredburl.cpp
index 2c0d0eb..b1bdf71 100644
--- a/core/libs/database/coredb/coredburl.cpp
+++ b/core/libs/database/coredb/coredburl.cpp
@@ -88,8 +88,13 @@ CoreDbUrl CoreDbUrl::fromAlbumAndName(const QString& name,
const DbEngineParameters& parameters)
{
CoreDbUrl url;
+ QString path(album);
url.setScheme(QLatin1String("digikamalbums"));
- url.setPath(QLatin1Char('/') + album + QLatin1Char('/') + name);
+
+ if (path != QLatin1String("/"))
+ path += QLatin1Char('/');
+
+ url.setPath(path + name);
QUrlQuery q(url);
q.addQueryItem(QLatin1String("albumRoot"), albumRoot.adjusted(QUrl::StripTrailingSlash).toLocalFile());
--
cgit v0.11.2

View File

@ -0,0 +1,21 @@
diff -ur a/doc-translated/it/digikam/menu-mainwindow.docbook b/doc-translated/it/digikam/menu-mainwindow.docbook
--- a/doc-translated/it/digikam/menu-mainwindow.docbook 2018-01-09 15:13:48.000000000 +0100
+++ b/doc-translated/it/digikam/menu-mainwindow.docbook 2018-01-15 17:11:37.000000000 +0100
@@ -578,7 +578,7 @@
>Voce del menu per ruotare senza perdita l'immagine attualmente selezionata <menuchoice
> <shortcut
><keycombo action="press"
->&Ctrl;&Shift;&Left;</keycombo
+>&Ctrl;&Shift;<keysym>←</keysym></keycombo
></shortcut
> <guimenu
>Sinistra</guimenu
@@ -586,7 +586,7 @@
> oppure <menuchoice
> <shortcut
><keycombo action="press"
->&Ctrl;&Shift;&Right;</keycombo
+>&Ctrl;&Shift;<keysym>→</keysym></keycombo
></shortcut
> <guimenu
>Destra</guimenu