void HTMLRepresentation::setWords(Dict::WordListList::ConstIterator start, Dict::WordListList::ConstIterator end, bool revers) { Dict::WordListList::ConstIterator newStart = end; for (int i = 0; i < m_shownSolutions; i++) if (newStart != start) newStart--; start = newStart; QString html("<a name=top>"); if (revers) { Dict::WordListList::ConstIterator it = end; while (true) { if (it == start) break; --it; html += htmlForWordList(*it); } } else { for (Dict::WordListList::ConstIterator it = start; it != end; ++it) html += htmlForWordList(*it); } setHTML(html, Content_Solutions); }
void HTMLRepresentation::addSubmission(const QString &submission) { QString newHtml(html()); QString item(QString("%1").arg(submission)); if (newHtml.endsWith("</p>")) newHtml.insert(newHtml.length() - 4, QString("<br>") + item); else newHtml += QString("<center><h2>%1</h2><p>%2</p>").arg(qApp->tr("Correct Answers")).arg(item); setHTML(newHtml, Content_Solutions); }
void HTMLRepresentation::setWords(ClueResultList::ConstIterator start, ClueResultList::ConstIterator end, bool revers) { QString html("<a name=top>"); int shown = 0; html += "<center>"; if (revers) { ClueResultList::ConstIterator it = end; while (shown < m_shownClues) { if (it == start) break; --it; if (shown == 0) html += "<font size=6>"; else html += "<font size=6>"; html += htmlForPlainWord((*it).clue.clueString) + "<br>"; html += "</font>"; shown++; } } else { for (ClueResultList::ConstIterator it = start; (it != end) && (shown < 30); ++it) { if (shown == 0) html += "<font size=6>"; else html += "<font size=6>"; html += htmlForPlainWord((*it).clue.clueString) + "<br>"; if (shown == 0) html += "</font>"; shown++; } } html += "</center>"; setHTML(html, Content_Upcoming); }
TEST_F(SurroundingTextTest, TreeRangeSelection) { setHTML(String("<div>This is outside of <p id='selection'>foo bar</p> the selected node</div>")); { VisibleSelection selection = select(0, 1); SurroundingText surroundingText(*firstRangeOf(selection), 1); EXPECT_EQ("fo", surroundingText.content().simplifyWhiteSpace()); EXPECT_EQ(0u, surroundingText.startOffsetInContent()); EXPECT_EQ(1u, surroundingText.endOffsetInContent()); } { VisibleSelection selection = select(0, 3); SurroundingText surroundingText(*firstRangeOf(selection), 12); EXPECT_EQ("e of foo bar", surroundingText.content().simplifyWhiteSpace()); EXPECT_EQ(5u, surroundingText.startOffsetInContent()); EXPECT_EQ(8u, surroundingText.endOffsetInContent()); } { VisibleSelection selection = select(0, 3); SurroundingText surroundingText(*firstRangeOf(selection), 1337); EXPECT_EQ("This is outside of foo bar the selected node", surroundingText.content().simplifyWhiteSpace()); EXPECT_EQ(20u, surroundingText.startOffsetInContent()); EXPECT_EQ(23u, surroundingText.endOffsetInContent()); } { VisibleSelection selection = select(4, 7); SurroundingText surroundingText(*firstRangeOf(selection), 12); EXPECT_EQ("foo bar the se", surroundingText.content().simplifyWhiteSpace()); EXPECT_EQ(5u, surroundingText.startOffsetInContent()); EXPECT_EQ(8u, surroundingText.endOffsetInContent()); } { VisibleSelection selection = select(0, 7); SurroundingText surroundingText(*firstRangeOf(selection), 1337); EXPECT_EQ("This is outside of foo bar the selected node", surroundingText.content().simplifyWhiteSpace()); EXPECT_EQ(20u, surroundingText.startOffsetInContent()); EXPECT_EQ(27u, surroundingText.endOffsetInContent()); } }
TEST_F(SurroundingTextTest, TreeCaretSelection) { setHTML(String("<div>This is outside of <p id='selection'>foo bar</p> the selected node</div>")); { VisibleSelection selection = select(0); SurroundingText surroundingText(selection.start(), 1); EXPECT_EQ("f", surroundingText.content()); EXPECT_EQ(0u, surroundingText.startOffsetInContent()); EXPECT_EQ(0u, surroundingText.endOffsetInContent()); } { VisibleSelection selection = select(0); SurroundingText surroundingText(selection.start(), 5); EXPECT_EQ("foo", surroundingText.content().simplifyWhiteSpace()); EXPECT_EQ(1u, surroundingText.startOffsetInContent()); EXPECT_EQ(1u, surroundingText.endOffsetInContent()); } { VisibleSelection selection = select(0); SurroundingText surroundingText(selection.start(), 1337); EXPECT_EQ("This is outside of foo bar the selected node", surroundingText.content().simplifyWhiteSpace()); EXPECT_EQ(20u, surroundingText.startOffsetInContent()); EXPECT_EQ(20u, surroundingText.endOffsetInContent()); } { VisibleSelection selection = select(6); SurroundingText surroundingText(selection.start(), 2); EXPECT_EQ("ar", surroundingText.content()); EXPECT_EQ(1u, surroundingText.startOffsetInContent()); EXPECT_EQ(1u, surroundingText.endOffsetInContent()); } { VisibleSelection selection = select(6); SurroundingText surroundingText(selection.start(), 1337); EXPECT_EQ("This is outside of foo bar the selected node", surroundingText.content().simplifyWhiteSpace()); EXPECT_EQ(26u, surroundingText.startOffsetInContent()); EXPECT_EQ(26u, surroundingText.endOffsetInContent()); } }
TEST_F(SurroundingTextTest, BasicRangeSelection) { setHTML(String("<p id='selection'>Lorem ipsum dolor sit amet</p>")); { VisibleSelection selection = select(0, 5); SurroundingText surroundingText(*firstRangeOf(selection), 1); EXPECT_EQ("Lorem ", surroundingText.content()); EXPECT_EQ(0u, surroundingText.startOffsetInContent()); EXPECT_EQ(5u, surroundingText.endOffsetInContent()); } { VisibleSelection selection = select(0, 5); SurroundingText surroundingText(*firstRangeOf(selection), 5); EXPECT_EQ("Lorem ip", surroundingText.content().simplifyWhiteSpace()); EXPECT_EQ(1u, surroundingText.startOffsetInContent()); EXPECT_EQ(6u, surroundingText.endOffsetInContent()); } { VisibleSelection selection = select(0, 5); SurroundingText surroundingText(*firstRangeOf(selection), 42); EXPECT_EQ("Lorem ipsum dolor sit amet", surroundingText.content().simplifyWhiteSpace()); EXPECT_EQ(1u, surroundingText.startOffsetInContent()); EXPECT_EQ(6u, surroundingText.endOffsetInContent()); } { VisibleSelection selection = select(6, 11); SurroundingText surroundingText(*firstRangeOf(selection), 2); EXPECT_EQ(" ipsum ", surroundingText.content()); EXPECT_EQ(1u, surroundingText.startOffsetInContent()); EXPECT_EQ(6u, surroundingText.endOffsetInContent()); } { VisibleSelection selection = select(6, 11); SurroundingText surroundingText(*firstRangeOf(selection), 42); EXPECT_EQ("Lorem ipsum dolor sit amet", surroundingText.content().simplifyWhiteSpace()); EXPECT_EQ(7u, surroundingText.startOffsetInContent()); EXPECT_EQ(12u, surroundingText.endOffsetInContent()); } }
void MyTextBrowser::tbSetText(QString &text) { #ifdef NO_WEBKIT int vPos = verticalScrollBar()->value(); // make cursor not jumping (ernst murnleitner) int hPos = horizontalScrollBar()->value(); QTextDocument *doc = document(); if(doc != NULL) doc->setHtml(text); // ,url); verticalScrollBar()->setValue(vPos); horizontalScrollBar()->setValue(hPos); #else if(page() != NULL && page()->mainFrame() != NULL) { xOldScroll = page()->mainFrame()->scrollBarValue(Qt::Horizontal); yOldScroll = page()->mainFrame()->scrollBarValue(Qt::Vertical); } setHTML(text); #endif }
void MyTextBrowser::tbSetText(QString &text) { #ifdef MY_NO_WEBKIT int vPos = verticalScrollBar()->value(); // make cursor not jumping (ernst murnleitner) int hPos = horizontalScrollBar()->value(); QTextDocument *doc = document(); if(doc != NULL) doc->setHtml(text); // ,url); verticalScrollBar()->setValue(vPos); horizontalScrollBar()->setValue(hPos); #else //v5diff // page()->mainFrame has been removed in qtwebengine //v5diff if(page() != NULL && page()->mainFrame() != NULL) //v5diff { //v5diff xOldScroll = page()->mainFrame()->scrollBarValue(Qt::Horizontal); //v5diff yOldScroll = page()->mainFrame()->scrollBarValue(Qt::Vertical); //v5diff } setHTML(text); #endif }
TEST_F(SurroundingTextTest, BasicCaretSelection) { setHTML(String("<p id='selection'>foo bar</p>")); { VisibleSelection selection = select(0); SurroundingText surroundingText(selection.start(), 1); EXPECT_EQ("f", surroundingText.content()); EXPECT_EQ(0u, surroundingText.startOffsetInContent()); EXPECT_EQ(0u, surroundingText.endOffsetInContent()); } { VisibleSelection selection = select(0); SurroundingText surroundingText(selection.start(), 5); // maxlength/2 is used on the left and right. EXPECT_EQ("foo", surroundingText.content().simplifyWhiteSpace()); EXPECT_EQ(1u, surroundingText.startOffsetInContent()); EXPECT_EQ(1u, surroundingText.endOffsetInContent()); } { VisibleSelection selection = select(0); SurroundingText surroundingText(selection.start(), 42); EXPECT_EQ("foo bar", surroundingText.content().simplifyWhiteSpace()); EXPECT_EQ(1u, surroundingText.startOffsetInContent()); EXPECT_EQ(1u, surroundingText.endOffsetInContent()); } { // FIXME: if the selection is at the end of the text, SurroundingText // will return nothing. VisibleSelection selection = select(7); SurroundingText surroundingText(selection.start(), 42); EXPECT_EQ(0u, surroundingText.content().length()); EXPECT_EQ(0u, surroundingText.startOffsetInContent()); EXPECT_EQ(0u, surroundingText.endOffsetInContent()); } { VisibleSelection selection = select(6); SurroundingText surroundingText(selection.start(), 2); EXPECT_EQ("ar", surroundingText.content()); EXPECT_EQ(1u, surroundingText.startOffsetInContent()); EXPECT_EQ(1u, surroundingText.endOffsetInContent()); } { VisibleSelection selection = select(6); SurroundingText surroundingText(selection.start(), 42); EXPECT_EQ("foo bar", surroundingText.content().simplifyWhiteSpace()); EXPECT_EQ(7u, surroundingText.startOffsetInContent()); EXPECT_EQ(7u, surroundingText.endOffsetInContent()); } }