Skip to content

Commit be0185a

Browse files
committed
Merge pull request #2310 from slarosa/ml_icon
[log message] changing the message log icon in order to warning the user when a log message has been received
2 parents e186331 + 0c58f9c commit be0185a

File tree

7 files changed

+118
-2
lines changed

7 files changed

+118
-2
lines changed

images/images.qrc

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -394,6 +394,8 @@
394394
<file>themes/default/mIconZip.png</file>
395395
<file>themes/default/mIconZoom.svg</file>
396396
<file>themes/default/mMapserverExport.png</file>
397+
<file>themes/default/mMessageLog.svg</file>
398+
<file>themes/default/mMessageLogRead.svg</file>
397399
<file>themes/default/north_arrow.png</file>
398400
<file>themes/default/pie-chart.png</file>
399401
<file>themes/default/plugin.png</file>
@@ -504,7 +506,6 @@
504506
<file>themes/default/cadtools/parallel.png</file>
505507
<file>themes/default/cadtools/perpendicular.png</file>
506508
<file>themes/default/mIconSuccess.png</file>
507-
<file>themes/default/bubble.svg</file>
508509
<file>themes/default/mIconClear.png</file>
509510
<file>flags/zh.png</file>
510511
<file>themes/default/mIconPaintEffects.svg</file>
Lines changed: 92 additions & 0 deletions
Loading
File renamed without changes.

src/app/qgisapp.cpp

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -705,6 +705,8 @@ QgisApp::QgisApp( QSplashScreen *splash, bool restorePlugins, QWidget * parent,
705705
mLogDock->hide();
706706
connect( mMessageButton, SIGNAL( toggled( bool ) ), mLogDock, SLOT( setVisible( bool ) ) );
707707
connect( mLogDock, SIGNAL( visibilityChanged( bool ) ), mMessageButton, SLOT( setChecked( bool ) ) );
708+
connect( QgsMessageLog::instance(), SIGNAL( messageReceived( bool ) ), this, SLOT( toggleLogMessageIcon( bool ) ) );
709+
connect( mMessageButton, SIGNAL( toggled( bool ) ), this, SLOT( toggleLogMessageIcon( bool ) ) );
708710
mVectorLayerTools = new QgsGuiVectorLayerTools();
709711

710712
// Init the editor widget types
@@ -2009,7 +2011,7 @@ void QgisApp::createStatusBar()
20092011

20102012
mMessageButton = new QToolButton( statusBar() );
20112013
mMessageButton->setAutoRaise( true );
2012-
mMessageButton->setIcon( QgsApplication::getThemeIcon( "bubble.svg" ) );
2014+
mMessageButton->setIcon( QgsApplication::getThemeIcon( "/mMessageLogRead.svg" ) );
20132015
mMessageButton->setToolTip( tr( "Messages" ) );
20142016
mMessageButton->setWhatsThis( tr( "Messages" ) );
20152017
mMessageButton->setToolButtonStyle( Qt::ToolButtonTextBesideIcon );
@@ -2539,6 +2541,18 @@ QgsMessageBar* QgisApp::messageBar()
25392541
return mInfoBar;
25402542
}
25412543

2544+
void QgisApp::toggleLogMessageIcon( bool hasLogMessage )
2545+
{
2546+
if ( hasLogMessage && !mLogDock->isVisible() )
2547+
{
2548+
mMessageButton->setIcon( QgsApplication::getThemeIcon( "/mMessageLog.svg" ) );
2549+
}
2550+
else
2551+
{
2552+
mMessageButton->setIcon( QgsApplication::getThemeIcon( "/mMessageLogRead.svg" ) );
2553+
}
2554+
}
2555+
25422556
void QgisApp::addUserInputWidget( QWidget *widget )
25432557
{
25442558
mUserInputDockWidget->addUserInputWidget( widget );

src/app/qgisapp.h

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1041,6 +1041,9 @@ class APP_EXPORT QgisApp : public QMainWindow, private Ui::MainWindow
10411041
//! map layers changed
10421042
void showMapCanvas();
10431043

1044+
//! change log message icon in statusbar
1045+
void toggleLogMessageIcon( bool hasLogMessage );
1046+
10441047
/** Called when some layer's editing mode was toggled on/off */
10451048
void layerEditStateChanged();
10461049

src/core/qgsmessagelog.cpp

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,10 @@ void QgsMessageLog::logMessage( QString message, QString tag, QgsMessageLog::Mes
5050
void QgsMessageLog::emitMessage( QString message, QString tag, QgsMessageLog::MessageLevel level )
5151
{
5252
emit messageReceived( message, tag, level );
53+
if ( level != QgsMessageLog::INFO )
54+
{
55+
emit messageReceived( true );
56+
}
5357
}
5458

5559
QgsMessageLogConsole::QgsMessageLogConsole()

src/core/qgsmessagelog.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,8 @@ class CORE_EXPORT QgsMessageLog : public QObject
4848
signals:
4949
void messageReceived( QString message, QString tag, QgsMessageLog::MessageLevel level );
5050

51+
void messageReceived( bool received );
52+
5153
private:
5254
QgsMessageLog();
5355

0 commit comments

Comments
 (0)