1
0
Fork 0
forked from len0rd/rockbox

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
This commit is contained in:
Robert Bieber 2010-07-03 08:23:20 +00:00
parent a8bb62e6e2
commit 5aa684f058
2 changed files with 31 additions and 16 deletions

View file

@ -57,13 +57,13 @@ void FindReplaceDialog::closeEvent(QCloseEvent* event)
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 @@ void FindReplaceDialog::find()
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 @@ void FindReplaceDialog::find()
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::find()
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()

View file

@ -50,15 +50,15 @@
</item>
</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">