|
38 | 38 | from spyder.utils import codeanalysis, encoding, programs, sourcecode
|
39 | 39 | from spyder.utils import icon_manager as ima
|
40 | 40 | from spyder.utils.introspection.manager import IntrospectionManager
|
41 |
| -from spyder.utils.qthelpers import add_actions, create_action |
| 41 | +from spyder.utils.qthelpers import create_action, add_actions |
42 | 42 | from spyder.widgets.findreplace import FindReplace
|
43 | 43 | from spyder.widgets.editor import (EditorMainWindow, EditorSplitter,
|
44 | 44 | EditorStack, Printer)
|
@@ -633,6 +633,12 @@ def get_plugin_actions(self):
|
633 | 633 | self.register_shortcut(self.new_action, context="Editor",
|
634 | 634 | name="New file", add_sc_to_tip=True)
|
635 | 635 |
|
| 636 | + self.open_last_closed_action = create_action(self, _("O&pen last closed"), |
| 637 | + tip=_("Open last closed"), |
| 638 | + triggered=self.open_last_closed) |
| 639 | + self.register_shortcut(self.open_last_closed_action, context="Editor", |
| 640 | + name="Open last closed") |
| 641 | + |
636 | 642 | self.open_action = create_action(self, _("&Open..."),
|
637 | 643 | icon=ima.icon('fileopen'), tip=_("Open file"),
|
638 | 644 | triggered=self.load,
|
@@ -984,6 +990,7 @@ def get_plugin_actions(self):
|
984 | 990 | file_menu_actions = [self.new_action,
|
985 | 991 | None,
|
986 | 992 | self.open_action,
|
| 993 | + self.open_last_closed_action, |
987 | 994 | self.recent_file_menu,
|
988 | 995 | None,
|
989 | 996 | None,
|
@@ -1614,7 +1621,7 @@ def __add_recent_file(self, fname):
|
1614 | 1621 | self.recent_files.insert(0, fname)
|
1615 | 1622 | if len(self.recent_files) > self.get_option('max_recent_files'):
|
1616 | 1623 | self.recent_files.pop(-1)
|
1617 |
| - |
| 1624 | + |
1618 | 1625 | def _clone_file_everywhere(self, finfo):
|
1619 | 1626 | """Clone file (*src_editor* widget) in all editorstacks
|
1620 | 1627 | Cloning from the first editorstack in which every single new editor
|
@@ -1948,7 +1955,17 @@ def replace(self):
|
1948 | 1955 | """Replace slot"""
|
1949 | 1956 | editorstack = self.get_current_editorstack()
|
1950 | 1957 | editorstack.find_widget.show_replace()
|
1951 |
| - |
| 1958 | + |
| 1959 | + def open_last_closed(self): |
| 1960 | + """ Reopens the last closed tab.""" |
| 1961 | + editorstack = self.get_current_editorstack() |
| 1962 | + last_closed_files = editorstack.get_last_closed_files() |
| 1963 | + if (len(last_closed_files) > 0): |
| 1964 | + file_to_open = last_closed_files[0] |
| 1965 | + last_closed_files.remove(file_to_open) |
| 1966 | + editorstack.set_last_closed_files(last_closed_files) |
| 1967 | + self.load(file_to_open) |
| 1968 | + |
1952 | 1969 | #------ Explorer widget
|
1953 | 1970 | def close_file_from_name(self, filename):
|
1954 | 1971 | """Close file from its name"""
|
|
0 commit comments