Changeset View
Changeset View
Standalone View
Standalone View
src/kmessagewidget.cpp
Show All 15 Lines | |||||
16 | * You should have received a copy of the GNU Lesser General Public | 16 | * You should have received a copy of the GNU Lesser General Public | ||
17 | * License along with this library; if not, write to the Free Software | 17 | * License along with this library; if not, write to the Free Software | ||
18 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA | 18 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA | ||
19 | * 02110-1301 USA | 19 | * 02110-1301 USA | ||
20 | */ | 20 | */ | ||
21 | #include "kmessagewidget.h" | 21 | #include "kmessagewidget.h" | ||
22 | 22 | | |||
23 | #include <QAction> | 23 | #include <QAction> | ||
24 | #include <QApplication> | ||||
24 | #include <QEvent> | 25 | #include <QEvent> | ||
25 | #include <QGridLayout> | 26 | #include <QGridLayout> | ||
26 | #include <QHBoxLayout> | 27 | #include <QHBoxLayout> | ||
27 | #include <QLabel> | 28 | #include <QLabel> | ||
28 | #include <QPainter> | 29 | #include <QPainter> | ||
29 | #include <QShowEvent> | 30 | #include <QShowEvent> | ||
30 | #include <QStyleOption> | 31 | #include <QStyleOption> | ||
31 | #include <QTimeLine> | 32 | #include <QTimeLine> | ||
▲ Show 20 Lines • Show All 61 Lines • ▼ Show 20 Line(s) | 69 | { | |||
93 | 94 | | |||
94 | QObject::connect(closeAction, &QAction::triggered, q, &KMessageWidget::animatedHide); | 95 | QObject::connect(closeAction, &QAction::triggered, q, &KMessageWidget::animatedHide); | ||
95 | 96 | | |||
96 | closeButton = new QToolButton(q); | 97 | closeButton = new QToolButton(q); | ||
97 | closeButton->setAutoRaise(true); | 98 | closeButton->setAutoRaise(true); | ||
98 | closeButton->setDefaultAction(closeAction); | 99 | closeButton->setDefaultAction(closeAction); | ||
99 | 100 | | |||
100 | q->setMessageType(KMessageWidget::Information); | 101 | q->setMessageType(KMessageWidget::Information); | ||
102 | | ||||
103 | q->connect(qApp, &QApplication::paletteChanged, q, [this] {KMessageWidgetPrivate::setPalette();}); | ||||
101 | } | 104 | } | ||
102 | 105 | | |||
103 | void KMessageWidgetPrivate::createLayout() | 106 | void KMessageWidgetPrivate::createLayout() | ||
104 | { | 107 | { | ||
105 | delete q->layout(); | 108 | delete q->layout(); | ||
106 | 109 | | |||
107 | qDeleteAll(buttons); | 110 | qDeleteAll(buttons); | ||
108 | buttons.clear(); | 111 | buttons.clear(); | ||
▲ Show 20 Lines • Show All 71 Lines • ▼ Show 20 Line(s) | 181 | case KMessageWidget::Warning: | |||
180 | break; | 183 | break; | ||
181 | case KMessageWidget::Error: | 184 | case KMessageWidget::Error: | ||
182 | bgBaseColor.setRgb(218, 68, 83); // Window: ForegroundNegative | 185 | bgBaseColor.setRgb(218, 68, 83); // Window: ForegroundNegative | ||
183 | break; | 186 | break; | ||
184 | } | 187 | } | ||
185 | QPalette palette = q->palette(); | 188 | QPalette palette = q->palette(); | ||
186 | palette.setColor(QPalette::Window, bgBaseColor); | 189 | palette.setColor(QPalette::Window, bgBaseColor); | ||
187 | q->setPalette(palette); | 190 | q->setPalette(palette); | ||
191 | q->style()->polish(q); | ||||
188 | } | 192 | } | ||
189 | 193 | | |||
190 | void KMessageWidgetPrivate::updateLayout() | 194 | void KMessageWidgetPrivate::updateLayout() | ||
191 | { | 195 | { | ||
192 | createLayout(); | 196 | createLayout(); | ||
193 | } | 197 | } | ||
194 | 198 | | |||
195 | void KMessageWidgetPrivate::slotTimeLineChanged(qreal value) | 199 | void KMessageWidgetPrivate::slotTimeLineChanged(qreal value) | ||
▲ Show 20 Lines • Show All 81 Lines • ▼ Show 20 Line(s) | 280 | { | |||
277 | ensurePolished(); | 281 | ensurePolished(); | ||
278 | return QFrame::minimumSizeHint(); | 282 | return QFrame::minimumSizeHint(); | ||
279 | } | 283 | } | ||
280 | 284 | | |||
281 | bool KMessageWidget::event(QEvent *event) | 285 | bool KMessageWidget::event(QEvent *event) | ||
282 | { | 286 | { | ||
283 | if (event->type() == QEvent::Polish && !layout()) { | 287 | if (event->type() == QEvent::Polish && !layout()) { | ||
284 | d->createLayout(); | 288 | d->createLayout(); | ||
285 | } else if (event->type() == QEvent::PaletteChange) { | | |||
286 | d->setPalette(); | | |||
287 | } else if (event->type() == QEvent::Show && !d->ignoreShowEventDoingAnimatedShow) { | 289 | } else if (event->type() == QEvent::Show && !d->ignoreShowEventDoingAnimatedShow) { | ||
288 | setFixedHeight(d->bestContentHeight()); | 290 | setFixedHeight(d->bestContentHeight()); | ||
289 | } | 291 | } | ||
290 | return QFrame::event(event); | 292 | return QFrame::event(event); | ||
291 | } | 293 | } | ||
292 | 294 | | |||
293 | void KMessageWidget::resizeEvent(QResizeEvent *event) | 295 | void KMessageWidget::resizeEvent(QResizeEvent *event) | ||
294 | { | 296 | { | ||
▲ Show 20 Lines • Show All 163 Lines • Show Last 20 Lines |