123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106 |
- #include "fb2dlgs.hpp"
- #include "fb2code.hpp"
- #include "fb2tree.hpp"
- #include "fb2view.hpp"
- #include "fb2utils.h"
- #include "ui_fb2find.h"
- #include "ui_fb2note.h"
- #include <QWebFrame>
- #include <QWebPage>
- //---------------------------------------------------------------------------
- // Fb2CodeFindDlg
- //---------------------------------------------------------------------------
- Fb2CodeFindDlg::Fb2CodeFindDlg(Fb2CodeEdit &edit)
- : QDialog(&edit)
- , ui(new Ui::Fb2Find)
- , m_edit(edit)
- {
- ui->setupUi(this);
- ui->checkHigh->setText(tr("Complete words"));
- connect(ui->btnFind, SIGNAL(clicked()), this, SLOT(find()));
- }
- Fb2CodeFindDlg::~Fb2CodeFindDlg()
- {
- delete ui;
- }
- void Fb2CodeFindDlg::find()
- {
- QString text = ui->editText->text();
- if (text.isEmpty()) return;
- QTextDocument::FindFlags options = 0;
- if (ui->radioUp->isChecked()) options |= QTextDocument::FindBackward;
- if (ui->checkCase->isChecked()) options |= QTextDocument::FindCaseSensitively;
- if (ui->checkHigh->isChecked()) options |= QTextDocument::FindWholeWords;
- m_edit.findText(text, options);
- }
- //---------------------------------------------------------------------------
- // Fb2TextFindDlg
- //---------------------------------------------------------------------------
- Fb2TextFindDlg::Fb2TextFindDlg(Fb2WebView &edit)
- : QDialog(&edit)
- , ui(new Ui::Fb2Find)
- , m_edit(edit)
- {
- ui->setupUi(this);
- connect(ui->btnFind, SIGNAL(clicked()), this, SLOT(find()));
- }
- Fb2TextFindDlg::~Fb2TextFindDlg()
- {
- m_edit.findText(QString(), QWebPage::HighlightAllOccurrences);
- delete ui;
- }
- void Fb2TextFindDlg::find()
- {
- QString text = ui->editText->text();
- if (text.isEmpty()) return;
- QWebPage::FindFlags options = QWebPage::FindWrapsAroundDocument;
- if (ui->radioUp->isChecked()) options |= QWebPage::FindBackward;
- if (ui->checkCase->isChecked()) options |= QWebPage::FindCaseSensitively;
- if (ui->checkHigh->isChecked()) options |= QWebPage::HighlightAllOccurrences;
- m_edit.findText(text, options);
- }
- //---------------------------------------------------------------------------
- // Fb2NoteDlg
- //---------------------------------------------------------------------------
- Fb2NoteDlg::Fb2NoteDlg(Fb2WebView &view)
- : QDialog(&view)
- , ui(new Ui::Fb2Note)
- {
- ui->setupUi(this);
- ui->m_key->addItem(tr("<create new>"));
- ui->m_key->setCurrentIndex(0);
- ui->m_title->setFocus();
- Fb2WebPage *page = new Fb2WebPage(this);
- connect(ui->m_text, SIGNAL(loadFinished(bool)), SLOT(loadFinished()));
- page->setNetworkAccessManager(view.page()->networkAccessManager());
- page->setContentEditable(true);
- ui->m_text->setPage(page);
- ui->m_text->setHtml("<body><p></p></body>");
- FB2::addTools(ui->m_toolbar, ui->m_text);
- }
- Fb2NoteDlg::~Fb2NoteDlg()
- {
- delete ui;
- }
- void Fb2NoteDlg::loadFinished()
- {
- Fb2WebElement body = ui->m_text->page()->mainFrame()->documentElement().findFirst("body");
- body.select();
- }
|