fb2dlgs.cpp 2.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  1. #include "fb2dlgs.hpp"
  2. #include "fb2code.hpp"
  3. #include "fb2page.hpp"
  4. #include "fb2text.hpp"
  5. #include "fb2tree.hpp"
  6. #include "fb2utils.h"
  7. #include "ui_fb2find.h"
  8. #include "ui_fb2setup.h"
  9. #include <QComboBox>
  10. #include <QDialogButtonBox>
  11. #include <QFileDialog>
  12. #include <QFrame>
  13. #include <QLabel>
  14. #include <QLineEdit>
  15. #include <QTabWidget>
  16. #include <QToolBar>
  17. #include <QWebFrame>
  18. #include <QWebPage>
  19. //---------------------------------------------------------------------------
  20. // FbCodeFindDlg
  21. //---------------------------------------------------------------------------
  22. FbCodeFindDlg::FbCodeFindDlg(FbCodeEdit &edit)
  23. : QDialog(&edit)
  24. , ui(new Ui::FbFind)
  25. , m_edit(edit)
  26. {
  27. ui->setupUi(this);
  28. ui->checkHigh->setText(tr("Complete words"));
  29. connect(ui->btnFind, SIGNAL(clicked()), this, SLOT(find()));
  30. }
  31. FbCodeFindDlg::~FbCodeFindDlg()
  32. {
  33. delete ui;
  34. }
  35. void FbCodeFindDlg::find()
  36. {
  37. QString text = ui->editText->text();
  38. if (text.isEmpty()) return;
  39. QTextDocument::FindFlags options;
  40. if (ui->radioUp->isChecked()) options |= QTextDocument::FindBackward;
  41. if (ui->checkCase->isChecked()) options |= QTextDocument::FindCaseSensitively;
  42. if (ui->checkHigh->isChecked()) options |= QTextDocument::FindWholeWords;
  43. m_edit.findText(text, options);
  44. }
  45. //---------------------------------------------------------------------------
  46. // FbTextFindDlg
  47. //---------------------------------------------------------------------------
  48. FbTextFindDlg::FbTextFindDlg(FbTextEdit &edit)
  49. : QDialog(&edit)
  50. , ui(new Ui::FbFind)
  51. , m_edit(edit)
  52. {
  53. ui->setupUi(this);
  54. ui->checkHigh->hide();
  55. connect(ui->btnFind, SIGNAL(clicked()), this, SLOT(find()));
  56. }
  57. FbTextFindDlg::~FbTextFindDlg()
  58. {
  59. m_edit.findText(QString(), QWebPage::HighlightAllOccurrences);
  60. delete ui;
  61. }
  62. void FbTextFindDlg::find()
  63. {
  64. QString text = ui->editText->text();
  65. if (text.isEmpty()) return;
  66. QWebPage::FindFlags options = QWebPage::FindWrapsAroundDocument;
  67. if (ui->radioUp->isChecked()) options |= QWebPage::FindBackward;
  68. if (ui->checkCase->isChecked()) options |= QWebPage::FindCaseSensitively;
  69. m_edit.findText(text, options);
  70. options |= QWebPage::HighlightAllOccurrences;
  71. m_edit.findText(text, options);
  72. }
  73. //---------------------------------------------------------------------------
  74. // FbSetupDlg
  75. //---------------------------------------------------------------------------
  76. FbSetupDlg::FbSetupDlg(QWidget *parent)
  77. : QDialog(parent)
  78. , ui(new Ui::FbSetup)
  79. {
  80. ui->setupUi(this);
  81. }