[pyqgis-console] fix for save as in tabbar context menu

This commit is contained in:
Salvatore Larosa 2013-05-22 16:03:58 +02:00
parent 2a9e0aee91
commit 022ca43995
2 changed files with 13 additions and 6 deletions

View File

@ -640,8 +640,10 @@ class PythonConsoleWidget(QWidget):
.arg(unicode(tabWidget.path)).arg(error.strerror)
self.callWidgetMessageBarEditor(msgText, 2, False)
def saveAsScriptFile(self):
def saveAsScriptFile(self, index=None):
tabWidget = self.tabEditorWidget.currentWidget()
if index:
tabWidget = self.tabEditorWidget.widget(index)
index = self.tabEditorWidget.currentIndex()
if tabWidget is None:
return

View File

@ -742,10 +742,10 @@ class EditorTab(QWidget):
self.newEditor.recolor()
def save(self, fileName=None):
index = self.tw.indexOf(self)
if fileName:
self.path = fileName
if self.path is None:
index = self.tw.currentIndex()
saveTr = QCoreApplication.translate('PythonConsole',
'Python Console: Save file')
self.path = str(QFileDialog().getSaveFileName(self,
@ -756,6 +756,7 @@ class EditorTab(QWidget):
if len(self.path) == 0:
self.path = None
return
self.tw.setCurrentWidget(self)
msgText = QCoreApplication.translate('PythonConsole',
'Script was correctly saved.')
self.pc.callWidgetMessageBarEditor(msgText, 0, True)
@ -782,8 +783,8 @@ class EditorTab(QWidget):
if self.newEditor.isReadOnly():
self.newEditor.setReadOnly(False)
fN = path.split('/')[-1]
self.tw.setTabTitle(self.tw.currentIndex(), fN)
self.tw.setTabToolTip(self.tw.currentIndex(), path)
self.tw.setTabTitle(index, fN)
self.tw.setTabToolTip(index, path)
self.newEditor.setModified(False)
self.pc.saveFileButton.setEnabled(False)
self.newEditor.lastModified = QFileInfo(path).lastModified()
@ -931,7 +932,7 @@ class EditorTabWidget(QTabWidget):
saveAction = menu.addAction("Save",
cW.save)
saveAsAction = menu.addAction("Save As",
self.parent.saveAsScriptFile)
self.saveAs)
closeTabAction.setEnabled(False)
closeAllTabAction.setEnabled(False)
closeOthersTabAction.setEnabled(False)
@ -957,7 +958,11 @@ class EditorTabWidget(QTabWidget):
self._removeTab(i)
self.newTabEditor(tabName='Untitled-0')
self._removeTab(0)
def saveAs(self):
idx = self.idx
self.parent.saveAsScriptFile(idx)
def enableSaveIfModified(self, tab):
tabWidget = self.widget(tab)
if tabWidget: