MCPcopy Create free account
hub / github.com/KDE/kdevelop / postMessage

Method postMessage

kdevplatform/sublime/mainwindow_p.cpp:633–663  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

631}
632
633void MainWindowPrivate::postMessage(Message* message)
634{
635 if (!message) {
636 return;
637 }
638
639 message->setParent(this);
640
641 // if there are no actions, add a close action by default if widget does not auto-hide
642 if (message->actions().isEmpty() && message->autoHide() < 0) {
643 auto* closeAction = new QAction(QIcon::fromTheme(QStringLiteral("window-close")),
644 i18nc("@action", "Close"));
645 closeAction->setToolTip(i18nc("@info:tooltip", "Close message"));
646 message->addAction(closeAction);
647 }
648
649 // reparent actions, as we want full control over when they are deleted
650 QVector<QSharedPointer<QAction>> managedMessageActions;
651 const auto messageActions = message->actions();
652 managedMessageActions.reserve(messageActions.size());
653 for (QAction* action : messageActions) {
654 action->setParent(nullptr);
655 managedMessageActions.append(QSharedPointer<QAction>(action));
656 }
657 m_messageHash.insert(message, managedMessageActions);
658
659 // also catch if the user manually calls delete message
660 connect(message, &Message::closed, this, &MainWindowPrivate::messageDestroyed);
661
662 messageWidget->postMessage(message, managedMessageActions);
663}
664
665void MainWindowPrivate::messageDestroyed(Message* message)
666{

Callers

nothing calls this directly

Calls 10

autoHideMethod · 0.80
setToolTipMethod · 0.80
setParentMethod · 0.45
isEmptyMethod · 0.45
actionsMethod · 0.45
addActionMethod · 0.45
reserveMethod · 0.45
sizeMethod · 0.45
appendMethod · 0.45
insertMethod · 0.45

Tested by

no test coverage detected