diff --git a/ankiqt/ui/main.py b/ankiqt/ui/main.py
index d370feaee..6e833f783 100644
--- a/ankiqt/ui/main.py
+++ b/ankiqt/ui/main.py
@@ -41,23 +41,14 @@ class AnkiQt(QMainWindow):
self.setupBackupDir()
self.setupHooks()
self.loadPlugins()
- self.mainWin = ankiqt.forms.main.Ui_MainWindow()
- self.mainWin.setupUi(self)
+ self.setupMainWindow()
self.rebuildPluginsMenu()
self.alterShortcuts()
- self.help = ui.help.HelpArea(self.mainWin.helpFrame, self.config, self)
- self.trayIcon = ui.tray.AnkiTrayIcon( self )
+ self.setupTray()
self.connectMenuActions()
if self.config['mainWindowGeom']:
self.restoreGeometry(self.config['mainWindowGeom'])
- self.bodyView = ui.view.View(self, self.mainWin.mainText,
- self.mainWin.mainTextFrame)
- self.mainWin.mainText.pageAction(QWebPage.Reload).setVisible(False)
- self.addView(self.bodyView)
- self.statusView = ui.status.StatusView(self)
- self.addView(self.statusView)
- self.mainWin.welcomeText.hide()
- self.mainWin.mainText.hide()
+ self.setupViews()
self.setupEditor()
self.setupButtons()
self.setupAnchors()
@@ -79,6 +70,31 @@ class AnkiQt(QMainWindow):
# check for updates
self.setupAutoUpdate()
+ def setupMainWindow(self):
+ self.mainWin = ankiqt.forms.main.Ui_MainWindow()
+ self.mainWin.setupUi(self)
+ self.mainWin.mainText = ui.view.AnkiWebView(self.mainWin.mainTextFrame)
+ self.mainWin.mainText.setObjectName("mainText")
+ self.mainWin.vboxlayout.addWidget(self.mainWin.mainText)
+ self.mainWin.buttonWidget = QWidget(self.mainWin.mainTextFrame)
+ self.mainWin.buttonWidget.setObjectName("buttonWidget")
+ self.mainWin.vboxlayout.addWidget(self.mainWin.buttonWidget)
+ self.help = ui.help.HelpArea(self.mainWin.helpFrame, self.config, self)
+ self.mainWin.mainText.pageAction(QWebPage.Reload).setVisible(False)
+ self.mainWin.welcomeText.hide()
+ self.mainWin.mainText.hide()
+
+ def setupViews(self):
+ self.bodyView = ui.view.View(self, self.mainWin.mainText,
+ self.mainWin.mainTextFrame)
+ self.addView(self.bodyView)
+ self.statusView = ui.status.StatusView(self)
+ self.addView(self.statusView)
+
+ def setupTray(self):
+ self.trayIcon = ui.tray.AnkiTrayIcon(self)
+
+
# State machine
##########################################################################
diff --git a/ankiqt/ui/view.py b/ankiqt/ui/view.py
index ad561bc0a..e136544c2 100644
--- a/ankiqt/ui/view.py
+++ b/ankiqt/ui/view.py
@@ -11,6 +11,7 @@ from anki.utils import stripHTML
import types, time, re, os, urllib, sys
from ankiqt import ui
from ankiqt.ui.utils import mungeQA
+from PyQt4.QtWebKit import QWebPage, QWebView
# Views - define the way a user is prompted for questions, etc
##########################################################################
@@ -224,3 +225,14 @@ Start adding your own material.
self.write("
| " + self.main.deck.deckFinishedMsg() + " |