2012-12-21 08:51:59 +01:00
|
|
|
# Copyright: Damien Elmes <anki@ichi2.net>
|
|
|
|
# License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html
|
|
|
|
|
2013-12-18 23:41:29 +01:00
|
|
|
# fixme: make sure not to optimize imports on this file
|
|
|
|
|
|
|
|
import os
|
2012-12-21 08:51:59 +01:00
|
|
|
|
2016-05-31 10:51:40 +02:00
|
|
|
# fix buggy ubuntu12.04 display of language selector
|
|
|
|
os.environ["LIBOVERLAY_SCROLLBAR"] = "0"
|
|
|
|
|
2013-06-10 08:03:19 +02:00
|
|
|
from anki.utils import isWin, isMac
|
2013-12-18 23:41:29 +01:00
|
|
|
|
2016-06-06 07:50:03 +02:00
|
|
|
from PyQt5.Qt import *
|
2016-07-08 04:34:30 +02:00
|
|
|
# trigger explicit message in case of missing libraries
|
|
|
|
# instead of silently failing to import
|
|
|
|
from PyQt5.QtWebEngineWidgets import QWebEnginePage
|
2018-10-23 08:02:59 +02:00
|
|
|
try:
|
|
|
|
from PyQt5 import sip
|
|
|
|
except ImportError:
|
|
|
|
import sip
|
2013-12-18 23:41:29 +01:00
|
|
|
|
2012-12-21 08:51:59 +01:00
|
|
|
def debug():
|
2016-05-31 10:51:40 +02:00
|
|
|
from PyQt5.QtCore import pyqtRemoveInputHook
|
2012-12-21 08:51:59 +01:00
|
|
|
from pdb import set_trace
|
|
|
|
pyqtRemoveInputHook()
|
|
|
|
set_trace()
|
|
|
|
|
2013-12-18 23:41:29 +01:00
|
|
|
import sys, traceback
|
|
|
|
|
2012-12-21 08:51:59 +01:00
|
|
|
if os.environ.get("DEBUG"):
|
|
|
|
def info(type, value, tb):
|
2016-05-31 10:51:40 +02:00
|
|
|
from PyQt5.QtCore import pyqtRemoveInputHook
|
2012-12-21 08:51:59 +01:00
|
|
|
for line in traceback.format_exception(type, value, tb):
|
|
|
|
sys.stdout.write(line)
|
|
|
|
pyqtRemoveInputHook()
|
|
|
|
from pdb import pm
|
|
|
|
pm()
|
|
|
|
sys.excepthook = info
|
|
|
|
|
2013-05-17 08:17:04 +02:00
|
|
|
qtmajor = (QT_VERSION & 0xff0000) >> 16
|
|
|
|
qtminor = (QT_VERSION & 0x00ff00) >> 8
|
2016-07-18 05:59:45 +02:00
|
|
|
qtpoint = QT_VERSION & 0xff
|
2012-12-21 08:51:59 +01:00
|
|
|
|
2018-10-23 08:03:27 +02:00
|
|
|
if qtmajor != 5 or qtminor not in (9, 11):
|
|
|
|
raise Exception("Anki only supports Qt 5.9.x and 5.11.x at this time.")
|
2018-06-07 03:36:11 +02:00
|
|
|
|
|
|
|
# GUI code assumes python 3.6+
|
|
|
|
if sys.version_info[0] < 3 or sys.version_info[1] < 6:
|
|
|
|
raise Exception("Anki requires Python 3.6+")
|