Example #1
0
 def _block_setting_signals(klass, signal_name, block=True):
     shell_settings = klass.get_shell_settings()
     for handler in klass._settings_signal_handlers.get(signal_name, []):
         if block:
             GObject.signal_handler_block(shell_settings, handler)
         else:
             GObject.signal_handler_unblock(shell_settings, handler)
Example #2
0
 def hide_search_box(self):
     if self.search_revealer.get_reveal_child():
         self.search_revealer.set_reveal_child(False)
         self.last_terminal_focused.grab_focus()
         self.last_terminal_focused.unselect_all()
         GObject.signal_handler_unblock(
             self.get_notebook(),
             self.get_notebook().notebook_on_button_press_id
         )
Example #3
0
 def _on_button_release(self, scale, event, player):
     GObject.signal_handler_block(self.scale, self.__id_value_changed)
     value = scale.get_value()
     if player.seekable and self.__pressed_lmb_scale_value != value:
         player.seek(value * 1000)
     GObject.signal_handler_unblock(self.scale, self.__id_change_value)
     self.__pressed_lmb = False
     GObject.signal_handler_unblock(
         self.scale, self.__id_button_press_event)
Example #4
0
 def update(self):
     for i, h in self.handlers_:
         GObject.signal_handler_block(i, h)
     s = self.camera_.get()
     for e, a, ie, ia in zip(self.ctrl_, self.auto_, s["vals"], s["auto"]):
         e.set_text("%d" % ie)
         if a:
             a.set_active(ia)
     for i, h in self.handlers_:
         GObject.signal_handler_unblock(i, h)
Example #5
0
 def show_search_box(self):
     if not self.search_revealer.get_reveal_child():
         GObject.signal_handler_block(self.search_revealer, self.search_revealer_show_cb_id)
         self.search_revealer.set_visible(True)
         self.search_revealer.set_reveal_child(True)
         GObject.signal_handler_unblock(self.search_revealer, self.search_revealer_show_cb_id)
         # XXX: Mestery line to avoid Gtk-CRITICAL stuff
         # (guake:22694): Gtk-CRITICAL **: 18:04:57.345:
         # gtk_widget_event: assertion 'WIDGET_REALIZED_FOR_EVENT (widget, event)' failed
         self.search_entry.realize()
         self.search_entry.grab_focus()
Example #6
0
    def on_audio_status(self, *volumes):
        volumes_json = "".join(volumes)
        volumes = json.loads(volumes_json)

        for source, volume in volumes.items():
            volume = 20.0 * math.log10(volume) if volume > 0 else -20.0
            slider, signal = self.volume_sliders[source]
            # Temporarily block the 'value-changed' signal,
            # so we don't (re)trigger it when receiving (our) changes
            GObject.signal_handler_block(slider, signal)
            slider.set_value(volume)
            GObject.signal_handler_unblock(slider, signal)
Example #7
0
 def resize_to_standard_width(self):
     if self.get_resizable():
         return  # only size to a specific em if we are a static size
     num_em = 33  # per SoftwareUpdates spec
     dpi = self.get_screen().get_resolution()
     if dpi <= 0:
         dpi = 96
     ctx = self.get_style_context()
     GObject.signal_handler_block(ctx, self.style_changed)
     size = ctx.get_property("font-size", Gtk.StateFlags.NORMAL)
     width = dpi / 72 * size * num_em
     self.set_size_request(width, -1)
     GObject.signal_handler_unblock(ctx, self.style_changed)
Example #8
0
    def _toggle_all_selection(self, selected):
        """
        Selects or unselects all items without sending the notify::active
        signal for performance purposes.
        """
        for child in self.view.get_children():
            GObject.signal_handler_block(child.check, child.check_handler_id)

            # Set the checkbutton state without emiting the signal
            child.check.set_active(selected)

            GObject.signal_handler_unblock(child.check, child.check_handler_id)

        self.update_header_from_selection(len(self.albums_selected))
def gobject_signal_blocked(gobject, signal_name):
	"""
	This is a context manager that can be used with the 'with' statement
	to execute a block of code while *signal_name* is blocked.

	:param gobject: The object to block the signal on.
	:type gobject: :py:class:`GObject.Object`
	:param str signal_name: The name of the signal to block.
	"""
	signal_id = GObject.signal_lookup(signal_name, gobject.__class__)
	handler_id = GObject.signal_handler_find(gobject, GObject.SignalMatchType.ID, signal_id, 0, None, 0, 0)
	GObject.signal_handler_block(gobject, handler_id)
	yield
	GObject.signal_handler_unblock(gobject, handler_id)
