[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: branches/extragear/graphics/digikam/modelviewport/digikam
From: Johannes Wienke <languitar () semipol ! de>
Date: 2009-12-10 11:08:02
Message-ID: 1260443282.532843.24927.nullmailer () svn ! kde ! org
[Download RAW message or body]
SVN commit 1060978 by jwienke:
Fixes for the fuzzy searchs:
* save newly created searches in the appropriate variables in that view
* select newly created searches in the list
M +30 -8 digikam/searchmodificationhelper.cpp
M +22 -2 digikam/searchmodificationhelper.h
M +8 -10 utilities/fuzzysearch/fuzzysearchview.cpp
--- branches/extragear/graphics/digikam/modelviewport/digikam/digikam/searchmodificationhelper.cpp \
#1060977:1060978 @@ -194,20 +194,20 @@
}
-void SearchModificationHelper::slotCreateFuzzySearchFromSketch(
+SAlbum *SearchModificationHelper::createFuzzySearchFromSketch(
const QString& proposedName, SketchWidget *sketchWidget,
unsigned int numberOfResults, bool overwriteIfExisting)
{
if (sketchWidget->isClear())
{
- return;
+ return 0;
}
QString name = proposedName;
if (!overwriteIfExisting && !checkName(name))
{
- return;
+ return 0;
}
// We query database here
@@ -225,25 +225,36 @@
writer.finishField();
writer.finishGroup();
- SAlbum* salbum = AlbumManager::instance()->createSAlbum(name, \
DatabaseSearch::HaarSearch, writer.xml()); + SAlbum* salbum = \
AlbumManager::instance()->createSAlbum(name, + \
DatabaseSearch::HaarSearch, writer.xml()); \
AlbumManager::instance()->setCurrentAlbum(salbum);
+ return salbum;
+
}
-void SearchModificationHelper::slotCreateFuzzySearchFromImage(
+void SearchModificationHelper::slotCreateFuzzySearchFromSketch(
+ const QString& proposedName, SketchWidget *sketchWidget,
+ unsigned int numberOfResults, bool overwriteIfExisting)
+{
+ createFuzzySearchFromSketch(proposedName, sketchWidget, numberOfResults,
+ overwriteIfExisting);
+}
+
+SAlbum *SearchModificationHelper::createFuzzySearchFromImage(
const QString &proposedName, const ImageInfo &image,
float threshold, bool overwriteIfExisting)
{
if (image.isNull())
{
- return;
+ return 0;
}
QString name = proposedName;
if (!overwriteIfExisting && !checkName(name))
{
- return;
+ return 0;
}
// We query database here
@@ -259,9 +270,20 @@
writer.finishField();
writer.finishGroup();
- SAlbum* salbum = AlbumManager::instance()->createSAlbum(name, \
DatabaseSearch::HaarSearch, writer.xml()); + SAlbum* salbum = \
AlbumManager::instance()->createSAlbum(name, + \
DatabaseSearch::HaarSearch, writer.xml()); \
AlbumManager::instance()->setCurrentAlbum(salbum);
+ return salbum;
+
}
+void SearchModificationHelper::slotCreateFuzzySearchFromImage(
+ const QString &proposedName, const ImageInfo &image,
+ float threshold, bool overwriteIfExisting)
+{
+ createFuzzySearchFromImage(proposedName, image, threshold,
+ overwriteIfExisting);
}
+
+}
--- branches/extragear/graphics/digikam/modelviewport/digikam/digikam/searchmodificationhelper.h \
#1060977:1060978 @@ -74,6 +74,24 @@
*/
virtual ~SearchModificationHelper();
+ /**
+ * @see slotCreateFuzzySearchFromSketch()
+ * @return the newly created album
+ */
+ SAlbum *createFuzzySearchFromSketch(const QString& name,
+ SketchWidget *sketchWidget,
+ unsigned int numberOfResults,
+ bool overwriteIfExisting = false);
+
+ /*
+ * @see slotCreateFuzzySearchFromImage()
+ * @return the newly created album
+ */
+ SAlbum *createFuzzySearchFromImage(const QString &name,
+ const ImageInfo &image,
+ float threshold,
+ bool overwriteIfExisting = false);
+
public Q_SLOTS:
/**
@@ -107,7 +125,8 @@
bool overwriteIfExisting = false);
/**
- * Creates a new fuzzy search based on a sketch created by the user.
+ * Creates a new fuzzy search based on a sketch created by the user and
+ * selects it in the AlbumManager after creation.
*
* @param name name of the new sketch search
* @param sketchWidget the widget containing the sketch of the user
@@ -122,7 +141,8 @@
bool overwriteIfExisting = false);
/**
- * Creates a new fuzzy search for finding similar photos based on one photo.
+ * Creates a new fuzzy search for finding similar photos based on one photo
+ * and selects it in the album manager after creation.
*
* @param name of the new search
* @param image image to base this search on
--- branches/extragear/graphics/digikam/modelviewport/digikam/utilities/fuzzysearch/fuzzysearchview.cpp \
#1060977:1060978 @@ -745,10 +745,9 @@
void FuzzySearchView::createNewFuzzySearchAlbumFromSketch(const QString& name, bool \
force) {
AlbumManager::instance()->setCurrentAlbum(0);
- d->searchModificationHelper->slotCreateFuzzySearchFromSketch(name, \
d->sketchWidget, d->resultsSketch->value(), force);
-
- // TODO update, how do i provide the new album here?
- //d->sketchSAlbum = salbum;
+ d->sketchSAlbum = d->searchModificationHelper->createFuzzySearchFromSketch(
+ name, d->sketchWidget, d->resultsSketch->value(), force);
+ d->searchTreeView->slotSelectAlbum(d->sketchSAlbum);
}
void FuzzySearchView::slotClearSketch()
@@ -855,14 +854,13 @@
Qt::SmoothTransformation));
}
-void FuzzySearchView::createNewFuzzySearchAlbumFromImage(const QString& name, bool \
force) +void FuzzySearchView::createNewFuzzySearchAlbumFromImage(const QString& name,
+ bool force)
{
AlbumManager::instance()->setCurrentAlbum(0);
-
- d->searchModificationHelper->slotCreateFuzzySearchFromImage(name, d->imageInfo, \
d->levelImage->value() / 100.0, force);
-
- // TODO update, how to do this?
- // d->imageSAlbum = salbum;
+ d->imageSAlbum = d->searchModificationHelper->createFuzzySearchFromImage(
+ name, d->imageInfo, d->levelImage->value() / 100.0, force);
+ d->searchTreeView->slotSelectAlbum(d->imageSAlbum);
}
void FuzzySearchView::slotCheckNameEditImageConditions()
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic