File tree Expand file tree Collapse file tree 4 files changed +102
-0
lines changed Expand file tree Collapse file tree 4 files changed +102
-0
lines changed Original file line number Diff line number Diff line change @@ -41,26 +41,56 @@ make out a widget containing a widget to be displayed on the bar
41
41
:rtype: QgsMessageBarItem
42
42
%End
43
43
44
+ QString text() const;
45
+ %Docstring
46
+ Returns the text for the message.
47
+ :rtype: str
48
+ %End
49
+
44
50
QgsMessageBarItem *setTitle( const QString &title );
45
51
%Docstring
46
52
:rtype: QgsMessageBarItem
47
53
%End
48
54
55
+ QString title() const;
56
+ %Docstring
57
+ Returns the title for the message.
58
+ :rtype: str
59
+ %End
60
+
49
61
QgsMessageBarItem *setLevel( QgsMessageBar::MessageLevel level );
50
62
%Docstring
51
63
:rtype: QgsMessageBarItem
52
64
%End
53
65
66
+ QgsMessageBar::MessageLevel level() const;
67
+ %Docstring
68
+ Returns the message level for the message.
69
+ :rtype: QgsMessageBar.MessageLevel
70
+ %End
71
+
54
72
QgsMessageBarItem *setWidget( QWidget *widget );
55
73
%Docstring
56
74
:rtype: QgsMessageBarItem
57
75
%End
58
76
77
+ QWidget *widget() const;
78
+ %Docstring
79
+ Returns the widget for the message.
80
+ :rtype: QWidget
81
+ %End
82
+
59
83
QgsMessageBarItem *setIcon( const QIcon &icon );
60
84
%Docstring
61
85
:rtype: QgsMessageBarItem
62
86
%End
63
87
88
+ QIcon icon() const;
89
+ %Docstring
90
+ Returns the icon for the message.
91
+ :rtype: QIcon
92
+ %End
93
+
64
94
QgsMessageBarItem *setDuration( int duration );
65
95
%Docstring
66
96
:rtype: QgsMessageBarItem
Original file line number Diff line number Diff line change 18
18
#include " qgsmessagebar.h"
19
19
#include " qgsmessagebaritem.h"
20
20
#include " qgsapplication.h"
21
+ #include " qgsmessagelog.h"
21
22
22
23
#include < QWidget>
23
24
#include < QPalette>
@@ -268,6 +269,27 @@ void QgsMessageBar::pushItem( QgsMessageBarItem *item )
268
269
// avoid duplicated widget
269
270
popWidget ( item );
270
271
showItem ( item );
272
+
273
+ // Log all messages that are sent to the message bar into the message log so the
274
+ // user can get them back easier.
275
+ QString formattedTitle = QString ( " %1 : %2" ).arg ( item->title () ).arg ( item->text () );
276
+ QgsMessageLog::MessageLevel level;
277
+ switch ( item->level () )
278
+ {
279
+ case QgsMessageBar::INFO:
280
+ level = QgsMessageLog::INFO;
281
+ break ;
282
+ case QgsMessageBar::WARNING:
283
+ level = QgsMessageLog::WARNING;
284
+ break ;
285
+ case QgsMessageBar::CRITICAL:
286
+ level = QgsMessageLog::CRITICAL;
287
+ break ;
288
+ default :
289
+ level = QgsMessageLog::NONE;
290
+ break ;
291
+ }
292
+ QgsMessageLog::logMessage ( formattedTitle, tr ( " Messages" ), level );
271
293
}
272
294
273
295
QgsMessageBarItem *QgsMessageBar::pushWidget ( QWidget *widget, QgsMessageBar::MessageLevel level, int duration )
Original file line number Diff line number Diff line change @@ -196,13 +196,23 @@ QgsMessageBarItem *QgsMessageBarItem::setText( const QString &text )
196
196
return this ;
197
197
}
198
198
199
+ QString QgsMessageBarItem::text () const
200
+ {
201
+ return mText ;
202
+ }
203
+
199
204
QgsMessageBarItem *QgsMessageBarItem::setTitle ( const QString &title )
200
205
{
201
206
mTitle = title;
202
207
writeContent ();
203
208
return this ;
204
209
}
205
210
211
+ QString QgsMessageBarItem::title () const
212
+ {
213
+ return mTitle ;
214
+ }
215
+
206
216
QgsMessageBarItem *QgsMessageBarItem::setLevel ( QgsMessageBar::MessageLevel level )
207
217
{
208
218
mLevel = level;
@@ -211,6 +221,11 @@ QgsMessageBarItem *QgsMessageBarItem::setLevel( QgsMessageBar::MessageLevel leve
211
221
return this ;
212
222
}
213
223
224
+ QgsMessageBar::MessageLevel QgsMessageBarItem::level () const
225
+ {
226
+ return mLevel ;
227
+ }
228
+
214
229
QgsMessageBarItem *QgsMessageBarItem::setWidget ( QWidget *widget )
215
230
{
216
231
if ( mWidget )
@@ -227,12 +242,22 @@ QgsMessageBarItem *QgsMessageBarItem::setWidget( QWidget *widget )
227
242
return this ;
228
243
}
229
244
245
+ QWidget *QgsMessageBarItem::widget () const
246
+ {
247
+ return mWidget ;
248
+ }
249
+
230
250
QgsMessageBarItem *QgsMessageBarItem::setIcon ( const QIcon &icon )
231
251
{
232
252
mUserIcon = icon;
233
253
return this ;
234
254
}
235
255
256
+ QIcon QgsMessageBarItem::icon () const
257
+ {
258
+ return mUserIcon ;
259
+ }
260
+
236
261
237
262
QgsMessageBarItem *QgsMessageBarItem::setDuration ( int duration )
238
263
{
Original file line number Diff line number Diff line change @@ -48,14 +48,39 @@ class GUI_EXPORT QgsMessageBarItem : public QWidget
48
48
49
49
QgsMessageBarItem *setText ( const QString &text );
50
50
51
+ /* *
52
+ * Returns the text for the message.
53
+ */
54
+ QString text () const ;
55
+
51
56
QgsMessageBarItem *setTitle ( const QString &title );
52
57
58
+ /* *
59
+ * Returns the title for the message.
60
+ */
61
+ QString title () const ;
62
+
53
63
QgsMessageBarItem *setLevel ( QgsMessageBar::MessageLevel level );
54
64
65
+ /* *
66
+ * Returns the message level for the message.
67
+ */
68
+ QgsMessageBar::MessageLevel level () const ;
69
+
55
70
QgsMessageBarItem *setWidget ( QWidget *widget );
56
71
72
+ /* *
73
+ * Returns the widget for the message.
74
+ */
75
+ QWidget *widget () const ;
76
+
57
77
QgsMessageBarItem *setIcon ( const QIcon &icon );
58
78
79
+ /* *
80
+ * Returns the icon for the message.
81
+ */
82
+ QIcon icon () const ;
83
+
59
84
QgsMessageBarItem *setDuration ( int duration );
60
85
61
86
// ! returns the duration in second of the message
You can’t perform that action at this time.
0 commit comments