~ubuntu-branches/ubuntu/jaunty/kde4libs/jaunty-updates

« back to all changes in this revision

Viewing changes to plasma/dialog.cpp

  • Committer: Bazaar Package Importer
  • Author(s): Harald Sitter
  • Date: 2008-12-11 18:26:08 UTC
  • mfrom: (1.1.24 upstream)
  • Revision ID: james.westby@ubuntu.com-20081211182608-tsu6p8ncbw1gnqxt
Tags: 4:4.1.85-0ubuntu1
* New upstream release
* Patches:
  + Removed 15_kfreebsd_support.diff from patches/series (doesn't apply and
    has no use for Ubuntu)
  + Redid 20_use_dejavu_as_default_font.diff
  + Completely removed kubuntu_09_fix_application_menu.diff (applied upstream)
  + Refreshed kubuntu_54_use_xdg_menu_prefix.diff
  + Dropped plasma/widgets/toolbutton.cpp from kubuntu_qt_ftbfs.diff (applied
    upstream)
  + Global quilt refresh

Show diffs side-by-side

added added

removed removed

Lines of Context:
146
146
                          qMin(int(widget->minimumSize().height()) + top + bottom, QWIDGETSIZE_MAX));
147
147
        q->setMaximumSize(qMin(int(widget->maximumSize().width()) + left + right, QWIDGETSIZE_MAX),
148
148
                          qMin(int(widget->maximumSize().height()) + top + bottom, QWIDGETSIZE_MAX));
149
 
        q->resize(qMin(int(view->size().width()) + left + right, QWIDGETSIZE_MAX),
150
 
                          qMin(int(view->size().height()) + top + bottom, QWIDGETSIZE_MAX));
 
149
        q->resize(qMin(int(widget->size().width()) + left + right, QWIDGETSIZE_MAX),
 
150
                          qMin(int(widget->size().height()) + top + bottom, QWIDGETSIZE_MAX));
151
151
        q->updateGeometry();
152
152
 
153
153
        //reposition and resize the view.
154
 
        view->setSceneRect(widget->sceneBoundingRect());
155
 
        view->resize(view->mapFromScene(view->sceneRect()).boundingRect().size());
 
154
        //force a valid rect, otherwise it will take up the whole scene
 
155
        QRectF sceneRect(widget->sceneBoundingRect());
 
156
 
 
157
        sceneRect.setWidth(qMax(qreal(1), sceneRect.width()));
 
158
        sceneRect.setHeight(qMax(qreal(1), sceneRect.height()));
 
159
        view->setSceneRect(sceneRect);
 
160
 
 
161
        view->resize(widget->size().toSize());
156
162
        view->centerOn(widget);
157
163
 
158
164
        if (q->size() != prevSize) {
172
178
    d->background->setEnabledBorders(FrameSvg::AllBorders);
173
179
    d->background->resizeFrame(size());
174
180
 
 
181
    QPalette pal = palette();
 
182
    pal.setColor(backgroundRole(), Qt::transparent);
 
183
    setPalette(pal);
 
184
 
175
185
    connect(d->background, SIGNAL(repaintNeeded()), this, SLOT(update()));
176
186
 
177
187
    connect(Plasma::Theme::defaultTheme(), SIGNAL(themeChanged()), this, SLOT(themeUpdated()));
191
201
    p.setRenderHint(QPainter::Antialiasing);
192
202
    p.setClipRect(e->rect());
193
203
    p.setCompositionMode(QPainter::CompositionMode_Source);
194
 
    p.fillRect(rect(), Qt::transparent);
195
204
    d->background->paintFrame(&p);
196
205
 
197
206
    //we set the resize handlers
227
236
        setCursor(Qt::SizeFDiagCursor);
228
237
    } else if (d->resizeAreas[Dialog::SouthWest].contains(event->pos()) && d->resizeCorners & Dialog::SouthWest) {
229
238
        setCursor(Qt::SizeBDiagCursor);
230
 
    } else {
 
239
    } else if (!(event->buttons() & Qt::LeftButton)) {
231
240
        unsetCursor();
232
241
    }
233
242
 
296
305
{
297
306
    if (d->resizeStartCorner != Dialog::NoCorner) {
298
307
        d->resizeStartCorner = Dialog::NoCorner;
 
308
        unsetCursor();
299
309
        emit dialogResized();
300
310
    }
301
311
 
302
312
    QWidget::mouseReleaseEvent(event);
303
313
}
304
314
 
 
315
bool Dialog::event(QEvent *event)
 
316
{
 
317
    if (event->type() == QEvent::Paint) {
 
318
        QPainter p(this);
 
319
        p.setCompositionMode(QPainter::CompositionMode_Source);
 
320
        p.fillRect(rect(), Qt::transparent);
 
321
    }
 
322
 
 
323
    return QWidget::event(event);
 
324
}
 
325
 
305
326
void Dialog::resizeEvent(QResizeEvent *e)
306
327
{
307
328
    d->background->resizeFrame(e->size());
343
364
 
344
365
        if (!d->view) {
345
366
            d->view = new QGraphicsView(this);
 
367
            d->view->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
 
368
            d->view->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
346
369
            d->view->setFrameShape(QFrame::NoFrame);
347
370
            d->view->viewport()->setAutoFillBackground(false);
348
371
            layout()->addWidget(d->view);