Skip to content

Commit 022ca43

Browse files
committed
[pyqgis-console] fix for save as in tabbar context menu
1 parent 2a9e0ae commit 022ca43

File tree

2 files changed

+13
-6
lines changed

2 files changed

+13
-6
lines changed

python/console/console.py

+3-1
Original file line numberDiff line numberDiff line change
@@ -640,8 +640,10 @@ def saveScriptFile(self):
640640
.arg(unicode(tabWidget.path)).arg(error.strerror)
641641
self.callWidgetMessageBarEditor(msgText, 2, False)
642642

643-
def saveAsScriptFile(self):
643+
def saveAsScriptFile(self, index=None):
644644
tabWidget = self.tabEditorWidget.currentWidget()
645+
if index:
646+
tabWidget = self.tabEditorWidget.widget(index)
645647
index = self.tabEditorWidget.currentIndex()
646648
if tabWidget is None:
647649
return

python/console/console_editor.py

+10-5
Original file line numberDiff line numberDiff line change
@@ -742,10 +742,10 @@ def loadFile(self, filename, modified):
742742
self.newEditor.recolor()
743743

744744
def save(self, fileName=None):
745+
index = self.tw.indexOf(self)
745746
if fileName:
746747
self.path = fileName
747748
if self.path is None:
748-
index = self.tw.currentIndex()
749749
saveTr = QCoreApplication.translate('PythonConsole',
750750
'Python Console: Save file')
751751
self.path = str(QFileDialog().getSaveFileName(self,
@@ -756,6 +756,7 @@ def save(self, fileName=None):
756756
if len(self.path) == 0:
757757
self.path = None
758758
return
759+
self.tw.setCurrentWidget(self)
759760
msgText = QCoreApplication.translate('PythonConsole',
760761
'Script was correctly saved.')
761762
self.pc.callWidgetMessageBarEditor(msgText, 0, True)
@@ -782,8 +783,8 @@ def save(self, fileName=None):
782783
if self.newEditor.isReadOnly():
783784
self.newEditor.setReadOnly(False)
784785
fN = path.split('/')[-1]
785-
self.tw.setTabTitle(self.tw.currentIndex(), fN)
786-
self.tw.setTabToolTip(self.tw.currentIndex(), path)
786+
self.tw.setTabTitle(index, fN)
787+
self.tw.setTabToolTip(index, path)
787788
self.newEditor.setModified(False)
788789
self.pc.saveFileButton.setEnabled(False)
789790
self.newEditor.lastModified = QFileInfo(path).lastModified()
@@ -931,7 +932,7 @@ def contextMenuEvent(self, e):
931932
saveAction = menu.addAction("Save",
932933
cW.save)
933934
saveAsAction = menu.addAction("Save As",
934-
self.parent.saveAsScriptFile)
935+
self.saveAs)
935936
closeTabAction.setEnabled(False)
936937
closeAllTabAction.setEnabled(False)
937938
closeOthersTabAction.setEnabled(False)
@@ -957,7 +958,11 @@ def closeAll(self):
957958
self._removeTab(i)
958959
self.newTabEditor(tabName='Untitled-0')
959960
self._removeTab(0)
960-
961+
962+
def saveAs(self):
963+
idx = self.idx
964+
self.parent.saveAsScriptFile(idx)
965+
961966
def enableSaveIfModified(self, tab):
962967
tabWidget = self.widget(tab)
963968
if tabWidget:

0 commit comments

Comments
 (0)