mirror of
https://github.com/qgis/QGIS.git
synced 2025-02-25 00:58:06 -05:00
Add QgsMessageBar for pyqgis console
This commit is contained in:
parent
0357f0fd24
commit
6768327edb
@ -340,6 +340,7 @@ class PythonConsoleWidget(QWidget):
|
||||
sF.write('\n')
|
||||
sF.write(s)
|
||||
sF.close()
|
||||
self.callWidgetMessageBar('Script was correctly saved.')
|
||||
|
||||
def openHelp(self):
|
||||
self.helpDlg.show()
|
||||
@ -351,6 +352,9 @@ class PythonConsoleWidget(QWidget):
|
||||
def prefChanged(self):
|
||||
self.edit.refreshLexerProperties()
|
||||
self.textEditOut.refreshLexerProperties()
|
||||
|
||||
def callWidgetMessageBar(self, text):
|
||||
self.textEditOut.widgetMessageBar(iface, text)
|
||||
|
||||
if __name__ == '__main__':
|
||||
a = QApplication(sys.argv)
|
||||
|
@ -25,6 +25,7 @@ from PyQt4.Qsci import (QsciScintilla,
|
||||
QsciScintillaBase,
|
||||
QsciLexerPython)
|
||||
from qgis.core import QgsApplication
|
||||
from qgis.gui import QgsMessageBar
|
||||
import sys
|
||||
|
||||
class writeOut:
|
||||
@ -72,6 +73,17 @@ class EditorOutput(QsciScintilla):
|
||||
self.parent = parent
|
||||
self.edit = self.parent.edit
|
||||
|
||||
# Creates layout for message bar
|
||||
self.layout = QGridLayout(self)
|
||||
self.layout.setContentsMargins(0, 0, 0, 0)
|
||||
spacerItem = QSpacerItem(20, 40, QSizePolicy.Minimum, QSizePolicy.Expanding)
|
||||
self.layout.addItem(spacerItem, 1, 0, 1, 1)
|
||||
# messageBar instance
|
||||
self.infoBar = QgsMessageBar()
|
||||
sizePolicy = QSizePolicy(QSizePolicy.Minimum, QSizePolicy.Fixed)
|
||||
self.infoBar.setSizePolicy(sizePolicy)
|
||||
self.layout.addWidget(self.infoBar, 0, 0, 1, 1)
|
||||
|
||||
# Enable non-ascii chars for editor
|
||||
self.setUtf8(True)
|
||||
|
||||
@ -265,7 +277,10 @@ class EditorOutput(QsciScintilla):
|
||||
link = i.replace('<a href="',"").strip()
|
||||
if link:
|
||||
QApplication.clipboard().setText(link)
|
||||
print "## URL copied to clipboard ##"
|
||||
self.parent.callWidgetMessageBar('URL copied to clipboard')
|
||||
except urllib2.URLError, e:
|
||||
print "## Connection error ##"
|
||||
print "## " + str(e.args) + " ##"
|
||||
self.parent.callWidgetMessageBar('Connection error: ' + str(e.args))
|
||||
|
||||
def widgetMessageBar(self, iface, text):
|
||||
timeout = iface.messageTimeout()
|
||||
self.infoBar.pushMessage(text, QgsMessageBar.INFO, timeout)
|
||||
|
@ -40,6 +40,8 @@ class PythonEdit(QsciScintilla, code.InteractiveInterpreter):
|
||||
super(PythonEdit,self).__init__(parent)
|
||||
code.InteractiveInterpreter.__init__(self, locals=None)
|
||||
|
||||
self.parent = parent
|
||||
|
||||
# Enable non-ascii chars for editor
|
||||
self.setUtf8(True)
|
||||
|
||||
@ -500,17 +502,14 @@ class PythonEdit(QsciScintilla, code.InteractiveInterpreter):
|
||||
if cmd in ('_save', '_clear', '_clearAll', '_pyqgis', '_api'):
|
||||
if cmd == '_save':
|
||||
self.writeHistoryFile()
|
||||
print QCoreApplication.translate("PythonConsole",
|
||||
"## History saved successfully ##")
|
||||
self.parent.callWidgetMessageBar('History saved successfully')
|
||||
elif cmd == '_clear':
|
||||
self.clearHistoryFile()
|
||||
print QCoreApplication.translate("PythonConsole",
|
||||
"## History cleared successfully ##")
|
||||
self.parent.callWidgetMessageBar('History cleared successfully')
|
||||
elif cmd == '_clearAll':
|
||||
self.history = QStringList()
|
||||
self.clearHistoryFile()
|
||||
print QCoreApplication.translate("PythonConsole",
|
||||
"## Session and file history cleared successfully ##")
|
||||
self.parent.callWidgetMessageBar('Session and file history cleared successfully')
|
||||
elif cmd == '_pyqgis':
|
||||
webbrowser.open( "http://www.qgis.org/pyqgis-cookbook/" )
|
||||
elif cmd == '_api':
|
||||
|
Loading…
x
Reference in New Issue
Block a user