[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