[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    branches/work/~aclemens/kde4ports/removeredeyes
From:       Andi Clemens <andi.clemens () gmx ! net>
Date:       2008-10-31 23:07:57
Message-ID: 1225494477.745325.15780.nullmailer () svn ! kde ! org
[Download RAW message or body]

SVN commit 878336 by aclemens:

trying to fix the crashing

 M  +3 -4      constants.h  
 M  +5 -4      redeyeswidget.cpp  
 M  +3 -6      redeyeswidget.h  
 M  +17 -18    redeyeswindow.cpp  
 M  +10 -9     workerthread.cpp  
 M  +2 -2      workerthread.h  


--- branches/work/~aclemens/kde4ports/removeredeyes/constants.h #878335:878336
@@ -40,10 +40,9 @@
 const double MIN_ROUNDNESS  = 3.2;
 const int NEIGHBOR_GROUPS   = 2;
 const int MIN_BLOBSIZE      = 10;
-const QString STD_CLS       = QString("aaa");
-// const QString STD_CLS       = KGlobal::instance()->dirs()->findResource(
-//                                   "data",
-//                                   "kipiplugin_removeredeyes/removeredeyes_classifier_eye_20_20.xml");
+const QString STD_CLS       = KGlobal::dirs()->findResource(
+                              "data",
+                              "kipiplugin_removeredeyes/removeredeyes_classifier_eye_20_20.xml");
 }; // namespace KIPIRemoveRedEyesPlugin
 
 #endif
--- branches/work/~aclemens/kde4ports/removeredeyes/redeyeswidget.cpp #878335:878336
@@ -75,6 +75,7 @@
 
     QGroupBox* storageVGBox = new QGroupBox(i18n("Storage Settings"), settingsTab);
     m_storageGroup = new QButtonGroup(storageVGBox);
+    m_storageGroup->setExclusive(true);
 
     m_subfolderLineEdit = new KLineEdit(storageVGBox);
     m_subfolderLineEdit->setToolTip(i18n("Enter the name of the subfolder here."));
@@ -82,15 +83,15 @@
     QRadioButton* subfolderMode = new QRadioButton(i18n("Save files in subfolder"), storageVGBox);
     subfolderMode->setToolTip(i18n("If checked, the corrected files will be saved "
                                    "in a subfolder under the current image album path."));
-    m_storageGroup->addButton(subfolderMode);
+    m_storageGroup->addButton(subfolderMode, Subfolder);
 
     QRadioButton* prefixMode = new QRadioButton(i18n("Append custom string to files"), storageVGBox);
     prefixMode->setToolTip(i18n("If checked, a custom string will be added " "to the corrected file."));
-    m_storageGroup->addButton(prefixMode);
+    m_storageGroup->addButton(prefixMode, Prefix);
 
     QRadioButton* overwriteMode = new QRadioButton(i18n("Overwrite original files"), storageVGBox);
     overwriteMode->setToolTip(i18n("If checked, all original images will be replaced."));
-    m_storageGroup->addButton(overwriteMode);
+    m_storageGroup->addButton(overwriteMode, Overwrite);
 
     m_prefixLineEdit = new KLineEdit(storageVGBox);
     m_prefixLineEdit->setToolTip(i18n("Enter the name of the prefix here..."));
@@ -169,7 +170,7 @@
     connect(m_standardClassifierCheckBox, SIGNAL(clicked()),
             this, SLOT(slotStandardClassifier()));
 
-    connect(m_storageGroup, SIGNAL(clicked(int)),
+    connect(m_storageGroup, SIGNAL(buttonClicked(int)),
             this, SLOT(slotStorageGroupChanged(int)));
 }
 
--- branches/work/~aclemens/kde4ports/removeredeyes/redeyeswidget.h #878335:878336
@@ -78,13 +78,10 @@
 
 private:
 
+    QButtonGroup*       m_storageGroup;
+    QGroupBox*          m_blobGroup;
+    QGroupBox*          m_classifierGroup;
 
-
-
-    QButtonGroup*      m_storageGroup;
-    QGroupBox*         m_blobGroup;
-    QGroupBox*         m_classifierGroup;
-
     QCheckBox*          m_standardClassifierCheckBox;
 
     KLineEdit*          m_prefixLineEdit;
--- branches/work/~aclemens/kde4ports/removeredeyes/redeyeswindow.cpp #878335:878336
@@ -107,7 +107,7 @@
     connect(this, SIGNAL(signalSettingsChanged(int)),
             m_widget, SLOT(slotStandardClassifier()));
 
-    connect(m_widget->m_progress, SIGNAL(percentageChanged(int)),
+    connect(m_widget->m_progress, SIGNAL(valueChanged(int)),
             this, SLOT(slotProgressBarChanged(int)));
 
     connect(this, SIGNAL(signalTestRunFinished()),
@@ -119,9 +119,6 @@
     connect(m_widget->m_imageList, SIGNAL(signalFoundRAWImages(bool)),
             this, SLOT(slotFoundRAWImages(bool)));
 
-    connect(m_wth, SIGNAL(calculationFinished(WTEventData*)),
-            this, SLOT(slotCalculationFinished(WTEventData*)));
-
     connect(this, SIGNAL(user1Clicked()),
             this, SLOT(slotUser1()));
 
@@ -148,7 +145,7 @@
 
     m_widget->m_subfolderLineEdit->setText(group.readEntry("Subfolder Name", "corrected"));
     m_widget->m_storageGroup->button(group.readEntry("Storage Mode",
-                                     (int)RedEyesWidget::Subfolder));
+                                     (int)RedEyesWidget::Subfolder))->setChecked(true);
     m_widget->m_prefixLineEdit->setText(group.readEntry("Filename Prefix", "_corr"));
     m_widget->m_minBlobSizeNumInput->setValue(group.readEntry("Minimum Blob Size", MIN_BLOBSIZE));
     m_widget->m_minRoundnessNumInput->setValue(group.readEntry("Minimum Roundness", MIN_ROUNDNESS));
