File indexing completed on 2024-05-12 05:40:38

0001 /*
0002     Cahoots is a crossplatform real-time collaborative text editor.
0003 
0004     Copyright (C) 2010 Chris Dimpfl, Anandi Hira, David Vega
0005 
0006     This program is free software: you can redistribute it and/or modify
0007     it under the terms of the GNU General Public License as published by
0008     the Free Software Foundation, either version 3 of the License, or
0009     (at your option) any later version.
0010 
0011     This program is distributed in the hope that it will be useful,
0012     but WITHOUT ANY WARRANTY; without even the implied warranty of
0013     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
0014     GNU General Public License for more details.
0015 
0016     You should have received a copy of the GNU General Public License
0017     along with this program.  If not, see <http://www.gnu.org/licenses/>.
0018 */
0019 #include "finddialog.h"
0020 #include "ui_finddialog.h"
0021 
0022 #include "enu.h"
0023 
0024 FindDialog::FindDialog(QWidget* parent) : QDialog(parent), ui(new Ui::FindDialog)
0025 {
0026     ui->setupUi(this);
0027 }
0028 
0029 FindDialog::~FindDialog()
0030 {
0031     delete ui;
0032 }
0033 
0034 void FindDialog::changeEvent(QEvent* e)
0035 {
0036     QDialog::changeEvent(e);
0037     switch(e->type())
0038     {
0039     case QEvent::LanguageChange:
0040         ui->retranslateUi(this);
0041         break;
0042     default:
0043         break;
0044     }
0045 }
0046 
0047 void FindDialog::on_findNextPushButton_clicked()
0048 {
0049     QString searchString= ui->findTextEdit->toPlainText();
0050     Qt::CaseSensitivity sensitivity;
0051     if(ui->ignoreCaseCheckBox->isChecked())
0052     {
0053         sensitivity= Qt::CaseInsensitive;
0054     }
0055     else
0056     {
0057         sensitivity= Qt::CaseSensitive;
0058     }
0059     Enu::FindMode mode= Enu::Contains;
0060     if(ui->findModeComboBox->currentText() == "Contains")
0061     {
0062         mode= Enu::Contains;
0063     }
0064     else if(ui->findModeComboBox->currentText() == "Starts With")
0065     {
0066         mode= Enu::StartsWith;
0067     }
0068     else if(ui->findModeComboBox->currentText() == "Entire Word")
0069     {
0070         mode= Enu::EntireWord;
0071     }
0072     emit findDialogFindNext(searchString, sensitivity, ui->wrapAroundCheckBox->isChecked(), mode);
0073 }
0074 
0075 void FindDialog::on_findPreviousPushButton_clicked()
0076 {
0077     QString searchString= ui->findTextEdit->toPlainText();
0078     Qt::CaseSensitivity sensitivity;
0079     if(ui->ignoreCaseCheckBox->isChecked())
0080     {
0081         sensitivity= Qt::CaseInsensitive;
0082     }
0083     else
0084     {
0085         sensitivity= Qt::CaseSensitive;
0086     }
0087     Enu::FindMode mode= Enu::Contains;
0088     if(ui->findModeComboBox->currentText() == "Contains")
0089     {
0090         mode= Enu::Contains;
0091     }
0092     else if(ui->findModeComboBox->currentText() == "Starts With")
0093     {
0094         mode= Enu::StartsWith;
0095     }
0096     else if(ui->findModeComboBox->currentText() == "Entire Word")
0097     {
0098         mode= Enu::EntireWord;
0099     }
0100     emit findDialogFindPrev(searchString, sensitivity, ui->wrapAroundCheckBox->isChecked(), mode);
0101 }
0102 
0103 void FindDialog::on_replaceAllPushButton_clicked()
0104 {
0105     QString searchString= ui->findTextEdit->toPlainText();
0106     QString replaceString= ui->replaceTextEdit->toPlainText();
0107     Qt::CaseSensitivity sensitivity;
0108     if(ui->ignoreCaseCheckBox->isChecked())
0109     {
0110         sensitivity= Qt::CaseInsensitive;
0111     }
0112     else
0113     {
0114         sensitivity= Qt::CaseSensitive;
0115     }
0116     Enu::FindMode mode= Enu::Contains;
0117     if(ui->findModeComboBox->currentText() == "Contains")
0118     {
0119         mode= Enu::Contains;
0120     }
0121     else if(ui->findModeComboBox->currentText() == "Starts With")
0122     {
0123         mode= Enu::StartsWith;
0124     }
0125     else if(ui->findModeComboBox->currentText() == "Entire Word")
0126     {
0127         mode= Enu::EntireWord;
0128     }
0129     emit findDialogReplaceAll(searchString, replaceString, sensitivity, mode);
0130 }
0131 
0132 void FindDialog::on_replacePushButton_clicked()
0133 {
0134     QString replaceString= ui->replaceTextEdit->toPlainText();
0135     emit findDialogReplace(replaceString);
0136 }
0137 
0138 void FindDialog::on_findReplacePushButton_clicked()
0139 {
0140     QString searchString= ui->findTextEdit->toPlainText();
0141     QString replaceString= ui->replaceTextEdit->toPlainText();
0142     Qt::CaseSensitivity sensitivity;
0143     if(ui->ignoreCaseCheckBox->isChecked())
0144     {
0145         sensitivity= Qt::CaseInsensitive;
0146     }
0147     else
0148     {
0149         sensitivity= Qt::CaseSensitive;
0150     }
0151     Enu::FindMode mode= Enu::Contains;
0152     if(ui->findModeComboBox->currentText() == "Contains")
0153     {
0154         mode= Enu::Contains;
0155     }
0156     else if(ui->findModeComboBox->currentText() == "Starts With")
0157     {
0158         mode= Enu::StartsWith;
0159     }
0160     else if(ui->findModeComboBox->currentText() == "Entire Word")
0161     {
0162         mode= Enu::EntireWord;
0163     }
0164     emit findDiaalogFindReplace(searchString, replaceString, sensitivity, ui->wrapAroundCheckBox->isChecked(), mode);
0165 }