예제 #1
0
 def disableReleaseNotesForCurrentVersion(self):
     releaseNotesVersion = self.gui.releaseNotesVersion
     mieruVersion = info.getVersionNumber()
     self.mieru.set('markedAsReadMieruVersion', mieruVersion)
     self.mieru.set('readReleaseNotesNVersion', releaseNotesVersion)
예제 #2
0
파일: qml_gui.py 프로젝트: M4rtinK/mieru
 def disableReleaseNotesForCurrentVersion(self):
     releaseNotesVersion = self.gui.releaseNotesVersion
     mieruVersion = info.getVersionNumber()
     self.mieru.set('markedAsReadMieruVersion', mieruVersion)
     self.mieru.set('readReleaseNotesNVersion', releaseNotesVersion)
예제 #3
0
    def __init__(self, mieru, type, size=(854, 480)):
        self.mieru = mieru

        self.activePage = None
        self.releaseNotes = None
        self.releaseNotesVersion = (0, 0, 2)

        # Create Qt application and the QDeclarative view
        class ModifiedQDeclarativeView(QDeclarativeView):
            def __init__(self, gui):
                QDeclarativeView.__init__(self)
                self.gui = gui

            def closeEvent(self, event):
                print("shutting down")
                self.gui.mieru.destroy()

        self.app = QApplication(sys.argv)
        self.view = ModifiedQDeclarativeView(self)
        #    # try OpenGl acceleration
        #    glw = QtOpenGL.QGLWidget()
        #    self.view.setViewport(glw)
        self.window = QMainWindow()
        self.window.resize(*size)
        self.window.setCentralWidget(self.view)
        self.view.setResizeMode(QDeclarativeView.SizeRootObjectToView)
        #    self.view.setResizeMode(QDeclarativeView.SizeViewToRootObject)

        # add image providers
        self.pageProvider = MangaPageImageProvider(self)
        self.iconProvider = IconImageProvider()
        self.view.engine().addImageProvider("page", self.pageProvider)
        self.view.engine().addImageProvider("icons", self.iconProvider)
        rc = self.view.rootContext()
        # make the reading state accessible from QML
        readingState = ReadingState(self)
        rc.setContextProperty("readingState", readingState)
        # make stats accessible from QML
        stats = Stats(self.mieru.stats)
        rc.setContextProperty("stats", stats)
        # make options accessible from QML
        options = Options(self.mieru)
        rc.setContextProperty("options", options)
        # make platform module accessible from QML
        platform = Platform(self.mieru)
        rc.setContextProperty("platform", platform)

        # ** history list handling **
        # get the objects and wrap them
        historyListController = HistoryListController(self.mieru)
        self.historyList = []
        self.historyListModel = HistoryListModel(self.mieru, self.historyList)
        # make available from QML
        rc.setContextProperty('historyListController', historyListController)
        rc.setContextProperty('historyListModel', self.historyListModel)

        # activate translation
        translator = QtCore.QTranslator(self.app)

        if self.mieru.args.locale is not None:
            localeId = self.mieru.args.locale
        else:
            localeId = locale.getlocale()[0]
        translator.load("gui/qml/i18n/qml_" + localeId)
        self.app.installTranslator(translator)

        # Set the QML file and show
        self.view.setSource(QUrl('gui/qml/main.qml'))
        self.window.closeEvent = self._qtWindowClosed
        self.window.show()

        self.rootObject = self.view.rootObject()
        #    self.nextButton = self.rootObject.findChild(QObject, "nextButton")
        #    self.prevButton = self.rootObject.findChild(QObject, "prevButton")
        #    self.pageFlickable = self.rootObject.findChild(QObject, "pageFlickable")

        self.lastTimeRequestedOtherManga = None
        #    self.nextButton.clicked.connect(self._nextCB)
        #    self.pageFlickable.clicked.connect(self._prevCB)
        #    self.prevButton.clicked.connect(self._prevCB)
        if self.mieru.platform.startInFullscreen():
            self.toggleFullscreen()

        # check if first start dialog should be shown
        if self.mieru.get("QMLShowFirstStartDialog", True):
            self.rootObject.openFirstStartDialog()
        else:  # only show release notes if first start dialog is not shown
            if self.mieru.get('showReleaseNotes',
                              True):  # are release notes enabled ?
                # release notes version that was marked as read
                dontShowVersion = self.mieru.get('readReleaseNotesNVersion',
                                                 (0, 0, 1))
                # at which mieru version were the release notes marked as read
                markedAsReadMieruVersion = self.mieru.get(
                    'markedAsReadMieruVersion', (0, 0, 0))
                # current version
                currentMieruVersion = info.getVersionNumber()
                # did we check for new release notes on this version ?
                if markedAsReadMieruVersion != currentMieruVersion:
                    # check release notes version
                    notesVersion, notes = info.getReleaseNotes()
                    if notesVersion != dontShowVersion:  # were these release notes already read ?
                        # these release notes were not marked as read
                        if notes:
                            # release notes loaded successfully
                            self.releaseNotes = notes
                            self.releaseNotesVersion = notesVersion
                            # trigger the release notes dialog
                            self.rootObject.openReleaseNotesDialog()
                        else:
                            print('qml_gui: release notes loading failed')
