~ubuntu-branches/ubuntu/karmic/digikam/karmic-backports

« back to all changes in this revision

Viewing changes to utilities/fuzzysearch/fuzzysearchview.cpp

  • Committer: Bazaar Package Importer
  • Author(s): Ubuntu Archive Auto-Backport
  • Date: 2009-12-07 19:03:53 UTC
  • mfrom: (54.1.4 lucid)
  • Revision ID: james.westby@ubuntu.com-20091207190353-oara3lenjxymto3i
Tags: 2:1.0.0~rc-1ubuntu1~karmic1
Automated backport upload; no source changes.

Show diffs side-by-side

added added

removed removed

Lines of Context:
22
22
 *
23
23
 * ============================================================ */
24
24
 
25
 
#include "fuzzysearchview.h"
26
25
#include "fuzzysearchview.moc"
27
26
 
28
27
// Qt includes
42
41
#include <kapplication.h>
43
42
#include <kcolorvalueselector.h>
44
43
#include <kconfig.h>
45
 
 
46
44
#include <kdialog.h>
47
45
#include <khbox.h>
48
46
#include <khuesaturationselect.h>
122
120
 
123
121
    QColor                  selColor;
124
122
 
125
 
    QToolButton            *resetButton;
126
 
    QToolButton            *saveBtnSketch;
127
 
    QToolButton            *undoBtnSketch;
128
 
    QToolButton            *redoBtnSketch;
129
 
    QToolButton            *saveBtnImage;
130
 
 
131
 
    QSpinBox               *penSize;
132
 
    QSpinBox               *resultsSketch;
133
 
    QSpinBox               *levelImage;
134
 
 
135
 
    QLabel                 *imageWidget;
136
 
 
137
 
    QTimer                 *timerSketch;
138
 
    QTimer                 *timerImage;
139
 
 
140
 
    KVBox                  *folderView;
141
 
 
142
 
    KLineEdit              *nameEditSketch;
143
 
    KLineEdit              *nameEditImage;
144
 
 
145
 
    KTabWidget             *tabWidget;
146
 
 
147
 
    KHueSaturationSelector *hsSelector;
148
 
 
149
 
    KColorValueSelector    *vSelector;
150
 
 
151
 
    KSqueezedTextLabel     *labelFile;
152
 
    KSqueezedTextLabel     *labelFolder;
 
123
    QToolButton*            resetButton;
 
124
    QToolButton*            saveBtnSketch;
 
125
    QToolButton*            undoBtnSketch;
 
126
    QToolButton*            redoBtnSketch;
 
127
    QToolButton*            saveBtnImage;
 
128
 
 
129
    QSpinBox*               penSize;
 
130
    QSpinBox*               resultsSketch;
 
131
    QSpinBox*               levelImage;
 
132
 
 
133
    QLabel*                 imageWidget;
 
134
 
 
135
    QTimer*                 timerSketch;
 
136
    QTimer*                 timerImage;
 
137
 
 
138
    KVBox*                  folderView;
 
139
 
 
140
    KLineEdit*              nameEditSketch;
 
141
    KLineEdit*              nameEditImage;
 
142
 
 
143
    KTabWidget*             tabWidget;
 
144
 
 
145
    KHueSaturationSelector* hsSelector;
 
146
 
 
147
    KColorValueSelector*    vSelector;
 
148
 
 
149
    KSqueezedTextLabel*     labelFile;
 
150
    KSqueezedTextLabel*     labelFolder;
153
151
 
154
152
    ImageInfo               imageInfo;
155
153
 
156
 
    SearchTextBar          *searchFuzzyBar;
157
 
 
158
 
    FuzzySearchFolderView  *fuzzySearchFolderView;
159
 
 
160
 
    SketchWidget           *sketchWidget;
161
 
 
162
 
    ThumbnailLoadThread    *thumbLoadThread;
163
 
 
164
 
    FindDuplicatesView     *findDuplicatesPanel;
 
154
    SearchTextBar*          searchFuzzyBar;
 
155
 
 
156
    FuzzySearchFolderView*  fuzzySearchFolderView;
 
157
 
 
158
    SketchWidget*           sketchWidget;
 
159
 
 
160
    ThumbnailLoadThread*    thumbLoadThread;
 
161
 
 
162
    FindDuplicatesView*     findDuplicatesPanel;
165
163
 
166
164
    AlbumPointer<SAlbum>    imageSAlbum;
