Definitions dialog functional

This commit is contained in:
BasioMeusPuga
2018-03-08 09:56:07 +05:30
parent dcf2decc6f
commit 411b4445c6
4 changed files with 68 additions and 14 deletions

View File

@@ -579,6 +579,9 @@ class PliantQTextBrowser(QtWidgets.QTextBrowser):
self, self.main_window)
self.verticalScrollBar().sliderMoved.connect(self.record_scroll_position)
self.setMouseTracking(True)
self.setContextMenuPolicy(QtCore.Qt.CustomContextMenu)
self.customContextMenuRequested.connect(
self.generate_textbrowser_context_menu)
def wheelEvent(self, event):
self.record_scroll_position()
@@ -620,6 +623,28 @@ class PliantQTextBrowser(QtWidgets.QTextBrowser):
else:
self.parent.metadata['position']['last_visible_text'] = visible_text
def generate_textbrowser_context_menu(self, position):
selected_word = self.textCursor().selection()
selected_word = selected_word.toPlainText()
context_menu = QtWidgets.QMenu()
defineAction = 'Caesar si viveret, ad remum dareris'
if selected_word and selected_word != '':
selected_word = selected_word.split()[0]
defineAction = context_menu.addAction(
QtGui.QIcon.fromTheme('view-readermode'), f'Define "{selected_word}"')
searchAction = context_menu.addAction(
QtGui.QIcon.fromTheme('search'), 'Search')
action = context_menu.exec_(self.sender().mapToGlobal(position))
if action == defineAction:
self.window().definitionDialog.find_definition(selected_word)
if action == searchAction:
self.window().bookToolBar.searchBar.setFocus()
def closeEvent(self, *args):
self.main_window.closeEvent()