Beispiel #1
0
 def __disconnectUi(self):
     self.iconview.disconnect_by_func(self._transitionSelectedCb)
     self.border_scale.disconnect_by_func(self._borderScaleCb)
     self.invert_checkbox.disconnect_by_func(self._invertCheckboxCb)
     self.border_mode_normal.disconnect_by_func(self._borderTypeChangedCb)
     self.border_mode_loop.disconnect_by_func(self._borderTypeChangedCb)
     disconnectAllByFunc(self.element, self.__updated_cb)
Beispiel #2
0
    def __loading_failure(self, has_proxy):
        mainloop = common.create_main_loop()

        app = common.create_pitivi_mock(lastProjectFolder="/tmp",
                                        edgeSnapDeadband=32)
        app.project_manager = ProjectManager(app)
        mainwindow = MainWindow(app)
        mainwindow.viewer = mock.MagicMock()

        def __pm_missing_uri_cb(project_manager, project,
                                error, asset):
            nonlocal mainloop
            nonlocal mainwindow
            nonlocal self
            nonlocal app
            nonlocal has_proxy

            with mock.patch('gi.repository.Gtk.Dialog') as dialog:
                failed_cb = mock.MagicMock()
                app.project_manager.connect("new-project-failed", failed_cb)

                dialog.return_value = mock.MagicMock()
                dialog.return_value.run = mock.MagicMock(
                    return_value=Gtk.ResponseType.CLOSE)

                # Call the actual callback
                # pylint: disable=protected-access
                app.proxy_manager.checkProxyLoadingSucceeded =  \
                    mock.MagicMock(return_value=has_proxy)

                mainwindow._projectManagerMissingUriCb(
                    project_manager, project, error, asset)

                self.assertTrue(dialog.called)
                self.assertTrue(dialog.return_value.run.called)
                self.assertEqual(failed_cb.called, not has_proxy)

            # pylint: disable=protected-access
            app.project_manager.connect("missing-uri",
                                        mainwindow._projectManagerMissingUriCb)
            # pylint: disable=protected-access
            app.project_manager.connect("new-project-failed",
                                        mainwindow._projectManagerNewProjectFailedCb)

            mainwindow.destroy()
            mainloop.quit()

        # pylint: disable=protected-access
        disconnectAllByFunc(app.project_manager,
                            mainwindow._projectManagerMissingUriCb)
        disconnectAllByFunc(app.project_manager,
                            mainwindow._projectManagerNewProjectFailedCb)

        app.project_manager.connect("missing-uri",
                                    __pm_missing_uri_cb)

        with common.created_project_file() as uri:
            app.project_manager.loadProject(uri)

        mainloop.run()
Beispiel #3
0
    def __loading_failure(self, has_proxy):
        mainloop = common.create_main_loop()

        app = common.create_pitivi_mock(lastProjectFolder="/tmp",
                                        edgeSnapDeadband=32)
        app.project_manager = ProjectManager(app)
        mainwindow = MainWindow(app)
        mainwindow.viewer = mock.MagicMock()

        def __pm_missing_uri_cb(project_manager, project, error, asset):
            nonlocal mainloop
            nonlocal mainwindow
            nonlocal self
            nonlocal app
            nonlocal has_proxy

            with mock.patch('gi.repository.Gtk.Dialog') as dialog:
                failed_cb = mock.MagicMock()
                app.project_manager.connect("new-project-failed", failed_cb)

                dialog.return_value = mock.MagicMock()
                dialog.return_value.run = mock.MagicMock(
                    return_value=Gtk.ResponseType.CLOSE)

                # Call the actual callback
                # pylint: disable=protected-access
                app.proxy_manager.checkProxyLoadingSucceeded =  \
                    mock.MagicMock(return_value=has_proxy)

                mainwindow._projectManagerMissingUriCb(project_manager,
                                                       project, error, asset)

                self.assertTrue(dialog.called)
                self.assertTrue(dialog.return_value.run.called)
                self.assertEqual(failed_cb.called, not has_proxy)

            # pylint: disable=protected-access
            app.project_manager.connect("missing-uri",
                                        mainwindow._projectManagerMissingUriCb)
            # pylint: disable=protected-access
            app.project_manager.connect(
                "new-project-failed",
                mainwindow._projectManagerNewProjectFailedCb)

            mainwindow.destroy()
            mainloop.quit()

        # pylint: disable=protected-access
        disconnectAllByFunc(app.project_manager,
                            mainwindow._projectManagerMissingUriCb)
        disconnectAllByFunc(app.project_manager,
                            mainwindow._projectManagerNewProjectFailedCb)

        app.project_manager.connect("missing-uri", __pm_missing_uri_cb)

        with common.created_project_file() as uri:
            app.project_manager.loadProject(uri)

        mainloop.run()
