Example #1
0
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);
}
Example #2
0
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);
}
Example #3
0
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());
    }
}
Example #7
0
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          
}
Example #8
0
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());
    }
}