예제 #4
0
파일: qml_gui.py 프로젝트: M4rtinK/mieru
    def __init__(self, mieru, type, size=(854, 480)):
        self.mieru = mieru

        self.activePage = None
        self.releaseNotes = None
        self.releaseNotesVersion = (0, 0, 2)

        # Create Qt application and the QDeclarative view
        class ModifiedQDeclarativeView(QDeclarativeView):
            def __init__(self, gui):
                QDeclarativeView.__init__(self)
                self.gui = gui

            def closeEvent(self, event):
                print("shutting down")
                self.gui.mieru.destroy()

        self.app = QApplication(sys.argv)
        self.view = ModifiedQDeclarativeView(self)
        #    # try OpenGl acceleration
        #    glw = QtOpenGL.QGLWidget()
        #    self.view.setViewport(glw)
        self.window = QMainWindow()
        self.window.resize(*size)
        self.window.setCentralWidget(self.view)
        self.view.setResizeMode(QDeclarativeView.SizeRootObjectToView)
        #    self.view.setResizeMode(QDeclarativeView.SizeViewToRootObject)

        # add image providers
        self.pageProvider = MangaPageImageProvider(self)
        self.iconProvider = IconImageProvider()
        self.view.engine().addImageProvider("page", self.pageProvider)
        self.view.engine().addImageProvider("icons", self.iconProvider)
        rc = self.view.rootContext()
        # make the reading state accessible from QML
        readingState = ReadingState(self)
        rc.setContextProperty("readingState", readingState)
        # make stats accessible from QML
        stats = Stats(self.mieru.stats)
        rc.setContextProperty("stats", stats)
        # make options accessible from QML
        options = Options(self.mieru)
        rc.setContextProperty("options", options)
        # make platform module accessible from QML
        platform = Platform(self.mieru)
        rc.setContextProperty("platform", platform)

        # ** history list handling **
        # get the objects and wrap them
        historyListController = HistoryListController(self.mieru)
        self.historyList = []
        self.historyListModel = HistoryListModel(self.mieru, self.historyList)
        # make available from QML
        rc.setContextProperty('historyListController', historyListController)
        rc.setContextProperty('historyListModel', self.historyListModel)

        # activate translation
        translator = QtCore.QTranslator(self.app)

        if self.mieru.args.locale is not None:
            localeId = self.mieru.args.locale
        else:
            localeId = locale.getlocale()[0]
        translator.load("gui/qml/i18n/qml_" + localeId)
        self.app.installTranslator(translator)

        # Set the QML file and show
        self.view.setSource(QUrl('gui/qml/main.qml'))
        self.window.closeEvent = self._qtWindowClosed
        self.window.show()

        self.rootObject = self.view.rootObject()
        #    self.nextButton = self.rootObject.findChild(QObject, "nextButton")
        #    self.prevButton = self.rootObject.findChild(QObject, "prevButton")
        #    self.pageFlickable = self.rootObject.findChild(QObject, "pageFlickable")

        self.lastTimeRequestedOtherManga = None
        #    self.nextButton.clicked.connect(self._nextCB)
        #    self.pageFlickable.clicked.connect(self._prevCB)
        #    self.prevButton.clicked.connect(self._prevCB)
        if self.mieru.platform.startInFullscreen():
            self.toggleFullscreen()

        # check if first start dialog should be shown
        if self.mieru.get("QMLShowFirstStartDialog", True):
            self.rootObject.openFirstStartDialog()
        else: # only show release notes if first start dialog is not shown
            if self.mieru.get('showReleaseNotes', True): # are release notes enabled ?
                # release notes version that was marked as read
                dontShowVersion = self.mieru.get('readReleaseNotesNVersion', (0, 0, 1))
                # at which mieru version were the release notes marked as read
                markedAsReadMieruVersion = self.mieru.get('markedAsReadMieruVersion', (0, 0, 0))
                # current version
                currentMieruVersion = info.getVersionNumber()
                # did we check for new release notes on this version ?
                if markedAsReadMieruVersion != currentMieruVersion:
                    # check release notes version
                    notesVersion, notes = info.getReleaseNotes()
                    if notesVersion != dontShowVersion: # were these release notes already read ?
                        # these release notes were not marked as read
                        if notes:
                            # release notes loaded successfully
                            self.releaseNotes = notes
                            self.releaseNotesVersion = notesVersion
                            # trigger the release notes dialog
                            self.rootObject.openReleaseNotesDialog()
                        else:
                            print('qml_gui: release notes loading failed')