Example #1
0
    def __init__(self, device, parent, gconf_client):
        self.gconf_client = gconf_client
        self.device = device

        g15locale.get_translation("driver_g15direct")
        widget_tree = gtk.Builder()
        widget_tree.set_translation_domain("driver_g15direct")
        widget_tree.add_from_file(
            os.path.join(g15globals.ui_dir, "driver_g15direct.ui"))
        self.window = widget_tree.get_object("G15DirectDriverSettings")
        self.window.set_transient_for(parent)

        g15uigconf.configure_spinner_from_gconf(
            gconf_client, "/apps/gnome15/%s/timeout" % device.uid, "Timeout",
            10000, widget_tree, False)
        if not device.model_id == g15driver.MODEL_G13:
            widget_tree.get_object("JoyModeCombo").destroy()
            widget_tree.get_object("JoyModeLabel").destroy()
            widget_tree.get_object("Offset").destroy()
            widget_tree.get_object("OffsetLabel").destroy()
            widget_tree.get_object("OffsetDescription").destroy()
        else:
            g15uigconf.configure_combo_from_gconf(
                gconf_client, "/apps/gnome15/%s/joymode" % device.uid,
                "JoyModeCombo", "macro", widget_tree)
            # We have separate offset values for digital / analogue,
            # so swap between them based on configuration
            self.offset_widget = widget_tree.get_object("Offset")
            self._set_offset_depending_on_mode(None)
            widget_tree.get_object("JoyModeCombo").connect(
                "changed", self._set_offset_depending_on_mode)
            self.offset_widget.connect("value-changed", self._spinner_changed)
Example #2
0
def show_preferences(device, parent, gconf_client):
    widget_tree = gtk.Builder()
    widget_tree.add_from_file(os.path.join(g15globals.ui_dir, "driver_g15.ui"))
    g15uigconf.configure_spinner_from_gconf(
        gconf_client, "/apps/gnome15/%s/g15daemon_port" % device.uid, "Port",
        DEFAULT_PORT, widget_tree, False)
    return widget_tree.get_object("DriverComponent")
Example #3
0
    def __init__(self, device, parent, gconf_client):
        g15locale.get_translation("driver_g19direct")
        widget_tree = gtk.Builder()
        widget_tree.set_translation_domain("driver_g19direct")
        widget_tree.add_from_file(os.path.join(g15globals.ui_dir, "driver_g19direct.ui"))
        self.window = widget_tree.get_object("G19DirectDriverSettings")
        self.window.set_transient_for(parent)

        g15uigconf.configure_checkbox_from_gconf(gconf_client,
                                                 "/apps/gnome15/%s/reset_usb" % device.uid,
                                                 "Reset",
                                                 False,
                                                 widget_tree,
                                                 True)
        g15uigconf.configure_spinner_from_gconf(gconf_client,
                                                "/apps/gnome15/%s/timeout" % device.uid,
                                                "Timeout",
                                                10000,
                                                widget_tree,
                                                False)
        g15uigconf.configure_spinner_from_gconf(gconf_client,
                                                "/apps/gnome15/%s/reset_wait" % device.uid,
                                                "ResetWait",
                                                0,
                                                widget_tree,
                                                False)
Example #4
0
    def __init__(self, parent, driver, gconf_client, gconf_key):
        self.gconf_client = gconf_client
        self.gconf_key = gconf_key
        widget_tree = gtk.Builder()
        widget_tree.add_from_file(
            os.path.join(os.path.dirname(__file__), "lcdshot.ui"))
        dialog = widget_tree.get_object("LCDShotDialog")
        dialog.set_transient_for(parent)
        chooser = gtk.FileChooserDialog("Open..", None,
                                        gtk.FILE_CHOOSER_ACTION_SELECT_FOLDER,
                                        (gtk.STOCK_CANCEL, gtk.RESPONSE_CANCEL,
                                         gtk.STOCK_OPEN, gtk.RESPONSE_OK))
        chooser.set_default_response(gtk.RESPONSE_OK)
        chooser_button = widget_tree.get_object("FileChooserButton")
        chooser_button.dialog = chooser
        chooser_button.connect("file-set", self._file_set)
        chooser_button.connect("file-activated", self._file_activated)
        chooser_button.connect("current-folder-changed", self._file_activated)
        bg_img = g15gconf.get_string_or_default(
            self.gconf_client, "%s/folder" % self.gconf_key,
            os.path.expanduser("~/Desktop"))
        chooser_button.set_current_folder(bg_img)

        # Reset the value of the mode setting to 'still' if mencoder is not installed
        mencoder_is_installed = g15os.is_program_in_path('mencoder')
        if not mencoder_is_installed:
            gconf_client.set_string("%s/mode" % self.gconf_key, "still")

        # Initialize the mode combobox content
        modes = widget_tree.get_object("ModeModel")
        modes.clear()
        modes.append(('still', 'Still', True))
        modes.append(('video', 'Video', mencoder_is_installed))

        # Display a warning message to the user if mencoder is not installed
        warning = widget_tree.get_object("NoVideoMessage")
        warning.set_visible(not mencoder_is_installed)

        g15uigconf.configure_combo_from_gconf(self.gconf_client,
                                              "%s/mode" % self.gconf_key,
                                              "Mode", "still", widget_tree)
        mode = widget_tree.get_object("Mode")
        mode.connect("changed", self._mode_changed)

        g15uigconf.configure_spinner_from_gconf(self.gconf_client,
                                                "%s/fps" % gconf_key, "FPS",
                                                10, widget_tree, False)
        self._spinner = widget_tree.get_object("FPS")
        self._mode_changed(mode)

        dialog.run()
        dialog.hide()