Beispiel #4
0
    def release(self):
        for child in self.bClip.get_children(True):
            self.__disconnectFromChild(child)

        misc.disconnectAllByFunc(self.bClip, self._startChangedCb)
        misc.disconnectAllByFunc(self.bClip, self._durationChangedCb)
        misc.disconnectAllByFunc(self.bClip, self._layerChangedCb)
        misc.disconnectAllByFunc(self.bClip, self._childAddedCb)
        misc.disconnectAllByFunc(self.bClip, self._childRemovedCb)
Beispiel #5
0
    def release(self):
        for child in self.ges_clip.get_children(True):
            self.__disconnectFromChild(child)

        misc.disconnectAllByFunc(self.ges_clip, self._startChangedCb)
        misc.disconnectAllByFunc(self.ges_clip, self._durationChangedCb)
        misc.disconnectAllByFunc(self.ges_clip, self._layerChangedCb)
        misc.disconnectAllByFunc(self.ges_clip, self._childAddedCb)
        misc.disconnectAllByFunc(self.ges_clip, self._childRemovedCb)
Beispiel #6
0
    def release(self):
        for child in self.ges_clip.get_children(True):
            self.__disconnectFromChild(child)

        disconnectAllByFunc(self.ges_clip, self._startChangedCb)
        disconnectAllByFunc(self.ges_clip, self._durationChangedCb)
        disconnectAllByFunc(self.ges_clip, self._layerChangedCb)
        disconnectAllByFunc(self.ges_clip, self._child_added_cb)
        disconnectAllByFunc(self.ges_clip, self._child_removed_cb)
    def __loading_failure(self, has_proxy):
        mainloop = common.create_main_loop()

        app = common.create_pitivi_mock(lastProjectFolder="/tmp",
                                        edgeSnapDeadband=32)
        app.project_manager = ProjectManager(app)
        editorperspective = EditorPerspective(app)
        editorperspective.setup_ui()
        editorperspective.viewer = mock.MagicMock()
        editorperspective.medialibrary._import_warning_infobar = mock.MagicMock(
        )
        editorperspective.clipconfig.effect_expander._infobar = mock.MagicMock(
        )

        def __pm_missing_uri_cb(project_manager, project, error, asset):
            nonlocal mainloop
            nonlocal editorperspective
            nonlocal self
            nonlocal app
            nonlocal has_proxy

            with mock.patch.object(MissingAssetDialog,
                                   "__new__") as constructor:
                failed_cb = mock.MagicMock()
                app.project_manager.connect("new-project-failed", failed_cb)

                dialog = constructor.return_value
                dialog.get_new_uri.return_value = None

                # Call the actual callback
                app.proxy_manager.checkProxyLoadingSucceeded =  \
                    mock.MagicMock(return_value=has_proxy)

                editorperspective._projectManagerMissingUriCb(
                    project_manager, project, error, asset)

                self.assertTrue(constructor.called)
                self.assertTrue(dialog.get_new_uri.called)
                self.assertEqual(failed_cb.called, not has_proxy)

            app.project_manager.connect(
                "missing-uri", editorperspective._projectManagerMissingUriCb)
            mainloop.quit()

        disconnectAllByFunc(app.project_manager,
                            editorperspective._projectManagerMissingUriCb)

        app.project_manager.connect("missing-uri", __pm_missing_uri_cb)

        with common.cloned_sample():
            asset_uri = common.get_sample_uri("missing.png")
            with common.created_project_file(asset_uri) as uri:
                app.project_manager.load_project(uri)

        mainloop.run()
    def __loading_failure(self, has_proxy):
        mainloop = common.create_main_loop()

        app = common.create_pitivi_mock(lastProjectFolder="/tmp",
                                        edgeSnapDeadband=32)
        app.project_manager = ProjectManager(app)
        editorperspective = EditorPerspective(app)
        editorperspective.setup_ui()
        editorperspective.viewer = mock.MagicMock()
        editorperspective.medialibrary._import_warning_infobar = mock.MagicMock()
        editorperspective.clipconfig.effect_expander._infobar = mock.MagicMock()

        def __pm_missing_uri_cb(project_manager, project, error, asset):
            nonlocal mainloop
            nonlocal editorperspective
            nonlocal self
            nonlocal app
            nonlocal has_proxy

            with mock.patch.object(MissingAssetDialog, "__new__") as constructor:
                failed_cb = mock.MagicMock()
                app.project_manager.connect("new-project-failed", failed_cb)

                dialog = constructor.return_value
                dialog.get_new_uri.return_value = None

                # Call the actual callback
                app.proxy_manager.checkProxyLoadingSucceeded =  \
                    mock.MagicMock(return_value=has_proxy)

                editorperspective._projectManagerMissingUriCb(
                    project_manager, project, error, asset)

                self.assertTrue(constructor.called)
                self.assertTrue(dialog.get_new_uri.called)
                self.assertEqual(failed_cb.called, not has_proxy)

            app.project_manager.connect("missing-uri",
                                        editorperspective._projectManagerMissingUriCb)
            mainloop.quit()

        disconnectAllByFunc(app.project_manager,
                            editorperspective._projectManagerMissingUriCb)

        app.project_manager.connect("missing-uri", __pm_missing_uri_cb)

        with common.cloned_sample():
            asset_uri = common.get_sample_uri("missing.png")
            with common.created_project_file(asset_uri) as uri:
                app.project_manager.load_project(uri)

        mainloop.run()
