Changeset View
Changeset View
Standalone View
Standalone View
src/kpageview.cpp
Show First 20 Lines • Show All 70 Lines • ▼ Show 20 Line(s) | 37 | { | |||
---|---|---|---|---|---|
71 | if (faceType == KPageView::Tabbed) { | 71 | if (faceType == KPageView::Tabbed) { | ||
72 | stack->setVisible(false); | 72 | stack->setVisible(false); | ||
73 | layout->removeWidget(stack); | 73 | layout->removeWidget(stack); | ||
74 | } else { | 74 | } else { | ||
75 | layout->addWidget(stack, 2, 1); | 75 | layout->addWidget(stack, 2, 1); | ||
76 | stack->setVisible(true); | 76 | stack->setVisible(true); | ||
77 | } | 77 | } | ||
78 | 78 | | |||
79 | layout->removeWidget(titleWidget); | ||||
80 | | ||||
81 | if (pageHeader) { | ||||
82 | layout->removeWidget(pageHeader); | ||||
83 | pageHeader->setVisible(q->showPageHeader()); | ||||
84 | titleWidget->setVisible(false); | ||||
85 | | ||||
86 | if (faceType == KPageView::Tabbed) { | ||||
87 | layout->addWidget(pageHeader, 1, 1); | ||||
88 | } else { | ||||
89 | layout->addWidget(pageHeader, 1, 1, 1, 2); | ||||
90 | } | ||||
91 | } else { | ||||
79 | titleWidget->setVisible(q->showPageHeader()); | 92 | titleWidget->setVisible(q->showPageHeader()); | ||
93 | if (faceType == KPageView::Tabbed) { | ||||
94 | layout->addWidget(titleWidget, 1, 1); | ||||
95 | } else { | ||||
96 | layout->addWidget(titleWidget, 1, 1, 1, 2); | ||||
97 | } | ||||
98 | } | ||||
80 | 99 | | |||
81 | Qt::Alignment alignment = q->viewPosition(); | 100 | Qt::Alignment alignment = q->viewPosition(); | ||
82 | if (alignment & Qt::AlignTop) { | 101 | if (alignment & Qt::AlignTop) { | ||
83 | layout->addWidget(view, 2, 1); | 102 | layout->addWidget(view, 2, 1); | ||
84 | } else if (alignment & Qt::AlignRight) { | 103 | } else if (alignment & Qt::AlignRight) { | ||
85 | layout->addWidget(view, 1, 2, 2, 1); | 104 | layout->addWidget(view, 1, 2, 4, 1); | ||
86 | } else if (alignment & Qt::AlignBottom) { | 105 | } else if (alignment & Qt::AlignBottom) { | ||
87 | layout->addWidget(view, 4, 1); | 106 | layout->addWidget(view, 4, 1); | ||
88 | } else if (alignment & Qt::AlignLeft) { | 107 | } else if (alignment & Qt::AlignLeft) { | ||
89 | layout->addWidget(view, 1, 0, 2, 1); | 108 | layout->addWidget(view, 1, 0, 4, 1); | ||
90 | } | 109 | } | ||
91 | } | 110 | } | ||
92 | 111 | | |||
93 | void KPageViewPrivate::updateSelection() | 112 | void KPageViewPrivate::updateSelection() | ||
94 | { | 113 | { | ||
95 | /** | 114 | /** | ||
96 | * Select the first item in the view if not done yet. | 115 | * Select the first item in the view if not done yet. | ||
97 | */ | 116 | */ | ||
▲ Show 20 Lines • Show All 198 Lines • ▼ Show 20 Line(s) | 314 | : q_ptr(_parent), model(nullptr), faceType(KPageView::Auto), | |||
296 | layout(nullptr), stack(nullptr), titleWidget(nullptr), view(nullptr) | 315 | layout(nullptr), stack(nullptr), titleWidget(nullptr), view(nullptr) | ||
297 | { | 316 | { | ||
298 | } | 317 | } | ||
299 | 318 | | |||
300 | void KPageViewPrivate::init() | 319 | void KPageViewPrivate::init() | ||
301 | { | 320 | { | ||
302 | Q_Q(KPageView); | 321 | Q_Q(KPageView); | ||
303 | layout = new QGridLayout(q); | 322 | layout = new QGridLayout(q); | ||
323 | layout->setContentsMargins(0, 0, 0, 0); | ||||
304 | stack = new KPageStackedWidget(q); | 324 | stack = new KPageStackedWidget(q); | ||
305 | titleWidget = new KTitleWidget(q); | 325 | titleWidget = new KTitleWidget(q); | ||
306 | QPixmap emptyPixmap(22, 22); | 326 | QPixmap emptyPixmap(22, 22); | ||
307 | emptyPixmap.fill(Qt::transparent); | 327 | emptyPixmap.fill(Qt::transparent); | ||
308 | titleWidget->setPixmap(emptyPixmap); | 328 | titleWidget->setPixmap(emptyPixmap); | ||
309 | layout->addWidget(titleWidget, 1, 1); | 329 | layout->addWidget(titleWidget, 1, 1, 1, 2); | ||
310 | layout->addWidget(stack, 2, 1); | 330 | layout->addWidget(stack, 2, 1); | ||
311 | 331 | | |||
312 | defaultWidget = new QWidget(q); | 332 | defaultWidget = new QWidget(q); | ||
313 | stack->addWidget(defaultWidget); | 333 | stack->addWidget(defaultWidget); | ||
314 | 334 | | |||
315 | // stack should use most space | 335 | // stack should use most space | ||
316 | layout->setColumnStretch(1, 1); | 336 | layout->setColumnStretch(1, 1); | ||
317 | layout->setRowStretch(2, 1); | 337 | layout->setRowStretch(2, 1); | ||
▲ Show 20 Lines • Show All 117 Lines • ▼ Show 20 Line(s) | 443 | { | |||
435 | d->defaultWidget = widget; | 455 | d->defaultWidget = widget; | ||
436 | d->stack->addWidget(d->defaultWidget); | 456 | d->stack->addWidget(d->defaultWidget); | ||
437 | 457 | | |||
438 | if (isCurrent) { | 458 | if (isCurrent) { | ||
439 | d->stack->setCurrentWidget(d->defaultWidget); | 459 | d->stack->setCurrentWidget(d->defaultWidget); | ||
440 | } | 460 | } | ||
441 | } | 461 | } | ||
442 | 462 | | |||
463 | void KPageView::setPageHeader(QWidget *header) | ||||
464 | { | ||||
465 | Q_D(KPageView); | ||||
466 | if (d->pageHeader == header) { | ||||
467 | return; | ||||
468 | } | ||||
469 | | ||||
470 | if (d->pageHeader) { | ||||
cfeck: This check is duplicated. | |||||
471 | d->layout->removeWidget(d->pageHeader); | ||||
472 | } | ||||
473 | d->layout->removeWidget(d->titleWidget); | ||||
474 | | ||||
475 | d->pageHeader = header; | ||||
476 | | ||||
477 | // Give it a colSpan of 2 to add a margin to the right | ||||
478 | if (d->pageHeader) { | ||||
479 | d->layout->addWidget(d->pageHeader, 1, 1, 1, 2); | ||||
480 | d->pageHeader->setVisible(showPageHeader()); | ||||
481 | } else { | ||||
482 | d->layout->addWidget(d->titleWidget, 1, 1, 1, 2); | ||||
483 | d->titleWidget->setVisible(showPageHeader()); | ||||
484 | } | ||||
485 | } | ||||
486 | | ||||
487 | QWidget *KPageView::pageHeader() const | ||||
488 | { | ||||
cfeck: Please remove this empty line. | |||||
489 | Q_D(const KPageView); | ||||
490 | return d->pageHeader; | ||||
491 | } | ||||
492 | | ||||
493 | void KPageView::setPageFooter(QWidget *footer) | ||||
494 | { | ||||
495 | Q_D(KPageView); | ||||
496 | if (d->pageFooter == footer) { | ||||
497 | return; | ||||
498 | } | ||||
499 | | ||||
500 | if (d->pageFooter) { | ||||
501 | d->layout->removeWidget(d->pageFooter); | ||||
502 | } | ||||
503 | | ||||
504 | d->pageFooter = footer; | ||||
505 | | ||||
506 | if (footer) { | ||||
507 | d->layout->addWidget(d->pageFooter, 3, 1); | ||||
508 | } | ||||
509 | } | ||||
510 | | ||||
511 | QWidget *KPageView::pageFooter() const | ||||
512 | { | ||||
513 | Q_D(const KPageView); | ||||
514 | return d->pageFooter; | ||||
515 | } | ||||
516 | | ||||
443 | QAbstractItemView *KPageView::createView() | 517 | QAbstractItemView *KPageView::createView() | ||
444 | { | 518 | { | ||
445 | Q_D(KPageView); | 519 | Q_D(KPageView); | ||
446 | if (d->faceType == Auto) { | 520 | if (d->faceType == Auto) { | ||
447 | const FaceType faceType = d->detectAutoFace(); | 521 | const FaceType faceType = d->detectAutoFace(); | ||
448 | 522 | | |||
449 | if (faceType == Plain) { | 523 | if (faceType == Plain) { | ||
450 | return new KDEPrivate::KPagePlainView(this); | 524 | return new KDEPrivate::KPagePlainView(this); | ||
Show All 24 Lines | 546 | { | |||
475 | 549 | | |||
476 | if (faceType == Auto) { | 550 | if (faceType == Auto) { | ||
477 | faceType = d->detectAutoFace(); | 551 | faceType = d->detectAutoFace(); | ||
478 | } | 552 | } | ||
479 | 553 | | |||
480 | if (faceType == Tabbed) { | 554 | if (faceType == Tabbed) { | ||
481 | return false; | 555 | return false; | ||
482 | } else { | 556 | } else { | ||
483 | return !d->titleWidget->text().isEmpty(); | 557 | return d->pageHeader || !d->titleWidget->text().isEmpty(); | ||
484 | } | 558 | } | ||
485 | } | 559 | } | ||
486 | 560 | | |||
487 | Qt::Alignment KPageView::viewPosition() const | 561 | Qt::Alignment KPageView::viewPosition() const | ||
488 | { | 562 | { | ||
489 | Q_D(const KPageView); | 563 | Q_D(const KPageView); | ||
490 | FaceType faceType = d->faceType; | 564 | FaceType faceType = d->faceType; | ||
491 | 565 | | |||
Show All 12 Lines |
This check is duplicated.