Example #5
0
def show_preferences(parent, driver, gconf_client, gconf_key):
    widget_tree = gtk.Builder()
    widget_tree.add_from_file(os.path.join(os.path.dirname(__file__), "impulse15.ui"))
    
    dialog = widget_tree.get_object("ImpulseDialog")
    dialog.set_transient_for(parent)
    
    # Set up the audio source model  
    audio_source_model = widget_tree.get_object("AudioSourceModel")
    status, output = g15os.get_command_output("pacmd list-sources")
    source_name = "0"
    if status == 0 and len(output) > 0:
        i = 0
        for line in output.split("\n"):
            line = line.strip()
            if line.startswith("index: "):
                i = int(line[7:])
                source_name = str(i)
            elif line.startswith("name: "):
                source_name = line[7:-1]
            elif line.startswith("device.description = "):
                audio_source_model.append((source_name, line[22:-1]))
    else:
        for i in range(0, 9):
            audio_source_model.append((str(i), "Source %d" % i))

    g15uigconf.configure_checkbox_from_gconf(gconf_client, gconf_key + "/disco", "Disco", False, widget_tree)
    g15uigconf.configure_checkbox_from_gconf(gconf_client, gconf_key + "/animate_mkeys", "AnimateMKeys", False, widget_tree)
    g15uigconf.configure_combo_from_gconf(gconf_client, gconf_key + "/mode", "ModeCombo", "spectrum", widget_tree)
    g15uigconf.configure_combo_from_gconf(gconf_client, gconf_key + "/paint", "PaintCombo", "screen", widget_tree)
    g15uigconf.configure_spinner_from_gconf(gconf_client, gconf_key + "/bars", "BarsSpinner", 16, widget_tree)
    g15uigconf.configure_combo_from_gconf(gconf_client, gconf_key + "/audio_source_name", "AudioSource", source_name, widget_tree)
    g15uigconf.configure_spinner_from_gconf(gconf_client, gconf_key + "/bar_width", "BarWidthSpinner", 16, widget_tree)
    g15uigconf.configure_spinner_from_gconf(gconf_client, gconf_key + "/spacing", "SpacingSpinner", 0, widget_tree)
    g15uigconf.configure_spinner_from_gconf(gconf_client, gconf_key + "/rows", "RowsSpinner", 16, widget_tree)
    g15uigconf.configure_spinner_from_gconf(gconf_client, gconf_key + "/bar_height", "BarHeightSpinner", 2, widget_tree)
    g15uigconf.configure_colorchooser_from_gconf(gconf_client, gconf_key + "/col1", "Color1", ( 255, 0, 0 ), widget_tree, default_alpha = 255)
    g15uigconf.configure_colorchooser_from_gconf(gconf_client, gconf_key + "/col2", "Color2", ( 0, 0, 255 ), widget_tree, default_alpha = 255)
    g15uigconf.configure_adjustment_from_gconf(gconf_client, gconf_key + "/frame_rate", "FrameRateAdjustment", 10.0, widget_tree)
    g15uigconf.configure_adjustment_from_gconf(gconf_client, gconf_key + "/gain", "GainAdjustment", 1.0, widget_tree)
    
    if driver.get_bpp() == 0:
        widget_tree.get_object("LCDTable").set_visible(False)

    
    dialog.run()
    dialog.hide() 
Example #6
0
    def __init__(self, parent, driver, gconf_client, gconf_key):
        self.gconf_client = gconf_client
        self.gconf_key = gconf_key
        widget_tree = gtk.Builder()
        widget_tree.add_from_file(os.path.join(os.path.dirname(__file__), "lcdshot.ui"))
        dialog = widget_tree.get_object("LCDShotDialog")
        dialog.set_transient_for(parent)        
        chooser = gtk.FileChooserDialog("Open..",
                               None,
                               gtk.FILE_CHOOSER_ACTION_SELECT_FOLDER,
                               (gtk.STOCK_CANCEL, gtk.RESPONSE_CANCEL,
                                gtk.STOCK_OPEN, gtk.RESPONSE_OK))
        chooser.set_default_response(gtk.RESPONSE_OK)
        chooser_button = widget_tree.get_object("FileChooserButton")        
        chooser_button.dialog = chooser 
        chooser_button.connect("file-set", self._file_set)
        chooser_button.connect("file-activated", self._file_activated)
        chooser_button.connect("current-folder-changed", self._file_activated)
        bg_img = g15gconf.get_string_or_default(self.gconf_client, "%s/folder" % self.gconf_key, os.path.expanduser("~/Desktop"))
        chooser_button.set_current_folder(bg_img)

        # Reset the value of the mode setting to 'still' if mencoder is not installed
        mencoder_is_installed = g15os.is_program_in_path('mencoder')
        if not mencoder_is_installed:
            gconf_client.set_string("%s/mode" % self.gconf_key, "still")

        # Initialize the mode combobox content
        modes = widget_tree.get_object("ModeModel")
        modes.clear()
        modes.append(('still','Still', True))
        modes.append(('video','Video', mencoder_is_installed))

        # Display a warning message to the user if mencoder is not installed
        warning = widget_tree.get_object("NoVideoMessage")
        warning.set_visible(not mencoder_is_installed)

        g15uigconf.configure_combo_from_gconf(self.gconf_client, "%s/mode" % self.gconf_key, "Mode", "still", widget_tree)
        mode = widget_tree.get_object("Mode")
        mode.connect("changed", self._mode_changed)

        g15uigconf.configure_spinner_from_gconf(self.gconf_client, "%s/fps" % gconf_key, "FPS", 10, widget_tree, False)
        self._spinner = widget_tree.get_object("FPS")
        self._mode_changed(mode)

        dialog.run()
        dialog.hide()
Example #7
0
    def __init__(self, device, parent, gconf_client):
        g15locale.get_translation("driver_g19direct")
        widget_tree = gtk.Builder()
        widget_tree.set_translation_domain("driver_g19direct")
        widget_tree.add_from_file(
            os.path.join(g15globals.ui_dir, "driver_g19direct.ui"))
        self.window = widget_tree.get_object("G19DirectDriverSettings")
        self.window.set_transient_for(parent)

        g15uigconf.configure_checkbox_from_gconf(
            gconf_client, "/apps/gnome15/%s/reset_usb" % device.uid, "Reset",
            False, widget_tree, True)
        g15uigconf.configure_spinner_from_gconf(
            gconf_client, "/apps/gnome15/%s/timeout" % device.uid, "Timeout",
            10000, widget_tree, False)
        g15uigconf.configure_spinner_from_gconf(
            gconf_client, "/apps/gnome15/%s/reset_wait" % device.uid,
            "ResetWait", 0, widget_tree, False)
Example #8
0
    def __init__(self, device, parent, gconf_client):
        self.gconf_client = gconf_client
        self.device = device

        g15locale.get_translation("driver_g15direct")
        widget_tree = gtk.Builder()
        widget_tree.set_translation_domain("driver_g15direct")
        widget_tree.add_from_file(os.path.join(g15globals.ui_dir, "driver_g15direct.ui"))
        self.window = widget_tree.get_object("G15DirectDriverSettings")
        self.window.set_transient_for(parent)

        g15uigconf.configure_spinner_from_gconf(gconf_client,
                                                "/apps/gnome15/%s/timeout" % device.uid,
                                                "Timeout",
                                                10000,
                                                widget_tree,
                                                False)
        if not device.model_id == g15driver.MODEL_G13:
            widget_tree.get_object("JoyModeCombo").destroy()
            widget_tree.get_object("JoyModeLabel").destroy()
            widget_tree.get_object("Offset").destroy()
            widget_tree.get_object("OffsetLabel").destroy()
            widget_tree.get_object("OffsetDescription").destroy()
        else:
            g15uigconf.configure_combo_from_gconf(gconf_client,
                                                  "/apps/gnome15/%s/joymode" % device.uid,
                                                  "JoyModeCombo",
                                                  "macro",
                                                  widget_tree)
            # We have separate offset values for digital / analogue,
            # so swap between them based on configuration
            self.offset_widget = widget_tree.get_object("Offset")
            self._set_offset_depending_on_mode(None)
            widget_tree.get_object("JoyModeCombo").connect("changed",
                                                           self._set_offset_depending_on_mode)
            self.offset_widget.connect("value-changed", self._spinner_changed)
