Skip to content

Commit

Permalink
Merge pull request #451 from dalthviz/set_completion_widget
Browse files Browse the repository at this point in the history
PR: Add option to set completion option while running
  • Loading branch information
ccordoba12 committed Nov 21, 2020
2 parents 202be75 + 277321d commit 5bef54a
Show file tree
Hide file tree
Showing 2 changed files with 53 additions and 0 deletions.
12 changes: 12 additions & 0 deletions qtconsole/console_widget.py
Original file line number Diff line number Diff line change
Expand Up @@ -777,6 +777,18 @@ def _set_font(self, font):

font = property(_get_font, _set_font)

def _set_completion_widget(self, gui_completion):
""" Set gui completion widget.
"""
if gui_completion == 'ncurses':
self._completion_widget = CompletionHtml(self)
elif gui_completion == 'droplist':
self._completion_widget = CompletionWidget(self)
elif gui_completion == 'plain':
self._completion_widget = CompletionPlain(self)

self.gui_completion = gui_completion

def open_anchor(self, anchor):
""" Open selected anchor in the default webbrowser
"""
Expand Down
41 changes: 41 additions & 0 deletions qtconsole/mainwindow.py
Original file line number Diff line number Diff line change
Expand Up @@ -563,6 +563,44 @@ def init_view_menu(self):
triggered=self.clear_active_frontend)
self.add_menu_action(self.view_menu, self.clear_action)

self.completion_menu = self.view_menu.addMenu("&Completion type")

completion_group = QtWidgets.QActionGroup(self)
active_frontend_completion = self.active_frontend.gui_completion
ncurses_completion_action = QtWidgets.QAction(
"&ncurses",
self,
triggered=lambda: self.set_completion_widget_active_frontend(
'ncurses'))
ncurses_completion_action.setCheckable(True)
ncurses_completion_action.setChecked(
active_frontend_completion == 'ncurses')
droplist_completion_action = QtWidgets.QAction(
"&droplist",
self,
triggered=lambda: self.set_completion_widget_active_frontend(
'droplist'))
droplist_completion_action.setCheckable(True)
droplist_completion_action.setChecked(
active_frontend_completion == 'droplist')
plain_commpletion_action = QtWidgets.QAction(
"&plain",
self,
triggered=lambda: self.set_completion_widget_active_frontend(
'plain'))
plain_commpletion_action.setCheckable(True)
plain_commpletion_action.setChecked(
active_frontend_completion == 'plain')

completion_group.addAction(ncurses_completion_action)
completion_group.addAction(droplist_completion_action)
completion_group.addAction(plain_commpletion_action)

self.completion_menu.addAction(ncurses_completion_action)
self.completion_menu.addAction(droplist_completion_action)
self.completion_menu.addAction(plain_commpletion_action)
self.completion_menu.setDefaultAction(ncurses_completion_action)

self.pager_menu = self.view_menu.addMenu("&Pager")

hsplit_action = QtWidgets.QAction(".. &Horizontal Split",
Expand Down Expand Up @@ -749,6 +787,9 @@ def toggleFullScreen(self):
def set_paging_active_frontend(self, paging):
self.active_frontend._set_paging(paging)

def set_completion_widget_active_frontend(self, gui_completion):
self.active_frontend._set_completion_widget(gui_completion)

def get_available_syntax_styles(self):
"""Get a list with the syntax styles available."""
styles = list(get_all_styles())
Expand Down

0 comments on commit 5bef54a

Please sign in to comment.