def setUp(self): self._num_failures = len(getattr(self._result, 'failures', [])) self._num_errors = len(getattr(self._result, 'errors', [])) if detect_leaks: self.gctrack() self.__zoom_level = Zoomable.getCurrentZoomLevel() # TODO: Get rid of Previewer.manager. assert hasattr(Previewer, "manager") Previewer.manager = PreviewGeneratorManager()
def _zoomSliderScrollCb(self, unused, event): delta = 0 if event.direction in [Gdk.ScrollDirection.UP, Gdk.ScrollDirection.RIGHT]: delta = 1 elif event.direction in [Gdk.ScrollDirection.DOWN, Gdk.ScrollDirection.LEFT]: delta = -1 elif event.direction in [Gdk.ScrollDirection.SMOOTH]: unused_res, delta_x, delta_y = event.get_scroll_deltas() if delta_x: delta = math.copysign(1, delta_x) elif delta_y: delta = math.copysign(1, -delta_y) if delta: Zoomable.setZoomLevel(Zoomable.getCurrentZoomLevel() + delta)
def setUp(self): # TODO: Get rid of Zoomable._instances. from pitivi.utils.timeline import Zoomable del Zoomable._instances[:] self._num_failures = len(getattr(self._result, 'failures', [])) self._num_errors = len(getattr(self._result, 'errors', [])) if detect_leaks: self.gctrack() self.__zoom_level = Zoomable.getCurrentZoomLevel() # TODO: Get rid of Previewer.manager. assert hasattr(Previewer, "manager") Previewer.manager = PreviewGeneratorManager()
def __init__(self, timeline): Gtk.Grid.__init__(self) Zoomable.__init__(self) self._manual_set = False self.timeline = timeline zoom_fit_btn = Gtk.Button() zoom_fit_btn.set_relief(Gtk.ReliefStyle.NONE) zoom_fit_btn.set_tooltip_text(_("Zoom Fit")) zoom_fit_btn_grid = Gtk.Grid() zoom_fit_icon = Gtk.Image.new_from_icon_name( "zoom-best-fit", Gtk.IconSize.BUTTON) zoom_fit_btn_grid.add(zoom_fit_icon) zoom_fit_btn_label = Gtk.Label(label=_("Zoom")) zoom_fit_btn_grid.add(zoom_fit_btn_label) zoom_fit_btn_grid.set_column_spacing(SPACING / 2) zoom_fit_btn.add(zoom_fit_btn_grid) zoom_fit_btn.connect("clicked", self._zoomFitCb) self.attach(zoom_fit_btn, 0, 0, 1, 1) # zooming slider self._zoomAdjustment = Gtk.Adjustment() self._zoomAdjustment.props.lower = 0 self._zoomAdjustment.props.upper = Zoomable.zoom_steps zoomslider = Gtk.Scale.new( Gtk.Orientation.HORIZONTAL, adjustment=self._zoomAdjustment) # Setting _zoomAdjustment's value must be done after we create the # zoom slider, otherwise the slider remains at the leftmost position. self._zoomAdjustment.set_value(Zoomable.getCurrentZoomLevel()) zoomslider.props.draw_value = False zoomslider.connect("scroll-event", self._zoomSliderScrollCb) zoomslider.connect("value-changed", self._zoomAdjustmentChangedCb) zoomslider.connect("query-tooltip", self._sliderTooltipCb) zoomslider.set_has_tooltip(True) # At least 100px wide for precision zoomslider.set_size_request(100, 0) zoomslider.set_hexpand(True) self.attach(zoomslider, 1, 0, 1, 1) # Empty label so we have some spacing at the right of the zoomslider self.attach(Gtk.Label(label=""), 2, 0, 1, 1) self.set_hexpand(False) self.set_column_spacing(ZOOM_SLIDER_PADDING) self.set_size_request(CONTROL_WIDTH, -1) self.show_all()
def __init__(self, timeline): Gtk.Grid.__init__(self) Zoomable.__init__(self) self._manual_set = False self.timeline = timeline zoom_fit_btn = Gtk.Button() zoom_fit_btn.set_relief(Gtk.ReliefStyle.NONE) zoom_fit_btn.set_tooltip_text(_("Zoom Fit")) zoom_fit_btn_grid = Gtk.Grid() zoom_fit_icon = Gtk.Image.new_from_icon_name("zoom-fit-best", Gtk.IconSize.BUTTON) zoom_fit_btn_grid.add(zoom_fit_icon) zoom_fit_btn_label = Gtk.Label(label=_("Zoom")) zoom_fit_btn_grid.add(zoom_fit_btn_label) zoom_fit_btn_grid.set_column_spacing(SPACING / 2) zoom_fit_btn.add(zoom_fit_btn_grid) zoom_fit_btn.connect("clicked", self._zoomFitCb) self.attach(zoom_fit_btn, 0, 0, 1, 1) # zooming slider self._zoomAdjustment = Gtk.Adjustment() self._zoomAdjustment.props.lower = 0 self._zoomAdjustment.props.upper = Zoomable.zoom_steps zoomslider = Gtk.Scale.new(Gtk.Orientation.HORIZONTAL, adjustment=self._zoomAdjustment) # Setting _zoomAdjustment's value must be done after we create the # zoom slider, otherwise the slider remains at the leftmost position. self._zoomAdjustment.set_value(Zoomable.getCurrentZoomLevel()) zoomslider.props.draw_value = False zoomslider.connect("scroll-event", self._zoomSliderScrollCb) zoomslider.connect("value-changed", self._zoomAdjustmentChangedCb) zoomslider.connect("query-tooltip", self._sliderTooltipCb) zoomslider.set_has_tooltip(True) # At least 100px wide for precision zoomslider.set_size_request(100, 0) zoomslider.set_hexpand(True) self.attach(zoomslider, 1, 0, 1, 1) # Empty label so we have some spacing at the right of the zoomslider self.attach(Gtk.Label(label=""), 2, 0, 1, 1) self.set_hexpand(False) self.set_column_spacing(ZOOM_SLIDER_PADDING) self.show_all()
def __init__(self, timeline): """ This will hold the widgets responsible for zooming. """ Gtk.HBox.__init__(self) Zoomable.__init__(self) self.timeline = timeline zoom_fit_btn = Gtk.Button() zoom_fit_btn.set_relief(Gtk.ReliefStyle.NONE) zoom_fit_btn.set_tooltip_text(ZOOM_FIT) zoom_fit_icon = Gtk.Image() zoom_fit_icon.set_from_stock(Gtk.STOCK_ZOOM_FIT, Gtk.IconSize.BUTTON) zoom_fit_btn_hbox = Gtk.HBox() zoom_fit_btn_hbox.pack_start(zoom_fit_icon, False, True, 0) zoom_fit_btn_hbox.pack_start(Gtk.Label(_("Zoom")), False, True, 0) zoom_fit_btn.add(zoom_fit_btn_hbox) zoom_fit_btn.connect("clicked", self._zoomFitCb) self.pack_start(zoom_fit_btn, False, True, 0) # zooming slider self._zoomAdjustment = Gtk.Adjustment() self._zoomAdjustment.set_value(Zoomable.getCurrentZoomLevel()) self._zoomAdjustment.connect("value-changed", self._zoomAdjustmentChangedCb) self._zoomAdjustment.props.lower = 0 self._zoomAdjustment.props.upper = Zoomable.zoom_steps zoomslider = Gtk.Scale.new(Gtk.Orientation.HORIZONTAL, adjustment=self._zoomAdjustment) zoomslider.props.draw_value = False zoomslider.set_tooltip_text(_("Zoom Timeline")) zoomslider.connect("scroll-event", self._zoomSliderScrollCb) zoomslider.set_size_request(100, 0) # At least 100px wide for precision self.pack_start(zoomslider, True, True, 0) self.show_all() self._updateZoomSlider = True
def __init__(self, timeline): """ This will hold the widgets responsible for zooming. """ Gtk.HBox.__init__(self) Zoomable.__init__(self) self.timeline = timeline zoom_fit_btn = Gtk.Button() zoom_fit_btn.set_relief(Gtk.ReliefStyle.NONE) zoom_fit_btn.set_tooltip_text(ZOOM_FIT) zoom_fit_icon = Gtk.Image.new_from_icon_name("zoom-best-fit", Gtk.IconSize.BUTTON) zoom_fit_btn_hbox = Gtk.HBox() zoom_fit_btn_hbox.pack_start(zoom_fit_icon, expand=False, fill=True, padding=0) zoom_fit_btn_hbox.pack_start(Gtk.Label(label=_("Zoom")), expand=False, fill=True, padding=0) zoom_fit_btn.add(zoom_fit_btn_hbox) zoom_fit_btn.connect("clicked", self._zoomFitCb) self.pack_start(zoom_fit_btn, expand=False, fill=True, padding=0) # zooming slider self._zoomAdjustment = Gtk.Adjustment() self._zoomAdjustment.props.lower = 0 self._zoomAdjustment.props.upper = Zoomable.zoom_steps zoomslider = Gtk.Scale.new(Gtk.Orientation.HORIZONTAL, adjustment=self._zoomAdjustment) # Setting _zoomAdjustment's value must be done after we create the # zoom slider, otherwise the slider remains at the leftmost position. self._zoomAdjustment.set_value(Zoomable.getCurrentZoomLevel()) self._zoomAdjustment.connect("value-changed", self._zoomAdjustmentChangedCb) zoomslider.props.draw_value = False zoomslider.set_tooltip_text(_("Zoom Timeline")) zoomslider.connect("scroll-event", self._zoomSliderScrollCb) zoomslider.set_size_request(100, 0) # At least 100px wide for precision self.pack_start(zoomslider, expand=True, fill=True, padding=ZOOM_SLIDER_PADDING) self.set_size_request(CONTROL_WIDTH, -1) self.show_all() self._updateZoomSlider = True