Example #9
0
    def __init__(self, parent, driver, gconf_client, gconf_key):
        widget_tree = gtk.Builder()
        widget_tree.add_from_file(os.path.join(os.path.dirname(__file__), "stopwatch.ui"))

        self.dialog = widget_tree.get_object("StopwatchDialog")
        self.dialog.set_transient_for(parent)

        # Timer 1 settings
        g15uigconf.configure_checkbox_from_gconf(gconf_client, gconf_key + "/timer1_enabled",  "cb_timer1_enabled", False, widget_tree, True)

        timer1_label = widget_tree.get_object("e_timer1_label")
        timer1_label.set_text(gconf_client.get_string(gconf_key + "/timer1_label") or "")
        timer1_label.connect("changed", self._label_changed, gconf_key + "/timer1_label", gconf_client)

        g15uigconf.configure_checkbox_from_gconf(gconf_client, gconf_key + "/timer1_mode_stopwatch", "rb_timer1_stopwatch_mode", True, widget_tree, True)
        rb_timer1_stopwatch = widget_tree.get_object("rb_timer1_stopwatch_mode")
        rb_timer1_stopwatch.connect("clicked", self._timer_timer_mode, widget_tree, "1", False)
        g15uigconf.configure_checkbox_from_gconf(gconf_client, gconf_key + "/timer1_mode_countdown", "rb_timer1_countdown_mode", False, widget_tree, True)
        rb_timer1_countdown = widget_tree.get_object("rb_timer1_countdown_mode")
        rb_timer1_countdown.connect("clicked", self._timer_timer_mode, widget_tree, "1", True)

        g15uigconf.configure_spinner_from_gconf(gconf_client, gconf_key + "/timer1_hours", "sb_timer1_hours", 0, widget_tree, False)
        g15uigconf.configure_spinner_from_gconf(gconf_client, gconf_key + "/timer1_minutes", "sb_timer1_minutes", 5, widget_tree, False)
        g15uigconf.configure_spinner_from_gconf(gconf_client, gconf_key + "/timer1_seconds", "sb_timer1_seconds", 0, widget_tree, False)

        g15uigconf.configure_checkbox_from_gconf(gconf_client, gconf_key + "/timer1_loop", "cb_timer1_loop", False, widget_tree, True)

        # Timer 2 settings
        g15uigconf.configure_checkbox_from_gconf(gconf_client, gconf_key + "/timer2_enabled", "cb_timer2_enabled", False, widget_tree, True)

        timer2_label = widget_tree.get_object("e_timer2_label")
        timer2_label.set_text(gconf_client.get_string(gconf_key + "/timer2_label") or "")
        timer2_label.connect("changed", self._label_changed, gconf_key + "/timer2_label", gconf_client)

        g15uigconf.configure_checkbox_from_gconf(gconf_client, gconf_key + "/timer2_mode_stopwatch", "rb_timer2_stopwatch_mode", True, widget_tree, True)
        rb_timer2_stopwatch = widget_tree.get_object("rb_timer2_stopwatch_mode")
        rb_timer2_stopwatch.connect("clicked", self._timer_timer_mode, widget_tree, "2", False)

        g15uigconf.configure_checkbox_from_gconf(gconf_client, gconf_key + "/timer2_mode_countdown", "rb_timer2_countdown_mode", False, widget_tree, True)
        rb_timer2_countdown = widget_tree.get_object("rb_timer2_countdown_mode")
        rb_timer2_countdown.connect("clicked", self._timer_timer_mode, widget_tree, "2", True)

        g15uigconf.configure_spinner_from_gconf(gconf_client, gconf_key + "/timer2_hours", "sb_timer2_hours", 0, widget_tree, False)
        g15uigconf.configure_spinner_from_gconf(gconf_client, gconf_key + "/timer2_minutes", "sb_timer2_minutes", 5, widget_tree, False)
        g15uigconf.configure_spinner_from_gconf(gconf_client, gconf_key + "/timer2_seconds", "sb_timer2_seconds", 0, widget_tree, False)

        g15uigconf.configure_checkbox_from_gconf(gconf_client, gconf_key + "/timer2_loop", "cb_timer2_loop", False, widget_tree, True)
        g15uigconf.configure_checkbox_from_gconf(gconf_client, gconf_key + "/keep_page_visible", "cb_keep_page_visible", True, widget_tree, True)

        # Refresh UI state
        self._timer_timer_mode(None, widget_tree, "1", rb_timer1_countdown.get_active())
        self._timer_timer_mode(None, widget_tree, "2", rb_timer2_countdown.get_active())
Example #10
0
def show_preferences(device, parent, gconf_client):
    widget_tree = gtk.Builder()
    widget_tree.add_from_file(os.path.join(g15globals.ui_dir, "driver_g15.ui"))
    g15uigconf.configure_spinner_from_gconf(gconf_client, "/apps/gnome15/%s/g15daemon_port" % device.uid, "Port", DEFAULT_PORT, widget_tree, False)
    return widget_tree.get_object("DriverComponent")