Commit f4b19e0e authored by Daniel Teske's avatar Daniel Teske
Browse files

MessageManger::printToOutputPane: Add more control over the popup



Change-Id: I40254c0d152bf1d94c74e2602e5bfb642fe933e1
Reviewed-by: default avatarEike Ziller <eike.ziller@digia.com>
parent 2bb26280
......@@ -43,6 +43,7 @@ MessageManager::MessageManager()
: m_messageOutputWindow(0)
{
m_instance = this;
qRegisterMetaType<Core::MessageManager::PrintToOutputPaneFlags>();
}
MessageManager::~MessageManager()
......@@ -68,21 +69,33 @@ void MessageManager::showOutputPane()
}
void MessageManager::printToOutputPane(const QString &text, bool bringToForeground)
{
printToOutputPane(text, bringToForeground ? ModeSwitch
: Silent);
}
void MessageManager::printToOutputPane(const QString &text, PrintToOutputPaneFlags flags)
{
if (!m_messageOutputWindow)
return;
if (bringToForeground)
m_messageOutputWindow->popup(IOutputPane::ModeSwitch);
if (flags & Flash) {
m_messageOutputWindow->flash();
} else if (flags & Silent) {
// Do nothing
} else {
m_messageOutputWindow->popup(Core::IOutputPane::Flag(int(flags)));
}
m_messageOutputWindow->append(text + QLatin1Char('\n'));
}
void MessageManager::printToOutputPanePopup(const QString &text)
{
printToOutputPane(text, true);
printToOutputPane(text, ModeSwitch);
}
void MessageManager::printToOutputPane(const QString &text)
{
printToOutputPane(text, false);
printToOutputPane(text, Silent);
}
......@@ -31,6 +31,9 @@
#define MESSAGEMANAGER_H
#include "core_global.h"
#include "ioutputpane.h"
#include <QMetaType>
#include <QObject>
namespace Core {
......@@ -52,11 +55,21 @@ public:
static MessageManager *instance() { return m_instance; }
void showOutputPane();
enum PrintToOutputPaneFlag {
NoModeSwitch = Core::IOutputPane::NoModeSwitch,
ModeSwitch = Core::IOutputPane::ModeSwitch,
WithFocus = Core::IOutputPane::WithFocus,
EnsureSizeHint = Core::IOutputPane::EnsureSizeHint,
Silent = 256,
Flash = 512 };
Q_DECLARE_FLAGS(PrintToOutputPaneFlags, PrintToOutputPaneFlag)
public slots:
void printToOutputPane(const QString &text, bool bringToForeground);
void printToOutputPanePopup(const QString &text); // pops up
void printToOutputPane(const QString &text);
void printToOutputPane(const QString &text, Core::MessageManager::PrintToOutputPaneFlags flags);
private:
Internal::MessageOutputWindow *m_messageOutputWindow;
......@@ -66,4 +79,6 @@ private:
} // namespace Core
Q_DECLARE_METATYPE(Core::MessageManager::PrintToOutputPaneFlags)
#endif // MESSAGEMANAGER_H
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment