void TestTextFrameSorting::testSortingOnPagespread() { KWTextFrameSet tfs(0); KWFrame * frame1 = createFrame(QPointF(10, 200), tfs); KWFrame * frame2 = createFrame(QPointF(120, 10), tfs); KWFrame * frame3 = createFrame(QPointF(10, 10), tfs); KWFrame * frame4 = createFrame(QPointF(340, 10), tfs); KWFrame * frame5 = createFrame(QPointF(230, 10), tfs); KWPageManager pm; KWPage page = pm.appendPage(); page.setPageNumber(2); KOdfPageLayoutData layout = page.pageStyle().pageLayout(); layout.width = 450; layout.height = 150; page.setDirectionHint(KOdfText::LeftRightTopBottom); page.setPageSide(KWPage::PageSpread); page.pageStyle().setPageLayout(layout); page = pm.appendPage(); page.setDirectionHint(KOdfText::LeftRightTopBottom); layout.width = 200; page.pageStyle().setPageLayout(layout); tfs.setPageManager(&pm); QCOMPARE(page.offsetInDocument(), 150.); // test KWPageManager::pageNumber first QCOMPARE(pm.begin().pageNumber(), 2); QCOMPARE(pm.pageNumber(frame2->shape()), 2); QCOMPARE(pm.pageNumber(frame1->shape()), 4); QCOMPARE(KWTextFrameSet::sortTextFrames(frame4, frame5), false); QCOMPARE(KWTextFrameSet::sortTextFrames(frame5, frame4), true); QCOMPARE(KWTextFrameSet::sortTextFrames(frame2, frame4), true); QCOMPARE(KWTextFrameSet::sortTextFrames(frame1, frame4), false); qSort(tfs.m_frames.begin(), tfs.m_frames.end(), KWTextFrameSet::sortTextFrames); QCOMPARE(tfs.m_frames[0], frame3); QCOMPARE(tfs.m_frames[1], frame2); QCOMPARE(tfs.m_frames[2], frame5); QCOMPARE(tfs.m_frames[3], frame4); QCOMPARE(tfs.m_frames[4], frame1); }
void TestTextFrameSorting::testRtlSorting() { KWTextFrameSet tfs(0); KWFrame * frame1 = createFrame(QPointF(10, 10), tfs); KWFrame * frame2 = createFrame(QPointF(120, 10), tfs); KWPageManager pm; KWPage page = pm.appendPage(); page.setDirectionHint(KOdfText::RightLeftTopBottom); QCOMPARE(page.directionHint(), KOdfText::RightLeftTopBottom); KOdfPageLayoutData layout = page.pageStyle().pageLayout(); layout.width = 200; page.pageStyle().setPageLayout(layout); tfs.setPageManager(&pm); qSort(tfs.m_frames.begin(), tfs.m_frames.end(), KWTextFrameSet::sortTextFrames); // in RTL columns also sort right-to-left QCOMPARE(tfs.m_frames[0], frame2); QCOMPARE(tfs.m_frames[1], frame1); }