167
165
    AlbumPointer<SAlbum>    sketchSAlbum;
172
170
{
173
171
    d->thumbLoadThread = ThumbnailLoadThread::defaultThread();
174
172
 
175
 
    QWidget *panel = new QWidget(viewport());
176
 
    panel->setAutoFillBackground(false);
177
 
    setWidget(panel);
178
173
    setWidgetResizable(true);
179
174
    setAttribute(Qt::WA_DeleteOnClose);
180
175
    setAcceptDrops(true);
 
176
    viewport()->setAcceptDrops(true);
 
177
 
 
178
    // ---------------------------------------------------------------
 
179
 
 
180
    QWidget *imagePanel    = setupFindSimilarPanel();
 
181
    QWidget *sketchPanel   = setupSketchPanel();
 
182
    d->findDuplicatesPanel = new FindDuplicatesView();
 
183
 
 
184
    d->tabWidget = new KTabWidget();
 
185
    d->tabWidget->insertTab(FuzzySearchViewPriv::SIMILARS,   imagePanel,             i18n("Image"));
 
186
    d->tabWidget->insertTab(FuzzySearchViewPriv::SKETCH,     sketchPanel,            i18n("Sketch"));
 
187
    d->tabWidget->insertTab(FuzzySearchViewPriv::DUPLICATES, d->findDuplicatesPanel, i18n("Duplicates"));
 
188
 
 
189
    // ---------------------------------------------------------------
 
190
 
 
191
    d->folderView            = new KVBox();
 
192
    d->fuzzySearchFolderView = new FuzzySearchFolderView(d->folderView);
 
193
    d->searchFuzzyBar        = new SearchTextBar(d->folderView, "FuzzySearchViewSearchFuzzyBar");
 
194
    d->folderView->setSpacing(KDialog::spacingHint());
 
195
    d->folderView->setMargin(0);
 
196
 
 
197
    // ---------------------------------------------------------------
 
198
 
 
199
    QWidget *mainWidget     = new QWidget(this);
 
200
    QVBoxLayout *mainLayout = new QVBoxLayout();
 
201
    mainLayout->addWidget(d->tabWidget);
 
202
    mainLayout->addWidget(d->folderView);
 
203
    mainLayout->setMargin(0);
 
204
    mainLayout->setSpacing(0);
 
205
    mainWidget->setLayout(mainLayout);
 
206
 
 
207
    setWidget(mainWidget);
 
208
    setAutoFillBackground(false);
 
209
    mainWidget->setAutoFillBackground(false);
181
210
    viewport()->setAutoFillBackground(false);
182
 
    viewport()->setAcceptDrops(true);
183
 
 
184
 
    QVBoxLayout *vlay    = new QVBoxLayout(panel);
185
 
    d->tabWidget         = new KTabWidget(panel);
186
 
 
187
 
    // ---------------------------------------------------------------
188
 
    // Find Similar Images Panel
189
 
 
190
 
    QWidget *imagePanel = new QWidget(panel);
191
 
    QGridLayout *grid   = new QGridLayout(imagePanel);
192
 
    QWidget *box2       = new QWidget(imagePanel);
193
 
    QVBoxLayout *vlay3  = new QVBoxLayout(box2);
194
 
    KHBox *imageBox     = new KHBox(box2);
 
211
 
 
212
    // ---------------------------------------------------------------
 
213
 
 
214
    readConfig();
 
215
    setupConnections();
 
216
 
 
217
    // ---------------------------------------------------------------
 
218
 
 
219
    slotCheckNameEditSketchConditions();
 
220
    slotCheckNameEditImageConditions();
 
221
}
 
222
 
 
223
QWidget* FuzzySearchView::setupFindSimilarPanel()
 
