update eaf package
This commit is contained in:
@@ -20,6 +20,8 @@
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
from PyQt5 import QtCore
|
||||
from PyQt5.QtGui import QClipboard
|
||||
from PyQt5.QtWidgets import QApplication
|
||||
import functools
|
||||
import os
|
||||
import socket
|
||||
@@ -128,8 +130,32 @@ def call_and_check_code(popen_args, on_exit, stdout_file=None):
|
||||
# returns immediately after the thread starts
|
||||
return thread
|
||||
|
||||
def get_clipboard_text():
|
||||
''' Get text from system clipboard.'''
|
||||
clipboard = QApplication.clipboard()
|
||||
text = clipboard.text()
|
||||
if text:
|
||||
return text
|
||||
|
||||
if clipboard.supportsSelection():
|
||||
return clipboard.text(QClipboard.Selection)
|
||||
|
||||
return ""
|
||||
|
||||
def set_clipboard_text(text):
|
||||
''' Set text to system clipboard.'''
|
||||
clipboard = QApplication.clipboard()
|
||||
clipboard.setText(text)
|
||||
|
||||
if clipboard.supportsSelection():
|
||||
clipboard.setText(text, QClipboard.Selection)
|
||||
|
||||
|
||||
def interactive(insert_or_do = False, msg_emacs = None, new_name = None):
|
||||
def wrap(f):
|
||||
"""
|
||||
Defines an interactive command invoked from Emacs.
|
||||
"""
|
||||
def wrap(f, insert_or_do = insert_or_do, msg_emacs = msg_emacs, new_name = new_name):
|
||||
f.interactive = True
|
||||
f.insert_or_do = insert_or_do
|
||||
f.msg_emacs = msg_emacs
|
||||
@@ -138,4 +164,23 @@ def interactive(insert_or_do = False, msg_emacs = None, new_name = None):
|
||||
def wrapped_f(*args, **kwargs):
|
||||
return f(*args, **kwargs)
|
||||
return wrapped_f
|
||||
|
||||
# Support both @interactive and @interactive() as valid syntax.
|
||||
if callable(insert_or_do):
|
||||
return wrap(insert_or_do, insert_or_do = False, msg_emacs = None, new_name = None)
|
||||
else:
|
||||
return wrap
|
||||
|
||||
|
||||
def abstract(f):
|
||||
"""
|
||||
Add a `abstract` flag to a method,
|
||||
|
||||
We don't use abs.abstractmethod cause we don't need strict
|
||||
implementation check.
|
||||
"""
|
||||
f.abstract = True
|
||||
@wraps(f)
|
||||
def wrap(*args, **kwargs):
|
||||
return f(*args, **kwargs)
|
||||
return wrap
|
||||
|
||||
Reference in New Issue
Block a user