Example #10
0
    def _toggle_all_selection(self, selected):
        """
        Selects or unselects all items without sending the notify::active
        signal for performance purposes.
        """
        for child in self._view.get_children():
            GObject.signal_handler_block(child.check, child.check_handler_id)

            # Set the checkbutton state without emiting the signal
            child.check.set_active(selected)

            GObject.signal_handler_unblock(child.check, child.check_handler_id)

        self.update_header_from_selection(len(self.albums_selected))
Example #11
0
def gobject_signal_blocked(gobject, signal_name):
	"""
	This is a context manager that can be used with the 'with' statement
	to execute a block of code while *signal_name* is blocked.

	:param gobject: The object to block the signal on.
	:type gobject: :py:class:`GObject.Object`
	:param str signal_name: The name of the signal to block.
	"""
	signal_id = GObject.signal_lookup(signal_name, gobject.__class__)
	handler_id = GObject.signal_handler_find(gobject, GObject.SignalMatchType.ID, signal_id, 0, None, 0, 0)
	GObject.signal_handler_block(gobject, handler_id)
	yield
	GObject.signal_handler_unblock(gobject, handler_id)
Example #12
0
    def on_entry_changed(self, *args):
        entry = self.srvgui.get_widget('gtk_entry_collection_new')
        filter = entry.get_text()
        selection = self.treeview.get_selection()


        def gui_iterate_over_data(model, path, itr):
            title = self.sorted_model.get(itr, 2)[0]
            if len(filter) > 0:
                if filter.upper() in title.upper():
                    self.treeview.scroll_to_cell(path, self.column_title, True, 0.0, 0.0)
                    self.treeview.set_cursor_on_cell(path, self.column_title, self.renderer_title, False)
                else:
                    return

        GObject.signal_handler_block(self.selection, self.trv_signal_changed)
        self.sorted_model.foreach(gui_iterate_over_data)
        GObject.signal_handler_unblock(self.selection, self.trv_signal_changed)
Example #13
0
    def onInsertText(self, oWidget, strText, nLength, nPosition):

        strText = ''.join([s for s in strText if s not in '/\\'])
        nId, nDetail = GObject.signal_parse_name('insert-text', oWidget, True)

        if strText:

            nHandler = GObject.signal_handler_find(oWidget,
                                                   GObject.SignalMatchType.ID,
                                                   nId, nDetail, None, 0, 0)
            nPosition = oWidget.get_position()

            GObject.signal_handler_block(oWidget, nHandler)
            oWidget.insert_text(strText, nPosition)
            GObject.signal_handler_unblock(oWidget, nHandler)
            GObject.idle_add(oWidget.set_position, nPosition + len(strText))

        GObject.signal_stop_emission(oWidget, nId, nDetail)
Example #14
0
    def on_refresh_ui(self, data):
        if self.state < Gst.State.PAUSED:
            return True

        if self.duration == Gst.CLOCK_TIME_NONE:
            ret, self.duration = self.player.query_duration(Gst.Format.TIME)
            if ret:
                self.slider.set_range(0, self.duration / Gst.SECOND)
            else:
                print("Could not query current duration.")

        ret, pos = self.player.query_position(Gst.Format.TIME)
        if ret:
            GObject.signal_handler_block(self.slider,
                                         self.slider_update_sig_id)
            self.slider.set_value(pos / Gst.SECOND)
            GObject.signal_handler_unblock(self.slider,
                                           self.slider_update_sig_id)

        return True
Example #15
0
    def on_refresh_ui(self, data):
        if self.state < Gst.State.PAUSED :
            return True

        if self.duration == Gst.CLOCK_TIME_NONE :
            ret, self.duration = self.player.query_duration(Gst.Format.TIME)
            if ret:
                self.slider.set_range(0, self.duration/Gst.SECOND)
            else:
                print("Could not query current duration.")

        ret, pos = self.player.query_position(Gst.Format.TIME)
        if ret:
            GObject.signal_handler_block(self.slider,
                                         self.slider_update_sig_id)
            self.slider.set_value(pos/Gst.SECOND)
            GObject.signal_handler_unblock(self.slider,
                                           self.slider_update_sig_id)

        return True
