--- qsampler/trunk/src/qsamplerMessages.cpp 2004/06/07 21:41:43 115 +++ qsampler/trunk/src/qsamplerMessages.cpp 2005/09/13 14:00:22 772 @@ -1,7 +1,7 @@ // qsamplerMessages.cpp // /**************************************************************************** - Copyright (C) 2003-2004, rncbc aka Rui Nuno Capela. All rights reserved. + Copyright (C) 2003-2005, rncbc aka Rui Nuno Capela. All rights reserved. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License @@ -51,9 +51,6 @@ qsamplerMessages::qsamplerMessages ( QWidget *pParent, const char *pszName ) : QDockWindow(pParent, pszName) { - // Initialize default message limit. - m_iMessagesLimit = QSAMPLER_MESSAGES_MAXLINES; - // Intialize stdout capture stuff. m_pStdoutNotifier = NULL; m_fdStdout[QSAMPLER_MESSAGES_FDREAD] = QSAMPLER_MESSAGES_FDNIL; @@ -71,12 +68,19 @@ m_pTextView->setWordWrap(QTextEdit::NoWrap); m_pTextView->setReadOnly(true); m_pTextView->setUndoRedoEnabled(false); +#if QT_VERSION >= 0x030200 + m_pTextView->setTextFormat(Qt::LogText); +#endif + // Initialize default message limit. + setMessagesLimit(QSAMPLER_MESSAGES_MAXLINES); // Prepare the dockable window stuff. QDockWindow::setWidget(m_pTextView); QDockWindow::setOrientation(Qt::Horizontal); QDockWindow::setCloseMode(QDockWindow::Always); QDockWindow::setResizeEnabled(true); + // Some specialties to this kind of dock window... + QDockWindow::setFixedExtentHeight(120); // Finally set the default caption and tooltip. QString sCaption = tr("Messages"); @@ -194,6 +198,10 @@ void qsamplerMessages::setMessagesLimit ( int iMessagesLimit ) { m_iMessagesLimit = iMessagesLimit; + m_iMessagesHigh = iMessagesLimit + (iMessagesLimit / 3); +#if QT_VERSION >= 0x030200 + m_pTextView->setMaxLogLines(iMessagesLimit); +#endif } @@ -210,10 +218,11 @@ void qsamplerMessages::appendMessagesText ( const QString& s ) { +#if QT_VERSION < 0x030200 // Check for message line limit... if (m_iMessagesLimit > 0) { int iParagraphs = m_pTextView->paragraphs(); - if (iParagraphs > m_iMessagesLimit) { + if (iParagraphs > m_iMessagesHigh) { m_pTextView->setUpdatesEnabled(false); while (iParagraphs > m_iMessagesLimit) { m_pTextView->removeParagraph(0); @@ -223,6 +232,7 @@ m_pTextView->setUpdatesEnabled(true); } } +#endif m_pTextView->append(s); }