224
{
 
225
    KHBox* imageBox     = new KHBox();
195
226
    d->imageWidget      = new QLabel(imageBox);
196
227
    d->imageWidget->setFixedSize(256, 256);
197
228
    d->imageWidget->setText(i18n("<p>Drag & drop an image here<br/>to perform similar<br/>items search.</p>"
200
231
    imageBox->setFrameStyle(QFrame::StyledPanel | QFrame::Sunken);
201
232
    imageBox->setLineWidth(1);
202
233
 
203
 
    vlay3->addStretch(10);
204
 
    vlay3->addWidget(imageBox, 0, Qt::AlignCenter);
205
 
    vlay3->addStretch(10);
206
 
    vlay3->setMargin(0);
207
 
    vlay3->setSpacing(0);
208
 
 
209
234
    // ---------------------------------------------------------------
210
235
 
211
 
    QLabel *file   = new QLabel(i18n("<b>File</b>:"), imagePanel);
212
 
    d->labelFile   = new KSqueezedTextLabel(0, imagePanel);
213
 
    QLabel *folder = new QLabel(i18n("<b>Folder</b>:"), imagePanel);
214
 
    d->labelFolder = new KSqueezedTextLabel(0, imagePanel);
 
236
    QLabel* file   = new QLabel(i18n("<b>File</b>:"));
 
237
    d->labelFile   = new KSqueezedTextLabel(0);
 
238
    QLabel *folder = new QLabel(i18n("<b>Folder</b>:"));
 
239
    d->labelFolder = new KSqueezedTextLabel(0);
215
240
    int hgt        = fontMetrics().height()-2;
216
241
    file->setMaximumHeight(hgt);
217
242
    folder->setMaximumHeight(hgt);
220
245
 
221
246
    // ---------------------------------------------------------------
222
247
 
223
 
    KHBox *hbox3          = new KHBox(imagePanel);
224
 
    QLabel *resultsLabel2 = new QLabel(i18n("Threshold:"), hbox3);
225
 
    d->levelImage         = new QSpinBox(hbox3);
 
248
    QLabel* resultsLabel  = new QLabel(i18n("Threshold:"));
 
249
    d->levelImage         = new QSpinBox();
226
250
    d->levelImage->setSuffix(QChar('%'));
227
251
    d->levelImage->setRange(1, 100);
228
252
    d->levelImage->setSingleStep(1);
232
256
                                     "This value is used by the algorithm to distinguish two "
233
257
                                     "similar images. The default value is 90."));
234
258
 
235
 
    hbox3->setStretchFactor(resultsLabel2, 10);
236
 
    hbox3->setMargin(0);
237
 
    hbox3->setSpacing(KDialog::spacingHint());
238
 
 
239
259
    // ---------------------------------------------------------------
240
260
 
241
 
    KHBox *hbox4     = new KHBox(imagePanel);
242
 
    hbox4->setMargin(0);
243
 
    hbox4->setSpacing(KDialog::spacingHint());
 
261
    KHBox* saveBox = new KHBox();
 
262
    saveBox->setMargin(0);
 
263
    saveBox->setSpacing(KDialog::spacingHint());
244
264
 
245
 
    d->nameEditImage = new KLineEdit(hbox4);
 
265
    d->nameEditImage = new KLineEdit(saveBox);
246
266
    d->nameEditImage->setClearButtonShown(true);
247
267
    d->nameEditImage->setWhatsThis(i18n("Enter the name of the current similar image search to save in the "
248
268
                                        "\"My Fuzzy Searches\" view."));
249
269
 
250
 
    d->saveBtnImage  = new QToolButton(hbox4);
 
270
    d->saveBtnImage  = new QToolButton(saveBox);
251
271
    d->saveBtnImage->setIcon(SmallIcon("document-save"));
252
272
    d->saveBtnImage->setEnabled(false);
253
273
    d->saveBtnImage->setToolTip(i18n("Save current similar image search to a new virtual Album"));
258
278
 
259
279
    // ---------------------------------------------------------------
260
280
 
261
 
    grid->addWidget(box2,           0, 0, 1, 3);
262
 
    grid->addWidget(file,           1, 0, 1, 1);
263
 
    grid->addWidget(d->labelFile,   1, 1, 1, 1);
264
 
    grid->addWidget(folder,         2, 0, 1, 1);
265
 
    grid->addWidget(d->labelFolder, 2, 1, 1, 1);
266
 
    grid->addWidget(hbox3,          3, 0, 1, 3);
267
 
    grid->addWidget(hbox4,          4, 0, 1, 3);
268
 
    grid->setRowStretch(5, 10);
269
 
    grid->setColumnStretch(1, 10);
270
 
    grid->setMargin(KDialog::spacingHint());
271
 
    grid->setSpacing(KDialog::spacingHint());
272
 
 
273
 
    // ---------------------------------------------------------------
274
 
    // Find by Sketch Panel
275
 
 
276
 
    QWidget *sketchPanel = new QWidget(panel);
277
 
    QGridLayout *grid2   = new QGridLayout(sketchPanel);
278
 
    QWidget *box         = new QWidget(sketchPanel);
279
 
    QVBoxLayout *vlay2   = new QVBoxLayout(box);
280
 
    KHBox *drawingBox    = new KHBox(box);
281
 
    d->sketchWidget      = new SketchWidget(drawingBox);
 
281
    QWidget* mainWidget     = new QWidget();
 
282
    QGridLayout* mainLayout = new QGridLayout();
 
283
    mainLayout->addWidget(imageBox,       0, 0, 1,-1);
 
284
    mainLayout->addWidget(file,           1, 0, 1, 1);
 
285
    mainLayout->addWidget(d->labelFile,   1, 1, 1,-1);
 
286
    mainLayout->addWidget(folder,         2, 0, 1, 1);
 
287
    mainLayout->addWidget(d->labelFolder, 2, 1, 1,-1);
 
288
    mainLayout->addWidget(resultsLabel,   3, 0, 1, 1);
 
289
    mainLayout->addWidget(d->levelImage,  3, 2, 1,-1);
 
290
    mainLayout->addWidget(saveBox,        4, 0, 1, 3);
 
291
    mainLayout->setRowStretch(5, 10);
 
292
    mainLayout->setColumnStretch(1, 10);
 
293
    mainLayout->setMargin(KDialog::spacingHint());
 
294
    mainLayout->setSpacing(KDialog::spacingHint());
 
295
    mainWidget->setLayout(mainLayout);
 
296
 
 
297
    return mainWidget;
 
298
}
 
