Files
qt-creator/src/plugins/coreplugin/messageoutputwindow.cpp
Eike Ziller b0043ed1ac OutputPane: Use setter for priority and fix default visibility
Do not show the buttons of output views with priority < 0 (instead of
only == -1). Reduce the number of buttons that are shown by default to
the essential ones.

Change-Id: I5b44f18537b3033ce9d616f044a8b54b76988783
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
2023-09-18 10:14:51 +00:00

110 lines
2.4 KiB
C++

// Copyright (C) 2016 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
#include "messageoutputwindow.h"
#include "coreconstants.h"
#include "coreplugintr.h"
#include "icontext.h"
#include "outputwindow.h"
#include <utils/utilsicons.h>
#include <QFont>
#include <QToolButton>
namespace Core {
namespace Internal {
const char zoomSettingsKey[] = "Core/MessageOutput/Zoom";
MessageOutputWindow::MessageOutputWindow()
{
setId("GeneralMessages");
setDisplayName(Tr::tr("General Messages"));
setPriorityInStatusBar(-100);
m_widget = new OutputWindow(Context(Constants::C_GENERAL_OUTPUT_PANE), zoomSettingsKey);
m_widget->setReadOnly(true);
connect(this, &IOutputPane::zoomInRequested, m_widget, &Core::OutputWindow::zoomIn);
connect(this, &IOutputPane::zoomOutRequested, m_widget, &Core::OutputWindow::zoomOut);
connect(this, &IOutputPane::resetZoomRequested, m_widget, &Core::OutputWindow::resetZoom);
connect(this, &IOutputPane::fontChanged, m_widget, &OutputWindow::setBaseFont);
connect(this, &IOutputPane::wheelZoomEnabledChanged, m_widget, &OutputWindow::setWheelZoomEnabled);
setupFilterUi("MessageOutputPane.Filter");
setFilteringEnabled(true);
setupContext(Constants::C_GENERAL_OUTPUT_PANE, m_widget);
}
MessageOutputWindow::~MessageOutputWindow()
{
delete m_widget;
}
bool MessageOutputWindow::hasFocus() const
{
return m_widget->window()->focusWidget() == m_widget;
}
bool MessageOutputWindow::canFocus() const
{
return true;
}
void MessageOutputWindow::setFocus()
{
m_widget->setFocus();
}
void MessageOutputWindow::clearContents()
{
m_widget->clear();
}
QWidget *MessageOutputWindow::outputWidget(QWidget *parent)
{
m_widget->setParent(parent);
return m_widget;
}
void MessageOutputWindow::append(const QString &text)
{
m_widget->appendMessage(text, Utils::GeneralMessageFormat);
}
bool MessageOutputWindow::canNext() const
{
return false;
}
bool MessageOutputWindow::canPrevious() const
{
return false;
}
void MessageOutputWindow::goToNext()
{
}
void MessageOutputWindow::goToPrev()
{
}
bool MessageOutputWindow::canNavigate() const
{
return false;
}
void MessageOutputWindow::updateFilter()
{
m_widget->updateFilterProperties(filterText(), filterCaseSensitivity(), filterUsesRegexp(),
filterIsInverted());
}
} // namespace Internal
} // namespace Core