Example #16
0
File: cols.py Project: t00m/Basico
    def on_entry_changed(self, *args):
        entry = self.srvgui.get_widget('gtk_entry_collection_new')
        filter = entry.get_text()
        selection = self.treeview.get_selection()

        # ~ self.visible_filter.refilter()

        def gui_iterate_over_data(model, path, itr):
            title = self.sorted_model.get(itr, 2)[0]
            if len(filter) > 0:
                if filter.upper() in title.upper():
                    self.treeview.scroll_to_cell(path, self.column_title, True,
                                                 0.0, 0.0)
                    self.treeview.set_cursor_on_cell(path, self.column_title,
                                                     self.renderer_title,
                                                     False)
                else:
                    return

        GObject.signal_handler_block(self.selection, self.trv_signal_changed)
        self.sorted_model.foreach(gui_iterate_over_data)
        GObject.signal_handler_unblock(self.selection, self.trv_signal_changed)
Example #17
0
    def change_color(self, rgb):
        """Refresh preview and set values of all fields.
        :param rgb: rgb color values
        :type rgb: tuple
        """

        rgba = Gdk.RGBA()
        rgba.parse("rgb({},{},{})".format(*rgb))
        self.square.override_background_color(Gtk.StateType.NORMAL, rgba)

        GObject.signal_handler_block(self.spinbutton_r, self.red_sb_id)
        self.spinbutton_r.set_value(rgb[0])
        GObject.signal_handler_unblock(self.spinbutton_r, self.red_sb_id)
        GObject.signal_handler_block(self.slider_r, self.red_s_id)
        self.slider_r.set_value(rgb[0])
        GObject.signal_handler_unblock(self.slider_r, self.red_s_id)

        GObject.signal_handler_block(self.spinbutton_g, self.green_sb_id)
        self.spinbutton_g.set_value(rgb[1])
        GObject.signal_handler_unblock(self.spinbutton_g, self.green_sb_id)
        GObject.signal_handler_block(self.slider_g, self.green_s_id)
        self.slider_g.set_value(rgb[1])
        GObject.signal_handler_unblock(self.slider_g, self.green_s_id)

        GObject.signal_handler_block(self.spinbutton_b, self.blue_sb_id)
        self.spinbutton_b.set_value(rgb[2])
        GObject.signal_handler_unblock(self.spinbutton_b, self.blue_sb_id)
        GObject.signal_handler_block(self.slider_b, self.blue_s_id)
        self.slider_b.set_value(rgb[2])
        GObject.signal_handler_unblock(self.slider_b, self.blue_s_id)

        GObject.signal_handler_block(self.output, self.output_id)
        self.output.set_text(rgb_to_hex(rgb))
        GObject.signal_handler_unblock(self.output, self.output_id)

        self.rgb_color = rgb
        self.change_output()
Example #18
0
 def set_active(active):
     GObject.signal_handler_block(self.visible_check, handler)
     self.visible_check.set_active(active)
     GObject.signal_handler_unblock(self.visible_check, handler)
Example #19
0
 def set_active(active):
     GObject.signal_handler_block(self.visible_check, handler)
     self.visible_check.set_active(active)
     GObject.signal_handler_unblock(self.visible_check, handler)
Example #20
0
 def unblock_notebook_on_button_press_id(self):
     GObject.signal_handler_unblock(
         self.get_notebook(),
         self.get_notebook().notebook_on_button_press_id)
def gobject_signal_blocked(gobject, signal_name):
	signal_id = GObject.signal_lookup(signal_name, gobject.__class__)
	handler_id = GObject.signal_handler_find(gobject, GObject.SignalMatchType.ID, signal_id, 0, None, 0, 0)
	GObject.signal_handler_block(gobject, handler_id)
	yield
	GObject.signal_handler_unblock(gobject, handler_id)
Example #22
0
File: boxes.py Project: Guake/guake
 def unblock_notebook_on_button_press_id(self):
     GObject.signal_handler_unblock(
         self.get_notebook(),
         self.get_notebook().notebook_on_button_press_id
     )
Example #23
0
 def _on_button_press(self, scale, event, player):
     GObject.signal_handler_block(self.scale, self.__id_button_press_event)
     self.__pressed_lmb = True
     GObject.signal_handler_unblock(self.scale, self.__id_value_changed)
     GObject.signal_handler_block(self.scale, self.__id_change_value)
     self.__pressed_lmb_scale_value = scale.get_value()