Fix context menu behavior

This commit is contained in:
BasioMeusPuga
2018-03-24 01:34:42 +05:30
parent dd4b502861
commit 9c85a1075e
12 changed files with 23 additions and 10 deletions

View File

@@ -21,7 +21,6 @@ import gc
import sys import sys
import hashlib import hashlib
import pathlib import pathlib
from PyQt5 import QtWidgets, QtGui, QtCore
# This allows for the program to be launched from the # This allows for the program to be launched from the
# dir where it's been copied instead of needing to be # dir where it's been copied instead of needing to be
@@ -30,6 +29,8 @@ install_dir = os.path.realpath(__file__)
install_dir = pathlib.Path(install_dir).parents[1] install_dir = pathlib.Path(install_dir).parents[1]
sys.path.append(str(install_dir)) sys.path.append(str(install_dir))
from PyQt5 import QtWidgets, QtGui, QtCore
from lector import database from lector import database
from lector import sorter from lector import sorter
from lector.toolbars import LibraryToolBar, BookToolBar from lector.toolbars import LibraryToolBar, BookToolBar
@@ -42,7 +43,6 @@ from lector.settings import Settings
from lector.settingsdialog import SettingsUI from lector.settingsdialog import SettingsUI
from lector.metadatadialog import MetadataUI from lector.metadatadialog import MetadataUI
from lector.definitionsdialog import DefinitionsUI from lector.definitionsdialog import DefinitionsUI
from lector.resources import mainwindow, resources from lector.resources import mainwindow, resources

View File

@@ -19,6 +19,7 @@
import os import os
import pickle import pickle
import sqlite3 import sqlite3
from PyQt5 import QtCore from PyQt5 import QtCore

View File

@@ -18,7 +18,9 @@
import json import json
import urllib.request import urllib.request
from PyQt5 import QtWidgets, QtCore, QtGui, QtMultimedia from PyQt5 import QtWidgets, QtCore, QtGui, QtMultimedia
from lector.resources import definitions from lector.resources import definitions

View File

@@ -17,6 +17,7 @@
# along with this program. If not, see <http://www.gnu.org/licenses/>. # along with this program. If not, see <http://www.gnu.org/licenses/>.
from PyQt5 import QtCore, QtGui, QtWidgets from PyQt5 import QtCore, QtGui, QtWidgets
from lector import database from lector import database
from lector.settings import Settings from lector.settings import Settings
from lector.resources import resources from lector.resources import resources

View File

@@ -19,7 +19,9 @@
import os import os
import pickle import pickle
import pathlib import pathlib
from PyQt5 import QtGui, QtCore from PyQt5 import QtGui, QtCore
from lector import database from lector import database
from lector.models import TableProxyModel, ItemProxyModel from lector.models import TableProxyModel, ItemProxyModel

View File

@@ -22,6 +22,7 @@
import os import os
import time import time
import zipfile import zipfile
from lector.rarfile import rarfile from lector.rarfile import rarfile

View File

@@ -18,6 +18,7 @@
import io import io
import os import os
from PyQt5 import QtCore from PyQt5 import QtCore
from bs4 import BeautifulSoup from bs4 import BeautifulSoup
@@ -28,6 +29,7 @@ except ImportError:
print('python-poppler-qt5 is not installed. Pdf files will not work.') print('python-poppler-qt5 is not installed. Pdf files will not work.')
proceed = False proceed = False
class ParsePDF: class ParsePDF:
def __init__(self, filename, *args): def __init__(self, filename, *args):
self.filename = filename self.filename = filename

View File

@@ -2,6 +2,7 @@
# Keep in mind that all integer / boolean settings are returned as strings # Keep in mind that all integer / boolean settings are returned as strings
import os import os
from ast import literal_eval from ast import literal_eval
from PyQt5 import QtCore, QtGui from PyQt5 import QtCore, QtGui

View File

@@ -22,6 +22,7 @@
import os import os
import copy import copy
import pathlib import pathlib
from PyQt5 import QtWidgets, QtCore, QtGui from PyQt5 import QtWidgets, QtCore, QtGui
from lector import database from lector import database

View File

@@ -39,9 +39,9 @@ import time
import pickle import pickle
import hashlib import hashlib
import threading import threading
from multiprocessing import Pool, Manager from multiprocessing import Pool, Manager
from PyQt5 import QtCore, QtGui from PyQt5 import QtCore, QtGui
from lector import database from lector import database
from lector.parsers.pdf import ParsePDF from lector.parsers.pdf import ParsePDF

View File

@@ -18,6 +18,7 @@
import os import os
import pathlib import pathlib
from multiprocessing.dummy import Pool from multiprocessing.dummy import Pool
from PyQt5 import QtCore, QtGui from PyQt5 import QtCore, QtGui

View File

@@ -24,15 +24,15 @@
import os import os
import uuid import uuid
import zipfile import zipfile
from PyQt5 import QtWidgets, QtGui, QtCore
try: try:
import popplerqt5 import popplerqt5
except ImportError: except ImportError:
pass pass
from lector.rarfile import rarfile from PyQt5 import QtWidgets, QtGui, QtCore
from lector.rarfile import rarfile
from lector.models import BookmarkProxyModel from lector.models import BookmarkProxyModel
from lector.delegates import BookmarkDelegate from lector.delegates import BookmarkDelegate
from lector.threaded import BackGroundCacheRefill from lector.threaded import BackGroundCacheRefill
@@ -696,8 +696,8 @@ class PliantQGraphicsView(QtWidgets.QGraphicsView):
self.main_window.QImageFactory.get_image('filesaveas'), self.main_window.QImageFactory.get_image('filesaveas'),
self._translate('PliantQGraphicsView', 'Save page as...')) self._translate('PliantQGraphicsView', 'Save page as...'))
fsToggleAction = None fsToggleAction = dfToggleAction = 'Caesar si viveret, ad remum dareris'
dfToggleAction = None
if self.parent.is_fullscreen: if self.parent.is_fullscreen:
fsToggleAction = contextMenu.addAction( fsToggleAction = contextMenu.addAction(
self.main_window.QImageFactory.get_image('view-fullscreen'), self.main_window.QImageFactory.get_image('view-fullscreen'),
@@ -842,7 +842,10 @@ class PliantQTextBrowser(QtWidgets.QTextBrowser):
contextMenu = QtWidgets.QMenu() contextMenu = QtWidgets.QMenu()
defineAction = 'Caesar si viveret, ad remum dareris' # The following cannot be None because a click
# outside the menu means that the action variable is None.
defineAction = fsToggleAction = dfToggleAction = 'Caesar si viveret, ad remum dareris'
if selected_word and selected_word != '': if selected_word and selected_word != '':
selected_word = selected_word.split()[0] selected_word = selected_word.split()[0]
define_string = self._translate('PliantQTextBrowser', 'Define') define_string = self._translate('PliantQTextBrowser', 'Define')
@@ -854,8 +857,6 @@ class PliantQTextBrowser(QtWidgets.QTextBrowser):
self.main_window.QImageFactory.get_image('search'), self.main_window.QImageFactory.get_image('search'),
self._translate('PliantQTextBrowser', 'Search')) self._translate('PliantQTextBrowser', 'Search'))
fsToggleAction = None
dfToggleAction = None
if self.parent.is_fullscreen: if self.parent.is_fullscreen:
fsToggleAction = contextMenu.addAction( fsToggleAction = contextMenu.addAction(
self.main_window.QImageFactory.get_image('view-fullscreen'), self.main_window.QImageFactory.get_image('view-fullscreen'),