Beispiel #9
0
 def __set_source(self, source):
     if self.source:
         try:
             self.source.disconnect_by_func(self.__source_property_changed_cb)
             disconnectAllByFunc(self.source, self._control_bindings_changed)
         except TypeError:
             pass
     self.source = source
     if self.source:
         self.__update_control_bindings()
         for prop in self.spin_buttons:
             self.__update_spin_btn(prop)
         self.__update_keyframes_ui()
         self.source.connect("deep-notify", self.__source_property_changed_cb)
         self.source.connect("control-binding-added", self._control_bindings_changed)
         self.source.connect("control-binding-removed", self._control_bindings_changed)
Beispiel #10
0
 def __set_source(self, source):
     if self.source:
         try:
             self.source.disconnect_by_func(self.__source_property_changed_cb)
             disconnectAllByFunc(self.source, self._control_bindings_changed)
         except TypeError:
             pass
     self.source = source
     if self.source:
         self.__update_control_bindings()
         for prop in self.spin_buttons:
             self.__update_spin_btn(prop)
         self.__update_keyframes_ui()
         self.source.connect("deep-notify", self.__source_property_changed_cb)
         self.source.connect("control-binding-added", self._control_bindings_changed)
         self.source.connect("control-binding-removed", self._control_bindings_changed)
Beispiel #11
0
    def on_button_press(self):
        disconnectAllByFunc(self._source, self.__source_property_changed_cb)
        self.click_source_position = self.__get_source_position()
        self.__clicked_handle = None

        self.__action_log.begin("Video position change",
                                CommitTimelineFinalizingAction(
                                    self._source.get_timeline().get_parent()))
        if self.hovered_handle:
            self.hovered_handle.on_click()
            self.__clicked_handle = self.hovered_handle
        elif self.__box_hovered:
            self._select()
            self.stack.set_cursor("grabbing")
            self.stack.selected_overlay = self
        elif self._is_selected():
            self._deselect()
            self.hovered_handle = None
