##// END OF EJS Templates
Merge PR #1091 (qtconsole pager copy)...
MinRK -
r5648:7a144e2e merge
parent child Browse files
Show More
@@ -441,7 +441,7 b' class ConsoleWidget(LoggingConfigurable, QtGui.QWidget):'
441 def copy(self):
441 def copy(self):
442 """ Copy the currently selected text to the clipboard.
442 """ Copy the currently selected text to the clipboard.
443 """
443 """
444 self._control.copy()
444 self.layout().currentWidget().copy()
445
445
446 def cut(self):
446 def cut(self):
447 """ Copy the currently selected text to the clipboard and delete it
447 """ Copy the currently selected text to the clipboard and delete it
@@ -107,6 +107,7 b' class FrontendWidget(HistoryConsoleWidget, BaseFrontendMixin):'
107 exit_requested = QtCore.Signal(object)
107 exit_requested = QtCore.Signal(object)
108
108
109 # Protected class variables.
109 # Protected class variables.
110 _transform_prompt = staticmethod(transform_classic_prompt)
110 _CallTipRequest = namedtuple('_CallTipRequest', ['id', 'pos'])
111 _CallTipRequest = namedtuple('_CallTipRequest', ['id', 'pos'])
111 _CompletionRequest = namedtuple('_CompletionRequest', ['id', 'pos'])
112 _CompletionRequest = namedtuple('_CompletionRequest', ['id', 'pos'])
112 _ExecutionRequest = namedtuple('_ExecutionRequest', ['id', 'kind'])
113 _ExecutionRequest = namedtuple('_ExecutionRequest', ['id', 'kind'])
@@ -174,11 +175,16 b' class FrontendWidget(HistoryConsoleWidget, BaseFrontendMixin):'
174 def copy(self):
175 def copy(self):
175 """ Copy the currently selected text to the clipboard, removing prompts.
176 """ Copy the currently selected text to the clipboard, removing prompts.
176 """
177 """
178 if self._page_control.hasFocus():
179 self._page_control.copy()
180 elif self._control.hasFocus():
177 text = self._control.textCursor().selection().toPlainText()
181 text = self._control.textCursor().selection().toPlainText()
178 if text:
182 if text:
179 lines = map(transform_classic_prompt, text.splitlines())
183 lines = map(self._transform_prompt, text.splitlines())
180 text = '\n'.join(lines)
184 text = '\n'.join(lines)
181 QtGui.QApplication.clipboard().setText(text)
185 QtGui.QApplication.clipboard().setText(text)
186 else:
187 self.log.debug("frontend widget : unknown copy target")
182
188
183 #---------------------------------------------------------------------------
189 #---------------------------------------------------------------------------
184 # 'ConsoleWidget' abstract interface
190 # 'ConsoleWidget' abstract interface
@@ -365,7 +371,9 b' class FrontendWidget(HistoryConsoleWidget, BaseFrontendMixin):'
365
371
366 """
372 """
367
373
368 user_exp = msg['content']['user_expressions']
374 user_exp = msg['content'].get('user_expressions')
375 if not user_exp:
376 return
369 for expression in user_exp:
377 for expression in user_exp:
370 if expression in self._callback_dict:
378 if expression in self._callback_dict:
371 self._callback_dict.pop(expression)(user_exp[expression])
379 self._callback_dict.pop(expression)(user_exp[expression])
@@ -98,6 +98,7 b' class IPythonWidget(FrontendWidget):'
98
98
99 # FrontendWidget protected class variables.
99 # FrontendWidget protected class variables.
100 _input_splitter_class = IPythonInputSplitter
100 _input_splitter_class = IPythonInputSplitter
101 _transform_prompt = staticmethod(transform_ipy_prompt)
101
102
102 # IPythonWidget protected class variables.
103 # IPythonWidget protected class variables.
103 _PromptBlock = namedtuple('_PromptBlock', ['block', 'length', 'number'])
104 _PromptBlock = namedtuple('_PromptBlock', ['block', 'length', 'number'])
@@ -263,16 +264,6 b' class IPythonWidget(FrontendWidget):'
263 # 'ConsoleWidget' public interface
264 # 'ConsoleWidget' public interface
264 #---------------------------------------------------------------------------
265 #---------------------------------------------------------------------------
265
266
266 def copy(self):
267 """ Copy the currently selected text to the clipboard, removing prompts
268 if possible.
269 """
270 text = self._control.textCursor().selection().toPlainText()
271 if text:
272 lines = map(transform_ipy_prompt, text.splitlines())
273 text = '\n'.join(lines)
274 QtGui.QApplication.clipboard().setText(text)
275
276 #---------------------------------------------------------------------------
267 #---------------------------------------------------------------------------
277 # 'FrontendWidget' public interface
268 # 'FrontendWidget' public interface
278 #---------------------------------------------------------------------------
269 #---------------------------------------------------------------------------
@@ -795,7 +795,6 b' class MainWindow(QtGui.QMainWindow):'
795
795
796 def copy_active_frontend(self):
796 def copy_active_frontend(self):
797 widget = self.active_frontend
797 widget = self.active_frontend
798 if widget.can_copy():
799 widget.copy()
798 widget.copy()
800
799
801 def copy_raw_active_frontend(self):
800 def copy_raw_active_frontend(self):
General Comments 0
You need to be logged in to leave comments. Login now