fb2dlgs.cpp 2.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  1. #include "fb2dlgs.hpp"
  2. #include "fb2code.hpp"
  3. #include "fb2view.hpp"
  4. #include "fb2utils.h"
  5. #include "ui_fb2find.h"
  6. #include "ui_fb2note.h"
  7. //---------------------------------------------------------------------------
  8. // Fb2CodeFindDlg
  9. //---------------------------------------------------------------------------
  10. Fb2CodeFindDlg::Fb2CodeFindDlg(Fb2CodeEdit &edit)
  11. : QDialog(&edit)
  12. , ui(new Ui::Fb2Find)
  13. , m_edit(edit)
  14. {
  15. ui->setupUi(this);
  16. ui->checkHigh->setText(tr("Complete words"));
  17. connect(ui->btnFind, SIGNAL(clicked()), this, SLOT(find()));
  18. }
  19. Fb2CodeFindDlg::~Fb2CodeFindDlg()
  20. {
  21. delete ui;
  22. }
  23. void Fb2CodeFindDlg::find()
  24. {
  25. QString text = ui->editText->text();
  26. if (text.isEmpty()) return;
  27. QTextDocument::FindFlags options = 0;
  28. if (ui->radioUp->isChecked()) options |= QTextDocument::FindBackward;
  29. if (ui->checkCase->isChecked()) options |= QTextDocument::FindCaseSensitively;
  30. if (ui->checkHigh->isChecked()) options |= QTextDocument::FindWholeWords;
  31. m_edit.findText(text, options);
  32. }
  33. //---------------------------------------------------------------------------
  34. // Fb2TextFindDlg
  35. //---------------------------------------------------------------------------
  36. Fb2TextFindDlg::Fb2TextFindDlg(Fb2WebView &edit)
  37. : QDialog(&edit)
  38. , ui(new Ui::Fb2Find)
  39. , m_edit(edit)
  40. {
  41. ui->setupUi(this);
  42. connect(ui->btnFind, SIGNAL(clicked()), this, SLOT(find()));
  43. }
  44. Fb2TextFindDlg::~Fb2TextFindDlg()
  45. {
  46. m_edit.findText(QString(), QWebPage::HighlightAllOccurrences);
  47. delete ui;
  48. }
  49. void Fb2TextFindDlg::find()
  50. {
  51. QString text = ui->editText->text();
  52. if (text.isEmpty()) return;
  53. QWebPage::FindFlags options = QWebPage::FindWrapsAroundDocument;
  54. if (ui->radioUp->isChecked()) options |= QWebPage::FindBackward;
  55. if (ui->checkCase->isChecked()) options |= QWebPage::FindCaseSensitively;
  56. if (ui->checkHigh->isChecked()) options |= QWebPage::HighlightAllOccurrences;
  57. m_edit.findText(text, options);
  58. }
  59. //---------------------------------------------------------------------------
  60. // Fb2NoteDlg
  61. //---------------------------------------------------------------------------
  62. Fb2NoteDlg::Fb2NoteDlg(Fb2WebView &view)
  63. : QDialog(&view)
  64. , ui(new Ui::Fb2Note)
  65. {
  66. ui->setupUi(this);
  67. ui->m_key->addItem(tr("<create new>"));
  68. ui->m_key->setCurrentIndex(0);
  69. ui->m_title->setFocus();
  70. Fb2WebPage *page = new Fb2WebPage(this);
  71. page->setNetworkAccessManager(view.page()->networkAccessManager());
  72. page->setContentEditable(true);
  73. ui->m_text->setPage(page);
  74. ui->m_text->setHtml("<p></p>");
  75. FB2::addTools(ui->m_toolbar, ui->m_text);
  76. }
  77. Fb2NoteDlg::~Fb2NoteDlg()
  78. {
  79. delete ui;
  80. }