~smartboyhw/ubuntu/raring/calligra/2.6.0-0ubuntu1

« back to all changes in this revision

Viewing changes to libs/widgets/KoPagePreviewWidget.cpp

  • Committer: Package Import Robot
  • Author(s): Jonathan Riddell
  • Date: 2012-08-08 11:05:31 UTC
  • mfrom: (1.1.9)
  • Revision ID: package-import@ubuntu.com-20120808110531-43wco1j5sdm8n47s
Tags: 1:2.5.0-0ubuntu1
New upstream release

Show diffs side-by-side

added added

removed removed

Lines of Context:
38
38
    : QWidget(parent)
39
39
    , d(new Private)
40
40
{
41
 
    d->columns.columns = 1;
42
 
    d->columns.columnSpacing = 0;
43
41
    setMinimumSize( 100, 100 );
44
42
}
45
43
 
123
121
    painter.setBrush( QBrush( palette().color(QPalette::ButtonText), Qt::HorPattern ) );
124
122
    painter.setPen( palette().color(QPalette::Dark) );
125
123
 
126
 
    qreal columnWidth = (textArea.width() + (d->columns.columnSpacing * zoom)) / d->columns.columns;
127
 
    int width = qRound(columnWidth - d->columns.columnSpacing * zoom);
128
 
    for ( int i = 0; i < d->columns.columns; ++i )
129
 
        painter.drawRect( qRound(textArea.x() + i * columnWidth), textArea.y(), width, textArea.height());
130
 
 
 
124
    // uniform columns?
 
125
    if (d->columns.columnData.isEmpty()) {
 
126
        qreal columnWidth = (textArea.width() + (d->columns.gapWidth * zoom)) / d->columns.count;
 
127
        int width = qRound(columnWidth - d->columns.gapWidth * zoom);
 
128
        for ( int i = 0; i < d->columns.count; ++i )
 
129
            painter.drawRect( qRound(textArea.x() + i * columnWidth), textArea.y(), width, textArea.height());
 
130
    } else {
 
131
        qreal totalRelativeWidth = 0.0;
 
132
        foreach(const KoColumns::ColumnDatum &cd, d->columns.columnData) {
 
133
            totalRelativeWidth += cd.relativeWidth;
 
134
        }
 
135
        int relativeColumnXOffset = 0;
 
136
        for (int i = 0; i < d->columns.count; i++) {
 
137
            const KoColumns::ColumnDatum &columnDatum = d->columns.columnData.at(i);
 
138
            const qreal columnWidth = textArea.width() * columnDatum.relativeWidth / totalRelativeWidth;
 
139
            const qreal columnXOffset = textArea.width() * relativeColumnXOffset / totalRelativeWidth;
 
140
 
 
141
            painter.drawRect( qRound(textArea.x() + columnXOffset + columnDatum.leftMargin * zoom),
 
142
                              qRound(textArea.y()  + columnDatum.topMargin * zoom),
 
143
                              qRound(columnWidth - (columnDatum.leftMargin + columnDatum.rightMargin) * zoom),
 
144
                              qRound(textArea.height() - (columnDatum.topMargin + columnDatum.bottomMargin) * zoom));
 
145
 
 
146
            relativeColumnXOffset += columnDatum.relativeWidth;
 
147
        }
 
148
    }
131
149
}
132
150
 
133
151
void KoPagePreviewWidget::setPageLayout(const KoPageLayout &layout)