mirror of
https://invent.kde.org/system/dolphin
synced 2024-10-05 16:19:10 +00:00
terminalpanel: Improve Konsole missing message
It now forces the pane to fit its height, and will animate on every appearance.
This commit is contained in:
parent
99541a77fa
commit
38342ae820
|
@ -77,7 +77,10 @@ void TerminalPanel::dockVisibilityChanged()
|
|||
{
|
||||
// Only react when the DockWidget itself (not some parent) is hidden. This way we don't
|
||||
// respond when e.g. Dolphin is minimized.
|
||||
if (isHiddenInVisibleWindow() && m_terminal && !hasProgramRunning()) {
|
||||
if (isHiddenInVisibleWindow()) {
|
||||
if (m_konsolePartMissingMessage) {
|
||||
m_konsolePartMissingMessage->hide();
|
||||
} else if (m_terminal && !hasProgramRunning()) {
|
||||
// Make sure that the following "cd /" command will not affect the view.
|
||||
disconnect(m_konsolePart, SIGNAL(currentDirectoryChanged(QString)), this, SLOT(slotKonsolePartCurrentDirectoryChanged(QString)));
|
||||
|
||||
|
@ -91,6 +94,7 @@ void TerminalPanel::dockVisibilityChanged()
|
|||
m_konsolePartCurrentDirectory = '/';
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
QString TerminalPanel::runningProgramName() const
|
||||
{
|
||||
|
@ -168,7 +172,8 @@ void TerminalPanel::showEvent(QShowEvent *event)
|
|||
});
|
||||
}
|
||||
|
||||
} else if (!m_konsolePartMissingMessage) {
|
||||
} else {
|
||||
if (!m_konsolePartMissingMessage) {
|
||||
const auto konsoleInstallUrl = QUrl("appstream://org.kde.konsole.desktop");
|
||||
const auto konsoleNotInstalledText = i18n(
|
||||
"Terminal cannot be shown because Konsole is not installed. "
|
||||
|
@ -184,9 +189,9 @@ void TerminalPanel::showEvent(QShowEvent *event)
|
|||
m_konsolePartMissingMessage->addAction(installKonsoleAction);
|
||||
}
|
||||
m_layout->addWidget(m_konsolePartMissingMessage);
|
||||
m_layout->addStretch();
|
||||
QTimer::singleShot(0, m_konsolePartMissingMessage, &KMessageWidget::animatedShow);
|
||||
} else {
|
||||
m_layout->setSizeConstraint(QLayout::SetMaximumSize);
|
||||
}
|
||||
|
||||
m_konsolePartMissingMessage->animatedShow();
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue