def ask_for_name(widget, title, default): window = widget.get_toplevel() d = Gtk.Dialog(title, window, Gtk.DialogFlags.MODAL, (Gtk.STOCK_CANCEL, Gtk.ResponseType.REJECT, Gtk.STOCK_OK, Gtk.ResponseType.ACCEPT)) d.set_position(Gtk.WindowPosition.CENTER_ON_PARENT) hbox = Gtk.HBox() hbox.set_property("spacing", widgets.SPACING) hbox.set_border_width(widgets.SPACING) d.vbox.pack_start(hbox, True, True, 0) hbox.pack_start(Gtk.Label(label=_('Name')), False, False, 0) if default is None: default = "" d.e = e = Gtk.Entry() e.set_size_request(250, -1) e.set_text(default) e.select_region(0, len(default)) e.set_input_hints(Gtk.InputHints.UPPERCASE_WORDS) e.set_input_purpose(Gtk.InputPurpose.FREE_FORM) e.connect("activate", _entry_activate_dialog_response_cb, d) hbox.pack_start(e, True, True, 0) d.vbox.show_all() if d.run() == Gtk.ResponseType.ACCEPT: result = d.e.get_text() if isinstance(result, bytes): result = result.decode('utf-8') else: result = None d.destroy() return result
def _get_gui_item(self): entry = Gtk.Entry() entry.set_buffer(self._buf) def _plus_cb(b): nn = str(self.get_value() + 1) self._buf.set_text(nn, len(nn)) plus = Gtk.Button.new_with_label("+") plus.connect("clicked", _plus_cb) def _minus_cb(b): nn = str(self.get_value() - 1) self._buf.set_text(nn, len(nn)) minus = Gtk.Button.new_with_label("-") minus.connect("clicked", _minus_cb) grid = Gtk.Grid() grid.attach(entry, 0, 0, 1, 1) grid.attach(minus, 1, 0, 1, 1) grid.attach(plus, 2, 0, 1, 1) return grid
def __init__(self): super(AccelMapEditor, self).__init__() self.ui_manager = None self.connect("show", self._show_cb) self.set_row_spacing(5) store = Gtk.ListStore(*self._COLUMN_TYPES) self._store = store self._action_labels = {} self._accel_labels = {} self._filter_entry = Gtk.Entry() self._filter_entry.set_placeholder_text( C_('placeholder for keymap filtering', 'Filter')) self._filter_entry.connect('changed', self._entry_changed) self.attach(self._filter_entry, 0, 0, 1, 1) self._filter_txt = None # Filter self._filter = store.filter_new() self._filter.set_visible_func(self._filter_check) scrolls = Gtk.ScrolledWindow() scrolls.set_shadow_type(Gtk.ShadowType.IN) view = Gtk.TreeView() view.set_model(self._filter) view.set_size_request(480, 320) view.set_hexpand(True) view.set_vexpand(True) scrolls.add(view) self.attach(scrolls, 0, 1, 1, 1) view.set_headers_clickable(True) view.set_enable_search(True) view.set_search_column(self._SEARCH_TEXT_COLUMN) view.set_search_equal_func(self._view_search_equal_cb) self._view = view cell = Gtk.CellRendererText() cell.set_property("ellipsize", Pango.EllipsizeMode.END) cell.set_property("editable", False) cell.set_property("ypad", 8) cell.set_property("xpad", 8) col = Gtk.TreeViewColumn(_("Action"), cell) col.add_attribute(cell, "markup", self._ACTION_LABEL_COLUMN) col.set_expand(True) col.set_resizable(True) col.set_min_width(200) col.set_sort_column_id(self._ACTION_LABEL_SORT_COLUMN) view.append_column(col) cell = Gtk.CellRendererText() cell.set_property("ellipsize", Pango.EllipsizeMode.END) cell.set_property("editable", True) cell.set_property("ypad", 8) cell.set_property("xpad", 8) cell.connect("edited", self._accel_edited_cb) cell.connect("editing-started", self._accel_editing_started_cb) # TRANSLATORS: Refers to a keyboard key combination, such as "Ctrl+G". # TRANSLATORS: Second column label in the keybinding preferences tab. col = Gtk.TreeViewColumn(_("Key combination"), cell) col.add_attribute(cell, "markup", self._ACCEL_LABEL_COLUMN) col.set_expand(False) col.set_resizable(True) col.set_min_width(75) col.set_sort_column_id(self._ACCEL_LABEL_SORT_COLUMN) view.append_column(col) store.set_sort_column_id( self._ACTION_LABEL_SORT_COLUMN, Gtk.SortType.ASCENDING, )