Exemple #1
0
    def __init__(self, parent=None):
        super(PypePlayer, self).__init__(parent)

        QCoreApplication.setOrganizationName('Ted')
        QCoreApplication.setApplicationName('PypePlayer')
        self.setting_dialog = settings_widget()
        self.setting_dialog.settings_saved.connect(self.read_settings)

        self.player = Player(parent=self)
        self.setCentralWidget(self.player)
        self.viewer = Viewer(parent=self)

        self.menu_controller = MenuController(self, self.menuBar())
        self._create_menu()
        self.update_actions()

        self.player.media_loaded.connect(self.set_window_title)
        self.player.stopped.connect(self.set_window_title)

        self.read_settings()
        self.set_window_title('')
        self.show()
        self.adjust_header_act.trigger()
Exemple #2
0
    def main(self):
        fullscreenValue = self.argValues["fullscreen"]
        topWindowValue = self.argValues["topWindow"]
        startFromDesktopValue = self.argValues["startFromDesktop"]

        cursor_pos = QCursor.pos()
        desktop = qApp.desktop()
        screen_num = desktop.screenNumber(cursor_pos)
        screen_geo = desktop.screenGeometry(screen_num)
        pixmap = qApp.primaryScreen().grabWindow(0)
        pixmap = pixmap.copy(screen_geo.x(), screen_geo.y(),
                             screen_geo.width(), screen_geo.height())
        pixmap.save(self.settings.tmpImageFile)

        show_osd = self.settings.getOption("showOSD", "show")
        if show_osd == True or show_osd == "true":
            self.settings.showOSD = startFromDesktopValue
            if self.settings.showOSD:
                self.settings.setOption("showOSD", "show", QVariant(False))
        else:
            self.settings.showOSD = False
        self.menu_controller = MenuController()
        self.windowInfo = WindowInfo(screen_num)

        notificationsInterface.ActionInvoked.connect(self._actionInvoked)
        notificationsInterface.NotificationClosed.connect(
            self._notificationClosed)

        if fullscreenValue:
            self.saveScreenshot(pixmap)
        elif topWindowValue:
            wInfos = self.windowInfo.get_windows_info()
            if len(wInfos) > 0:
                wInfo = wInfos[0]
                pix = pixmap.copy(wInfo[0] - screen_geo.x(),
                                  wInfo[1] - screen_geo.y(), wInfo[2],
                                  wInfo[3])
                self.saveScreenshot(pix)
        else:
            self.window = Window(ref(self)())
            self.window.setX(screen_geo.x())
            self.window.setY(screen_geo.y())
            self.window.setWidth(screen_geo.width())
            self.window.setHeight(screen_geo.height())
            self.window.windowClosing.connect(self._windowClosing)
            self.window.visibleChanged.connect(self._windowVisibleChanged)

            # NOTE: make sure that all the objects that are set as context
            # property are always referenced by others through the lifetime
            # of this application, otherwise it'll cause problems.
            qml_context = self.window.rootContext()
            qml_context.setContextProperty("windowView", self.window)
            qml_context.setContextProperty("qApp", qApp)
            qml_context.setContextProperty(
                "screenWidth", self.window.window_info.screen_width)
            qml_context.setContextProperty(
                "screenHeight", self.window.window_info.screen_height)
            qml_context.setContextProperty("tmpImageFile",
                                           self.settings.tmpImageFile)
            qml_context.setContextProperty("blurImageFile",
                                           self.settings.tmpBlurFile)
            qml_context.setContextProperty("mosaicImageFile",
                                           self.settings.tmpMosaiceFile)
            qml_context.setContextProperty("_menu_controller",
                                           self.menu_controller)

            self.window.setSource(QUrl.fromLocalFile(MAIN_QML))
            self.window.showWindow()

            self.menu_controller.preMenuShow.connect(self.window.ungrabFocus)
            self.menu_controller.postMenuHide.connect(self.window.grabFocus)
Exemple #3
0
if __name__ == "__main__":
    from dbus_services import (DeepinMovieServie, check_multiple_instances,
                               DeepinMovieInterface, session_bus, DBUS_PATH)

    result = check_multiple_instances()
    if result:
        dbus_service = DeepinMovieServie(app)
        session_bus.registerObject(DBUS_PATH, dbus_service)
    else:
        if not config.playerMultipleProgramsAllowed:
            dbus_interface = DeepinMovieInterface()
            dbus_interface.play(json.dumps(sys.argv[1:]))
            os._exit(0)

    windowView = Window(result or len(sys.argv) > 1)
    menu_controller = MenuController(windowView)
    file_monitor = FileMonitor()
    findVideoThreadManager = FindVideoThreadManager()
    app._extra_window = weakref.ref(windowView)

    qml_context = windowView.rootContext()

    qml_context.setContextProperty("config", config)
    qml_context.setContextProperty("_utils", utils)
    qml_context.setContextProperty("_findVideoThreadManager",
                                   findVideoThreadManager)
    qml_context.setContextProperty("_file_monitor", file_monitor)
    qml_context.setContextProperty("database", database)
    qml_context.setContextProperty("windowView", windowView)
    qml_context.setContextProperty("movieInfo", movie_info)
    qml_context.setContextProperty("_menu_controller", menu_controller)