Theme Editor: Implemented replace and replace all in find/replace dialog

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27254 a1c6a512-1295-4272-9138-f99709370657
diff --git a/utils/themeeditor/gui/findreplacedialog.cpp b/utils/themeeditor/gui/findreplacedialog.cpp
index e2b8b9b..2a61611 100644
--- a/utils/themeeditor/gui/findreplacedialog.cpp
+++ b/utils/themeeditor/gui/findreplacedialog.cpp
@@ -57,13 +57,13 @@
 
 void FindReplaceDialog::setupUI()
 {
-    QObject::connect(ui->findButton, SIGNAL(pressed()),
+    QObject::connect(ui->findButton, SIGNAL(clicked()),
                      this, SLOT(find()));
-    QObject::connect(ui->replaceButton, SIGNAL(pressed()),
+    QObject::connect(ui->replaceButton, SIGNAL(clicked()),
                      this, SLOT(replace()));
-    QObject::connect(ui->replaceAllButton, SIGNAL(pressed()),
+    QObject::connect(ui->replaceAllButton, SIGNAL(clicked()),
                      this, SLOT(replaceAll()));
-    QObject::connect(ui->closeButton, SIGNAL(pressed()),
+    QObject::connect(ui->closeButton, SIGNAL(clicked()),
                      this, SLOT(close()));
     QObject::connect(ui->findBox, SIGNAL(textChanged(QString)),
                      this, SLOT(textChanged()));
@@ -77,10 +77,6 @@
     if(!editor)
         return;
 
-    /* Figuring out the range to search in */
-    int begin = editor->textCursor().selectionStart();
-    int end = editor->textCursor().selectionEnd();
-
     QTextDocument::FindFlags flags = 0;
     if(ui->caseBox->isChecked())
         flags |= QTextDocument::FindCaseSensitively;
@@ -109,7 +105,7 @@
     QPalette newPal;
     if(!textFound.isNull())
     {
-        newPal.setColor(QPalette::Foreground, QColor(150, 255, 150));
+        newPal.setColor(QPalette::Foreground, QColor(0, 150, 0));
         ui->statusLabel->setPalette(newPal);
         ui->statusLabel->setText(tr("Match Found"));
         editor->setTextCursor(textFound);
@@ -126,12 +122,31 @@
 
 void FindReplaceDialog::replace()
 {
+    if(textFound.isNull())
+        find();
 
+    if(textFound.isNull())
+        return;
+
+    editor->setTextCursor(textFound);
+    editor->insertPlainText(ui->replaceBox->text());
+    textFound = QTextCursor();
 }
 
 void FindReplaceDialog::replaceAll()
 {
 
+    do
+    {
+        if(!textFound.isNull())
+        {
+            editor->setTextCursor(textFound);
+            editor->insertPlainText(ui->replaceBox->text());
+        }
+
+        find();
+    }while(!textFound.isNull());
+
 }
 
 void FindReplaceDialog::textChanged()
diff --git a/utils/themeeditor/gui/findreplacedialog.ui b/utils/themeeditor/gui/findreplacedialog.ui
index 1c45107..5641181 100644
--- a/utils/themeeditor/gui/findreplacedialog.ui
+++ b/utils/themeeditor/gui/findreplacedialog.ui
@@ -51,15 +51,15 @@
       </layout>
      </item>
      <item>
+      <widget class="QLabel" name="statusLabel">
+       <property name="text">
+        <string/>
+       </property>
+      </widget>
+     </item>
+     <item>
       <layout class="QVBoxLayout" name="verticalLayout">
        <item>
-        <widget class="QLabel" name="statusLabel">
-         <property name="text">
-          <string/>
-         </property>
-        </widget>
-       </item>
-       <item>
         <widget class="QCheckBox" name="caseBox">
          <property name="text">
           <string>Match Case</string>