@@ -185,8 +182,7 @@
  */
 void RedEyesWindow::slotUser1()
 {
-    m_runtype = WorkerThread::Correction;
-    startWorkerThread(m_runtype);
+    startWorkerThread(WorkerThread::Correction);
 }
 
 /**
@@ -194,8 +190,7 @@
  */
 void RedEyesWindow::slotUser2()
 {
-    m_runtype = WorkerThread::TestRun;
-    startWorkerThread(m_runtype);
+    startWorkerThread(WorkerThread::TestRun);
 }
 
 /**
@@ -236,15 +231,16 @@
     enableButton(User2, false);
     enableButton(Default, false);
 
-    WorkerThread::SettingsData* settings = new WorkerThread::SettingsData(urls);
-    settings->minBlobsize       = m_widget->m_minBlobSizeNumInput->value();
-    settings->minRoundness      = m_widget->m_minRoundnessNumInput->value();
-    settings->neighborGroups    = m_widget->m_neighborGroupsNumInput->value();
-    settings->prefixName        = m_widget->m_prefixLineEdit->text();
-    settings->scaleFactor       = m_widget->m_scalingFactorNumInput->value();
-    settings->storageMode       = m_widget->m_storageGroup->checkedId();
-    settings->subfolderName     = m_widget->m_subfolderLineEdit->text();
-    settings->threadType        = type;
+    WorkerThread::SettingsData* settings = new WorkerThread::SettingsData();
+    settings->minBlobsize                = m_widget->m_minBlobSizeNumInput->value();
+    settings->minRoundness               = m_widget->m_minRoundnessNumInput->value();
+    settings->neighborGroups             = m_widget->m_neighborGroupsNumInput->value();
+    settings->prefixName                 = m_widget->m_prefixLineEdit->text();
+    settings->scaleFactor                = m_widget->m_scalingFactorNumInput->value();
+    settings->storageMode                = m_widget->m_storageGroup->checkedId();
+    settings->subfolderName              = m_widget->m_subfolderLineEdit->text();
+    settings->imagesList                 = urls;
+    settings->threadType                 = type;
 
     if (m_widget->m_standardClassifierCheckBox->isChecked())
         settings->classifierFile    = STD_CLS;
@@ -260,6 +256,9 @@
         return;
     }
 
+    connect(m_wth, SIGNAL(calculationFinished(WTEventData*)),
+            this, SLOT(slotCalculationFinished(WTEventData*)));
+
     if (m_widget->m_progress->isHidden())
         m_widget->m_progress->show();
     m_widget->m_progress->setRange(0, urls.count());
--- branches/work/~aclemens/kde4ports/removeredeyes/workerthread.cpp #878335:878336
@@ -71,11 +71,11 @@
 
     int i = 1;
 
-    KUrl::List imagesList = m_settings->imagesList;
-    for (KUrl::List::Iterator it = imagesList.begin();
-            it != imagesList.end(); ++it, ++i)
+    for (KUrl::List::iterator it = m_settings->imagesList.begin();
+            it != m_settings->imagesList.end(); ++it, ++i)
     {
         KUrl url = (KUrl)(*it);
+        kDebug(50001) << "processing: " << url << endl;
         if (!url.isLocalFile())
             break;
 
@@ -87,11 +87,11 @@
 
         // find and remove red eyes
         EyeLocator* loc = new EyeLocator(src.data(),
-                                         cls.data(),
-                                         m_settings->scaleFactor,
-                                         m_settings->neighborGroups,
-                                         m_settings->minRoundness,
-                                         m_settings->minBlobsize);
+                cls.data(),
+                m_settings->scaleFactor,
+                m_settings->neighborGroups,
+                m_settings->minRoundness,
+                m_settings->minBlobsize);
 
         // save image to specified location
         if ((m_settings->threadType == Correction) && (loc->redEyes() > 0))
@@ -129,7 +129,8 @@
             loc->saveImage(dest.data());
         }
 
-        emit calculationFinished(new WTEventData(i, url, loc->redEyes()));
+        int eyes = loc->redEyes();
+        emit calculationFinished(new WTEventData(i, url, eyes));
 
         delete loc;
     }
--- branches/work/~aclemens/kde4ports/removeredeyes/workerthread.h #878335:878336
@@ -55,7 +55,7 @@
     {
     public:
 
-        SettingsData(KUrl::List& im): imagesList(im) {};
+        SettingsData() {};
 
         double      minRoundness;
         double      scaleFactor;
@@ -69,7 +69,7 @@
         QString     subfolderName;
         QString     prefixName;
 
-        KUrl::List& imagesList;
+        KUrl::List  imagesList;
     };
 
 signals:
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic