def _build_daap_section(self, bottom): label = self.build_header( _("%(shortappname)s Sharing", self.trans_data)) bottom.pack_start( widgetutil.align_left(label, left_pad=20, bottom_pad=10)) # Note: "Miro iPad app" is the name of a piece of software-- # don't substitute Miro for %(appname)s here. label = widgetset.Label( _( "%(shortappname)s can stream and download files to and from " "other %(shortappname)ss on your local network and to the " "Miro iPad app. It's awesome!", self.trans_data)) label.set_size(self.TEXT_SIZE) label.set_color(self.TEXT_COLOR) label.set_wrap(True) label.set_size_request(550, -1) bottom.pack_start( widgetutil.align_left(label, left_pad=20, bottom_pad=20)) if not app.sharing_manager.mdns_present: label = widgetset.Label(_("Disabled: Needs Bonjour")) label.set_bold(True) bottom.pack_start( widgetutil.align_left(label, left_pad=20, bottom_pad=20, top_pad=10)) return container = widgetset.HBox() self.share_button = PrettyToggleButton() self.share_button.connect('clicked', self.daap_changed) self.share_button.connect('dragged-left', self.daap_changed) self.share_button.connect('dragged-right', self.daap_changed) self.share_button.set_value(app.config.get(prefs.SHARE_MEDIA)) container.pack_start(widgetutil.pad(self.share_button, right=20)) vbox = widgetset.VBox() hbox = widgetset.HBox(spacing=30) self.share_audio_cbx = widgetset.Checkbox(_("Share Music"), bold=True) self.share_video_cbx = widgetset.Checkbox(_("Share Videos"), bold=True) self.share_warnonquit_cbx = widgetset.Checkbox( _('Warn on quit when others are connected to my media library.')) hbox.pack_start(widgetutil.align_top(self.share_video_cbx)) hbox.pack_start(widgetutil.align_top(self.share_audio_cbx)) prefpanel.attach_boolean(self.share_audio_cbx, prefs.SHARE_AUDIO) prefpanel.attach_boolean(self.share_video_cbx, prefs.SHARE_VIDEO) vbox.pack_start(hbox) label = widgetset.Label( _("My %(shortappname)s Share Name", self.trans_data)) label.set_bold(True) vbox.pack_start(widgetutil.align_left(label, top_pad=15, bottom_pad=5)) hbox = widgetset.HBox() self.share_entry = widgetset.TextEntry() self.share_entry.set_size_request(230, -1) share_error = prefpanel.build_error_image() prefpanel.attach_text(self.share_entry, prefs.SHARE_NAME, share_error, check_function=prefpanel.text_is_not_blank) if not self.share_button.get_value(): self.share_entry.disable() self.share_video_cbx.disable() self.share_audio_cbx.disable() self.share_warnonquit_cbx.disable() hbox.pack_start(self.share_entry) hbox.pack_start(share_error) vbox.pack_start(hbox) vbox.pack_start(widgetutil.pad(self.share_warnonquit_cbx, top=15)) container.pack_start(vbox) bg = widgetutil.RoundedSolidBackground( widgetutil.css_to_color('#e4e4e4')) bg.add(widgetutil.pad(container, 20, 20, 20, 20)) bottom.pack_start(widgetutil.align_left(bg, left_pad=20, bottom_pad=50))
def build_widgets(self): self.vlayout = widgetset.VBox(spacing=5) grid = dialogwidgets.ControlGrid() donate_nothanks_textentry = widgetset.TextEntry() donate_nothanks_textentry.set_width(5) prefpanel.attach_integer( donate_nothanks_textentry, prefs.DONATE_NOTHANKS, prefpanel.build_error_image(), prefpanel.create_value_checker(min_=0), ) last_donate_time_textentry = widgetset.TextEntry() last_donate_time_textentry.set_width(16) prefpanel.attach_integer( last_donate_time_textentry, prefs.LAST_DONATE_TIME, prefpanel.build_error_image(), prefpanel.create_value_checker(min_=0), ) donate_counter_textentry = widgetset.TextEntry() donate_counter_textentry.set_width(5) prefpanel.attach_integer( donate_counter_textentry, prefs.DONATE_COUNTER, prefpanel.build_error_image(), prefpanel.create_value_checker(min_=0), ) set_ratelimit_button = widgetset.Button("Force ratelimit") set_ratelimit_button.connect("clicked", self.on_set_ratelimit_clicked) reset_ratelimit_button = widgetset.Button("Force no ratelimit") reset_ratelimit_button.connect("clicked", self.on_reset_ratelimit_clicked) reset_button = widgetset.Button("Reset counters to factory defaults") reset_button.connect("clicked", self.on_reset_clicked) reset_donate_url_button = widgetset.Button("Reset") reset_donate_url_button.connect("clicked", self.on_reset_donate_url_clicked) reset_payment_url_button = widgetset.Button("Reset") reset_payment_url_button.connect("clicked", self.on_reset_payment_url_clicked) self.donate_url_textentry = widgetset.TextEntry() self.donate_url_textentry.set_width(16) self.payment_url_textentry = widgetset.TextEntry() self.payment_url_textentry.set_width(16) run_button = widgetset.Button("Run dialog") run_button.connect("clicked", self.on_run_clicked) grid.pack_label("Set DONATE_NOTHANKS", grid.ALIGN_RIGHT) grid.pack(donate_nothanks_textentry, span=2) grid.end_line(spacing=4) grid.pack_label("Set LAST_DONATE_TIME", grid.ALIGN_RIGHT) grid.pack(last_donate_time_textentry, span=2) grid.end_line(spacing=4) grid.pack_label("Set DONATE_COUNTER", grid.ALIGN_RIGHT) grid.pack(donate_counter_textentry, span=2) grid.end_line(spacing=4) grid.pack(reset_button, grid.FILL, span=3) grid.end_line(spacing=4) hbox = widgetset.HBox() hbox.pack_start(set_ratelimit_button) hbox.pack_start(reset_ratelimit_button) grid.pack(widgetutil.align_center(hbox), grid.FILL, span=3) grid.end_line(spacing=4) grid.pack_label("Use donate url", grid.ALIGN_RIGHT) grid.pack(self.donate_url_textentry) grid.pack(reset_donate_url_button, grid.FILL) grid.end_line(spacing=4) grid.pack_label("Use payment donate url", grid.ALIGN_RIGHT) grid.pack(self.payment_url_textentry) grid.pack(reset_payment_url_button, grid.FILL) grid.end_line(spacing=4) grid.pack(run_button, grid.FILL, span=3) grid.end_line(spacing=12) alignment = widgetset.Alignment(xalign=0.5, yalign=0.5) alignment.set_padding(20, 20, 20, 20) alignment.add(grid.make_table()) return alignment
def _build_daap_section(self, bottom): label = self.build_header(_("%(shortappname)s Sharing", self.trans_data)) bottom.pack_start(widgetutil.align_left(label, left_pad=20, bottom_pad=10)) # Note: "Miro iPad app" is the name of a piece of software-- # don't substitute Miro for %(appname)s here. label = self.build_text( _("%(shortappname)s can stream and download files to and from " "other %(shortappname)ss on your local network and to the " "Miro iPad app. It's awesome!", self.trans_data)) label.set_wrap(True) label.set_size_request(550, -1) bottom.pack_start(widgetutil.align_left(label, left_pad=20, bottom_pad=20)) if not app.sharing_manager.mdns_present: label = widgetset.Label(_("Disabled: Needs Bonjour")) label.set_bold(True) bottom.pack_start(widgetutil.align_left( label, left_pad=20, bottom_pad=20, top_pad=10)) return container = widgetset.HBox() self.share_button = PrettyToggleButton() self.share_button.connect('clicked', self.daap_changed) self.share_button.connect('dragged-left', self.daap_changed) self.share_button.connect('dragged-right', self.daap_changed) self.share_button.set_value(app.config.get(prefs.SHARE_MEDIA)) container.pack_start(widgetutil.pad(self.share_button, right=20)) vbox = widgetset.VBox() hbox = widgetset.HBox(spacing=30) self.share_audio_cbx = widgetset.Checkbox(_("Share Music"), bold=True) self.share_video_cbx = widgetset.Checkbox(_("Share Videos"), bold=True) self.share_feed_cbx = widgetset.Checkbox(_("Share Podcasts"), bold=True) self.share_warnonquit_cbx = widgetset.Checkbox( _('Warn on quit when others are connected to my media library.')) hbox.pack_start(widgetutil.align_top(self.share_video_cbx)) hbox.pack_start(widgetutil.align_top(self.share_audio_cbx)) hbox.pack_start(widgetutil.align_top(self.share_feed_cbx)) prefpanel.attach_boolean(self.share_audio_cbx, prefs.SHARE_AUDIO) prefpanel.attach_boolean(self.share_video_cbx, prefs.SHARE_VIDEO) prefpanel.attach_boolean(self.share_feed_cbx, prefs.SHARE_FEED) prefpanel.attach_boolean(self.share_warnonquit_cbx, prefs.SHARE_WARN_ON_QUIT) vbox.pack_start(hbox) label = widgetset.Label( _("My %(shortappname)s Share Name", self.trans_data)) label.set_bold(True) vbox.pack_start(widgetutil.align_left(label, top_pad=15, bottom_pad=5)) hbox = widgetset.HBox() self.share_entry = widgetset.TextEntry() self.share_entry.set_size_request(230, -1) share_error = prefpanel.build_error_image() prefpanel.attach_text(self.share_entry, prefs.SHARE_NAME, share_error, check_function=prefpanel.text_is_not_blank) if not self.share_button.get_value(): self.share_entry.disable() self.share_feed_cbx.disable() self.share_video_cbx.disable() self.share_audio_cbx.disable() self.share_warnonquit_cbx.disable() hbox.pack_start(self.share_entry) hbox.pack_start(share_error) vbox.pack_start(hbox) vbox.pack_start(widgetutil.pad(self.share_warnonquit_cbx, top=15)) container.pack_start(vbox) bg = widgetutil.RoundedSolidBackground( widgetutil.css_to_color('#e4e4e4')) bg.add(widgetutil.pad(container, 20, 20, 20, 20)) bottom.pack_start(widgetutil.align_left(bg, left_pad=20, bottom_pad=50)) widgets = [self.share_button, self.share_entry, self.share_audio_cbx, self.share_video_cbx, self.share_feed_cbx, self.share_warnonquit_cbx] callbacks = (self.sharing_start_volatile, self.sharing_end_volatile) app.sharing_manager.register_interest(self, callbacks, widgets)
def build_widgets(self): self.vlayout = widgetset.VBox(spacing=5) grid = dialogwidgets.ControlGrid() donate_nothanks_textentry = widgetset.TextEntry() donate_nothanks_textentry.set_width(5) prefpanel.attach_integer(donate_nothanks_textentry, prefs.DONATE_NOTHANKS, prefpanel.build_error_image(), prefpanel.create_value_checker(min_=0)) last_donate_time_textentry = widgetset.TextEntry() last_donate_time_textentry.set_width(16) prefpanel.attach_integer(last_donate_time_textentry, prefs.LAST_DONATE_TIME, prefpanel.build_error_image(), prefpanel.create_value_checker(min_=0)) donate_counter_textentry = widgetset.TextEntry() donate_counter_textentry.set_width(5) prefpanel.attach_integer(donate_counter_textentry, prefs.DONATE_COUNTER, prefpanel.build_error_image(), prefpanel.create_value_checker(min_=0)) set_ratelimit_button = widgetset.Button('Force ratelimit') set_ratelimit_button.connect('clicked', self.on_set_ratelimit_clicked) reset_ratelimit_button = widgetset.Button('Force no ratelimit') reset_ratelimit_button.connect('clicked', self.on_reset_ratelimit_clicked) reset_button = widgetset.Button('Reset counters to factory defaults') reset_button.connect('clicked', self.on_reset_clicked) reset_donate_url_button = widgetset.Button('Reset') reset_donate_url_button.connect('clicked', self.on_reset_donate_url_clicked) reset_payment_url_button = widgetset.Button('Reset') reset_payment_url_button.connect('clicked', self.on_reset_payment_url_clicked) self.donate_url_textentry = widgetset.TextEntry() self.donate_url_textentry.set_width(16) self.payment_url_textentry = widgetset.TextEntry() self.payment_url_textentry.set_width(16) run_button = widgetset.Button('Run dialog') run_button.connect('clicked', self.on_run_clicked) grid.pack_label('Set DONATE_NOTHANKS', grid.ALIGN_RIGHT) grid.pack(donate_nothanks_textentry, span=2) grid.end_line(spacing=4) grid.pack_label('Set LAST_DONATE_TIME', grid.ALIGN_RIGHT) grid.pack(last_donate_time_textentry, span=2) grid.end_line(spacing=4) grid.pack_label('Set DONATE_COUNTER', grid.ALIGN_RIGHT) grid.pack(donate_counter_textentry, span=2) grid.end_line(spacing=4) grid.pack(reset_button, grid.FILL, span=3) grid.end_line(spacing=4) hbox = widgetset.HBox() hbox.pack_start(set_ratelimit_button) hbox.pack_start(reset_ratelimit_button) grid.pack(widgetutil.align_center(hbox), grid.FILL, span=3) grid.end_line(spacing=4) grid.pack_label('Use donate url', grid.ALIGN_RIGHT) grid.pack(self.donate_url_textentry) grid.pack(reset_donate_url_button, grid.FILL) grid.end_line(spacing=4) grid.pack_label('Use payment donate url', grid.ALIGN_RIGHT) grid.pack(self.payment_url_textentry) grid.pack(reset_payment_url_button, grid.FILL) grid.end_line(spacing=4) grid.pack(run_button, grid.FILL, span=3) grid.end_line(spacing=12) alignment = widgetset.Alignment(xalign=0.5, yalign=0.5) alignment.set_padding(20, 20, 20, 20) alignment.add(grid.make_table()) return alignment