299
 
 
300
QWidget* FuzzySearchView::setupSketchPanel()
 
301
{
 
302
    KHBox* drawingBox = new KHBox();
 
303
    d->sketchWidget   = new SketchWidget(drawingBox);
282
304
    drawingBox->setFrameStyle(QFrame::StyledPanel | QFrame::Sunken);
283
305
    drawingBox->setLineWidth(1);
284
306
 
285
 
    vlay2->addStretch(10);
286
 
    vlay2->addWidget(drawingBox, 0, Qt::AlignCenter);
287
 
    vlay2->addStretch(10);
288
 
    vlay2->setMargin(0);
289
 
    vlay2->setSpacing(0);
290
 
 
291
307
    // ---------------------------------------------------------------
292
308
 
293
 
    QString tips(i18n("Set here the brush color used to draw sketch."));
 
309
    QString tooltip(i18n("Set here the brush color used to draw sketch."));
294
310
 
295
 
    d->hsSelector = new KHueSaturationSelector(sketchPanel);
 
311
    d->hsSelector = new KHueSaturationSelector();
296
312
    d->hsSelector->setMinimumSize(200, 96);
297
313
    d->hsSelector->setChooserMode(ChooserValue);
298
314
    d->hsSelector->setColorValue(255);
299
 
    d->hsSelector->setWhatsThis(tips);
 
315
    d->hsSelector->setWhatsThis(tooltip);
300
316
 
301
 
    d->vSelector  = new KColorValueSelector(sketchPanel);
 
317
    d->vSelector  = new KColorValueSelector();
302
318
    d->vSelector->setMinimumSize(26, 96);
303
319
    d->vSelector->setChooserMode(ChooserValue);
304
320
    d->vSelector->setIndent(false);
305
 
    d->vSelector->setWhatsThis(tips);
 
321
    d->vSelector->setWhatsThis(tooltip);
306
322
 
307
323
    // ---------------------------------------------------------------
308
324
 
309
 
    KHBox *hbox        = new KHBox(sketchPanel);
310
 
 
311
 
    d->undoBtnSketch   = new QToolButton(hbox);
 
325
    d->undoBtnSketch   = new QToolButton();
312
326
    d->undoBtnSketch->setAutoRepeat(true);
313
327
    d->undoBtnSketch->setIcon(SmallIcon("edit-undo"));
314
328
    d->undoBtnSketch->setToolTip(i18n("Undo last draw on sketch"));
315
329
    d->undoBtnSketch->setWhatsThis(i18n("Use this button to undo last drawing action on sketch."));
316
330
    d->undoBtnSketch->setEnabled(false);
317
331
 
318
 
    d->redoBtnSketch   = new QToolButton(hbox);
 
332
    d->redoBtnSketch   = new QToolButton();
319
333
    d->redoBtnSketch->setAutoRepeat(true);
320
334
    d->redoBtnSketch->setIcon(SmallIcon("edit-redo"));
321
335
    d->redoBtnSketch->setToolTip(i18n("Redo last draw on sketch"));
322
336
    d->redoBtnSketch->setWhatsThis(i18n("Use this button to redo last drawing action on sketch."));
323
337
    d->redoBtnSketch->setEnabled(false);
324
338
 
325
 
    QLabel *brushLabel = new QLabel(i18n("Pen:"), hbox);
326
 
    d->penSize         = new QSpinBox(hbox);
 
339
    QLabel* brushLabel = new QLabel(i18n("Pen:"));
 
340
    d->penSize         = new QSpinBox();
327
341
    d->penSize->setRange(1, 40);
328
342
    d->penSize->setSingleStep(1);
329
343
    d->penSize->setValue(10);
330
344
    d->penSize->setWhatsThis(i18n("Set here the brush size in pixels used to draw sketch."));
331
345
 
332
 
    QLabel *resultsLabel = new QLabel(i18n("Items:"), hbox);
333
 
    d->resultsSketch     = new QSpinBox(hbox);
 
346
    QLabel* resultsLabel = new QLabel(i18n("Items:"));
 
347
    d->resultsSketch     = new QSpinBox();
334
348
    d->resultsSketch->setRange(1, 50);
335
349
    d->resultsSketch->setSingleStep(1);
336
350
    d->resultsSketch->setValue(10);
337
351
    d->resultsSketch->setWhatsThis(i18n("Set here the number of items to find using sketch."));
338
352
 
339
 
    hbox->setStretchFactor(brushLabel, 10);
340
 
    hbox->setStretchFactor(resultsLabel, 10);
341
 
    hbox->setMargin(0);
342
 
    hbox->setSpacing(KDialog::spacingHint());
 
353
    QGridLayout* settingsLayout = new QGridLayout();
 
354
    settingsLayout->addWidget(d->undoBtnSketch, 0, 0);
 
355
    settingsLayout->addWidget(d->redoBtnSketch, 0, 1);
 
356
    settingsLayout->addWidget(brushLabel,       0, 2);
 
357
    settingsLayout->addWidget(d->penSize,       0, 3);
 
358
    settingsLayout->addWidget(resultsLabel,     0, 5);
 
359
    settingsLayout->addWidget(d->resultsSketch, 0, 6);
 
360
    settingsLayout->setColumnStretch(4, 10);
 
361
    settingsLayout->setMargin(0);
 
362
    settingsLayout->setSpacing(KDialog::spacingHint());
343
363
 
344
364
    // ---------------------------------------------------------------
345
365
 
346
 
    KHBox *hbox2      = new KHBox(sketchPanel);
347
 
    hbox2->setMargin(0);
348
 
    hbox2->setSpacing(KDialog::spacingHint());
 
366
    KHBox* saveBox = new KHBox();
 
367
    saveBox->setMargin(0);
 
368
    saveBox->setSpacing(KDialog::spacingHint());
349
369
 
350
 
    d->resetButton    = new QToolButton(hbox2);
 
370
    d->resetButton = new QToolButton(saveBox);
351
371
    d->resetButton->setIcon(SmallIcon("document-revert"));
352
372
    d->resetButton->setToolTip(i18n("Clear sketch"));
353
373
    d->resetButton->setWhatsThis(i18n("Use this button to clear sketch contents."));
354
374
 
355
 
    d->nameEditSketch = new KLineEdit(hbox2);
 
375
    d->nameEditSketch = new KLineEdit(saveBox);
356
376
    d->nameEditSketch->setClearButtonShown(true);
357
377
    d->nameEditSketch->setWhatsThis(i18n("Enter the name of the current sketch search to save in the "
358
378
                                         "\"My Fuzzy Searches\" view."));
359
379
 
360
 
    d->saveBtnSketch  = new QToolButton(hbox2);
 
380
    d->saveBtnSketch = new QToolButton(saveBox);
361
381
    d->saveBtnSketch->setIcon(SmallIcon("document-save"));
362
382
    d->saveBtnSketch->setEnabled(false);
363
383
    d->saveBtnSketch->setToolTip(i18n("Save current sketch search to a new virtual Album"));
368
388
 
369
389
    // ---------------------------------------------------------------
370
390
 
371
 
    grid2->addWidget(box,            0, 0, 1, 3);
372
 
    grid2->addWidget(d->hsSelector,  1, 0, 1, 2);
373
 
    grid2->addWidget(d->vSelector,   1, 2, 1, 1);
374
 
    grid2->addWidget(hbox,           2, 0, 1, 3);
375
 
    grid2->addWidget(hbox2,          3, 0, 1, 3);
376
 
    grid2->setRowStretch(5, 10);
377
 
    grid2->setColumnStretch(1, 10);
378
 
    grid2->setMargin(KDialog::spacingHint());
379
 
    grid2->setSpacing(KDialog::spacingHint());
380
 
 
381
 
    // ---------------------------------------------------------------
382
 
    // Find Duplicates Panel
383
 
 
384
 
    d->findDuplicatesPanel = new FindDuplicatesView(panel);
385
 
 
386
 
    d->tabWidget->insertTab(FuzzySearchViewPriv::SIMILARS,   imagePanel,             i18n("Image"));
387
 
    d->tabWidget->insertTab(FuzzySearchViewPriv::SKETCH,     sketchPanel,            i18n("Sketch"));
388
 
    d->tabWidget->insertTab(FuzzySearchViewPriv::DUPLICATES, d->findDuplicatesPanel, i18n("Duplicates"));
389
 
 
390
 
    // ---------------------------------------------------------------
391
 
 
392
 
    d->folderView            = new KVBox(panel);
393
 
    d->fuzzySearchFolderView = new FuzzySearchFolderView(d->folderView);
394
 
    d->searchFuzzyBar        = new SearchTextBar(d->folderView, "FuzzySearchViewSearchFuzzyBar");
395
 
    d->folderView->setSpacing(KDialog::spacingHint());
396
 
    d->folderView->setMargin(0);
397
 
 
398
 
    // ---------------------------------------------------------------
399
 
 
400
 
    vlay->addWidget(d->tabWidget);
401
 
    vlay->addWidget(d->folderView);
402
 
    vlay->setMargin(0);
403
 
    vlay->setSpacing(0);
404
 
 
405
 
    readConfig();
406
 
 
407
 
    // ---------------------------------------------------------------
408
 
 
 
391
    QWidget* mainWidget     = new QWidget;
 
392
    QGridLayout* mainLayout = new QGridLayout();
 
393
    mainLayout->addWidget(drawingBox,     0, 0, 1, 3);
 
394
    mainLayout->addWidget(d->hsSelector,  1, 0, 1, 2);
 
395
    mainLayout->addWidget(d->vSelector,   1, 2, 1, 1);
 
396
    mainLayout->addLayout(settingsLayout, 2, 0, 1, 3);
 
397
    mainLayout->addWidget(saveBox,        3, 0, 1, 3);
 
398
    mainLayout->setRowStretch(5, 10);
 
399
    mainLayout->setColumnStretch(1, 10);
 
400
    mainLayout->setMargin(KDialog::spacingHint());
 
401
    mainLayout->setSpacing(KDialog::spacingHint());
 
402
    mainWidget->setLayout(mainLayout);
 
403
 
 
404
    return mainWidget;
 
405
}
 
406
 
 
407
void FuzzySearchView::setupConnections()
 
408
{
409
409
    connect(d->tabWidget, SIGNAL(currentChanged(int)),
410
410
            this, SLOT(slotTabChanged(int)));
411
411
 
474
474
 
475
475
    connect(d->findDuplicatesPanel, SIGNAL(signalUpdateFingerPrints()),
476
476
            this, SIGNAL(signalUpdateFingerPrints()));
477
 
 
478
 
    // ---------------------------------------------------------------
479
 
 
480
 
    slotCheckNameEditSketchConditions();
481
 
    slotCheckNameEditImageConditions();
482
477
}
483
478
 
484
479
FuzzySearchView::~FuzzySearchView()
489
484
    delete d;
490
485
}
491
486
 
492
 
// Common methods ----------------------------------------------------------------------
493
 
 
494
487
void FuzzySearchView::newDuplicatesSearch(Album* album)
495
488
{
496
489
    if (album)
570
563
 
571
564
            if (result == KMessageBox::Yes)
572
565
            {
573
 
                emit signalUpdateFingerPrints();
 
566
                emit signalGenerateFingerPrintsFirstTime();
574
567
            }
575
568
        }
576
569
        d->fingerprintsChecked = true;