Skip to content

Commit a411e79

Browse files
committed
[pyqgis-console] add save button to history dialog, minor fixes for c38b8cb
1 parent 169f646 commit a411e79

File tree

2 files changed

+33
-15
lines changed

2 files changed

+33
-15
lines changed

python/console/console_history_dlg.ui

Lines changed: 22 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@
2929
<property name="horizontalSpacing">
3030
<number>6</number>
3131
</property>
32-
<item row="2" column="1">
32+
<item row="2" column="2">
3333
<widget class="QDialogButtonBox" name="buttonBox">
3434
<property name="orientation">
3535
<enum>Qt::Horizontal</enum>
@@ -39,14 +39,7 @@
3939
</property>
4040
</widget>
4141
</item>
42-
<item row="2" column="0">
43-
<widget class="QPushButton" name="reloadHistory">
44-
<property name="text">
45-
<string>Reload</string>
46-
</property>
47-
</widget>
48-
</item>
49-
<item row="0" column="0" colspan="2">
42+
<item row="0" column="0" colspan="3">
5043
<widget class="QListView" name="listView">
5144
<property name="frameShape">
5245
<enum>QFrame::NoFrame</enum>
@@ -60,6 +53,26 @@
6053
<property name="alternatingRowColors">
6154
<bool>true</bool>
6255
</property>
56+
<property name="selectionMode">
57+
<enum>QAbstractItemView::SingleSelection</enum>
58+
</property>
59+
</widget>
60+
</item>
61+
<item row="2" column="0">
62+
<widget class="QPushButton" name="reloadHistory">
63+
<property name="text">
64+
<string>Reload</string>
65+
</property>
66+
</widget>
67+
</item>
68+
<item row="2" column="1">
69+
<widget class="QPushButton" name="saveHistory">
70+
<property name="enabled">
71+
<bool>true</bool>
72+
</property>
73+
<property name="text">
74+
<string>Save</string>
75+
</property>
6376
</widget>
6477
</item>
6578
</layout>

python/console/console_sci.py

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -633,11 +633,15 @@ def __init__(self, parent):
633633
self.deleteScut.activated.connect(self._deleteItem)
634634
self.listView.doubleClicked.connect(self._runHistory)
635635
self.reloadHistory.clicked.connect(self._reloadHistory)
636+
self.saveHistory.clicked.connect(self._saveHistory)
636637

637638
def _runHistory(self, item):
638639
cmd = item.data(Qt.DisplayRole)
639640
self.parent.runCommand(unicode(cmd))
640641

642+
def _saveHistory(self):
643+
self.parent.writeHistoryFile(True)
644+
641645
def _reloadHistory(self):
642646
self.model.clear()
643647
for i in self.parent.history:
@@ -651,9 +655,10 @@ def _reloadHistory(self):
651655

652656
def _deleteItem(self):
653657
itemsSelected = self.listView.selectionModel().selectedIndexes()
654-
item = itemsSelected[0].row()
655-
## Remove item from the command history (just for the current session)
656-
self.parent.history.pop(item)
657-
self.parent.historyIndex -= 1
658-
## Remove row from the command history dialog
659-
self.model.removeRow(item)
658+
if itemsSelected:
659+
item = itemsSelected[0].row()
660+
## Remove item from the command history (just for the current session)
661+
self.parent.history.pop(item)
662+
self.parent.historyIndex -= 1
663+
## Remove row from the command history dialog
664+
self.model.removeRow(item)

0 commit comments

Comments
 (0)