Beispiel #12
0
    def on_button_press(self):
        disconnectAllByFunc(self._source, self.__source_property_changed_cb)
        self.click_source_position = self.__get_source_position()
        self.__clicked_handle = None

        self.__action_log.begin(
            "Video position change",
            CommitTimelineFinalizingAction(
                self._source.get_timeline().get_parent()))
        if self.hovered_handle:
            self.hovered_handle.on_click()
            self.__clicked_handle = self.hovered_handle
        elif self.__box_hovered:
            self._select()
            self.stack.set_cursor("grabbing")
            self.stack.selected_overlay = self
        elif self._is_selected():
            self._deselect()
            self.hovered_handle = None
Beispiel #13
0
 def __parent_child_removed_cb(self, parent, child):
     project = self.timeline.app.project_manager.current_project
     if child == self.__videoflip:
         self.__videoflip = None
         self.__apply_new_size_if_needed(project)
         misc.disconnectAllByFunc(child, self.__videoflip_changed_cb)
Beispiel #14
0
 def release(self):
     misc.disconnectAllByFunc(self, self.__heightRequestCb)
     misc.disconnectAllByFunc(self, self.__gtkMotionEventCb)
     misc.disconnectAllByFunc(self, self.__controlSourceChangedCb)
Beispiel #15
0
    def __loading_failure(self, has_proxy):
        mainloop = GLib.MainLoop.new(None, False)

        app = common.getPitiviMock(
            settings={"lastProjectFolder": "/tmp",
                      "edgeSnapDeadband": 32})
        app.project_manager = ProjectManager(app)
        mainwindow = PitiviMainWindow(app)
        mainwindow.viewer = mock.MagicMock()

        def __pm_missing_uri_cb(project_manager, project,
                                error, asset):
            nonlocal mainloop
            nonlocal mainwindow
            nonlocal self
            nonlocal app
            nonlocal has_proxy

            with mock.patch('gi.repository.Gtk.Dialog') as dialog:
                failed_cb = mock.MagicMock()
                app.project_manager.connect("new-project-failed", failed_cb)

                dialog.return_value = mock.MagicMock()
                dialog.return_value.run = mock.MagicMock(
                    return_value=Gtk.ResponseType.CLOSE)

                # Call the actual callback
                # pylint: disable=protected-access
                app.proxy_manager.checkProxyLoadingSucceeded =  \
                    mock.MagicMock(return_value=has_proxy)

                mainwindow._projectManagerMissingUriCb(
                    project_manager, project, error, asset)

                self.assertTrue(dialog.called)
                self.assertTrue(dialog.return_value.run.called)
                self.assertEqual(failed_cb.called, not has_proxy)

            # pylint: disable=protected-access
            app.project_manager.connect("missing-uri",
                                        mainwindow._projectManagerMissingUriCb)
            # pylint: disable=protected-access
            app.project_manager.connect("new-project-failed",
                                        mainwindow._projectManagerNewProjectFailedCb)

            mainwindow.destroy()
            mainloop.quit()

        # pylint: disable=protected-access
        disconnectAllByFunc(app.project_manager,
                            mainwindow._projectManagerMissingUriCb)
        disconnectAllByFunc(app.project_manager,
                            mainwindow._projectManagerNewProjectFailedCb)

        app.project_manager.connect("missing-uri",
                                    __pm_missing_uri_cb)

        xges_path, uri = self.createTempProject()
        try:
            app.project_manager.loadProject(uri)
        finally:
            os.remove(xges_path)

        mainloop.run()
Beispiel #16
0
 def release(self):
     misc.disconnectAllByFunc(self, self.__heightRequestCb)
     misc.disconnectAllByFunc(self, self.__gtkMotionEventCb)
     misc.disconnectAllByFunc(self, self.__controlSourceChangedCb)
Beispiel #17
0
 def __parent_child_removed_cb(self, parent, child):
     project = self.timeline.app.project_manager.current_project
     if child == self.__videoflip:
         self.__videoflip = None
         self.__apply_new_size_if_needed(project)
         disconnectAllByFunc(child, self.__videoflip_changed_cb)