toxygen/toxygen/utils/ui.py

55 lines
1.7 KiB
Python

from PyQt5 import QtWidgets
import utils.util as util
def tr(s):
return QtWidgets.QApplication.translate('Toxygen', s)
def question(text, title=None):
reply = QtWidgets.QMessageBox.question(None, title or 'Toxygen', text,
QtWidgets.QMessageBox.Yes,
QtWidgets.QMessageBox.No)
return reply == QtWidgets.QMessageBox.Yes
def message_box(text, title=None):
m_box = QtWidgets.QMessageBox()
m_box.setText(tr(text))
m_box.setWindowTitle(title or 'Toxygen')
m_box.exec_()
def text_dialog(text, title='', default_value=''):
text, ok = QtWidgets.QInputDialog.getText(None, title, text, QtWidgets.QLineEdit.Normal, default_value)
return text, ok
def directory_dialog(caption=''):
return QtWidgets.QFileDialog.getExistingDirectory(None, caption, util.curr_directory(),
QtWidgets.QFileDialog.DontUseNativeDialog)
def file_dialog(caption, file_filter=None):
return QtWidgets.QFileDialog.getOpenFileName(None, caption, util.curr_directory(), file_filter,
options=QtWidgets.QFileDialog.DontUseNativeDialog)
def save_file_dialog(caption, filter=None):
return QtWidgets.QFileDialog.getSaveFileName(None, caption, util.curr_directory(),
filter=filter,
options=QtWidgets.QFileDialog.ShowDirsOnly | QtWidgets.QFileDialog.DontUseNativeDialog)
def close_all_windows():
QtWidgets.QApplication.closeAllWindows()
def copy_to_clipboard(text):
clipboard = QtWidgets.QApplication.clipboard()
clipboard.setText(text)
# TODO: all dialogs