Class: Gtk::AppChooserButton

Inherits:
Widget
  • Object
show all
Defined in:
(unknown)

Overview

The GtkAppChooserButton lets the user select an application.

An example GtkAppChooserButton

Initially, a GtkAppChooserButton selects the first application in its list, which will either be the most-recently used application or, if [propertyGtk.AppChooserButton:show-default-item] is true, the default application.

The list of applications shown in a GtkAppChooserButton includes the recommended applications for the given content type. When [propertyGtk.AppChooserButton:show-default-item] is set, the default application is also included. To let the user chooser other applications, you can set the [propertyGtk.AppChooserButton:show-dialog-item] property, which allows to open a full [classGtk.AppChooserDialog].

It is possible to add custom items to the list, using [methodGtk.AppChooserButton.append_custom_item]. These items cause the [signalGtk.AppChooserButton::custom-item-activated] signal to be emitted when they are selected.

To track changes in the selected application, use the [signalGtk.AppChooserButton::changed] signal.

CSS nodes

GtkAppChooserButton has a single CSS node with the name “appchooserbutton”.

Instance Method Summary collapse

Methods inherited from Widget

#accessible_role, #accessible_role=, #action_set_enabled, #activate, #activate_action, #activate_action_variant, #activate_default, #activate_signal, #activate_signal=, #activate_signal_from_name=, #add_binding, #add_binding_action, #add_binding_signal, #add_controller, #add_css_class, #add_mnemonic_label, #add_shortcut, #add_tick_callback, #allocate, #allocated_baseline, #allocated_height, #allocated_width, #baseline, #bind_template_callback_full, #bind_template_child, #bind_template_child_full, #can_focus, #can_focus=, #can_focus?, #can_target, #can_target=, #can_target?, #child_focus, #child_visible, #child_visible=, #children, #clipboard, #compute_bounds, #compute_expand, #compute_point, #compute_transform, #contains, #create_pango_context, #create_pango_layout, #css_classes, #css_classes=, #css_name, #css_name=, #cursor, #cursor=, #cursor_from_name=, default_direction, default_direction=, #direction, #direction=, #display, #dispose_template, #drag_check_threshold, #error_bell, #first_child, #focus_child, #focus_child=, #focus_on_click, #focus_on_click=, #focus_on_click?, #focusable, #focusable=, #focusable?, #font_map, #font_map=, #font_options, #font_options=, #frame_clock, #get_allocation, #get_ancestor, #get_color, #get_preferred_size, #get_size, #get_size_request, #get_template_child, #grab_focus, #halign, #halign=, #has_css_class, #has_default, #has_default=, #has_default?, #has_focus, #has_focus=, #has_focus?, #has_tooltip, #has_tooltip=, #has_tooltip?, #has_visible_focus, have_template?, #height, #height_request, #height_request=, #hexpand, #hexpand=, #hexpand?, #hexpand_set, #hexpand_set=, #hexpand_set?, #hide, #in_destruction, #init_template, #insert_action_group, #insert_action_group_raw, #insert_after, #insert_before, #install_action, #install_property_action, #is_ancestor, #is_drawable, #is_focus, #is_sensitive, #is_visible, #keynav_failed, #last_child, #layout_manager, #layout_manager=, #layout_manager_type, #layout_manager_type=, #list_mnemonic_labels, #map, #mapped, #margin_bottom, #margin_bottom=, #margin_end, #margin_end=, #margin_start, #margin_start=, #margin_top, #margin_top=, #measure, #mnemonic_activate, #name, #name=, #native, #next_sibling, #observe_children, #observe_controllers, #opacity, #opacity=, #overflow, #overflow=, #pango_context, #parent, #parent=, #pick, #prev_sibling, #primary_clipboard, #query_action, #queue_allocate, #queue_draw, #queue_resize, #realize, #realized, #receives_default, #receives_default=, #receives_default?, #remove_controller, #remove_css_class, #remove_mnemonic_label, #remove_tick_callback, #request_mode, #root, #root=, #scale_factor, #scale_factor=, #sensitive, #sensitive=, #sensitive?, #set_size_request, #set_size_request_raw, #set_state_flags, #set_template, #set_template_raw, #settings, #should_layout, #show, #size_allocate, #snapshot_child, #state_flags, #style_context, #style_context_raw, #template=, template_children, #template_from_resource=, #template_scope=, #tooltip_markup, #tooltip_markup=, #tooltip_text, #tooltip_text=, #translate_coordinates, #translate_coordinates_raw, #trigger_tooltip_query, #unmap, #unparent, #unrealize, #unset_state_flags, #valign, #valign=, #vexpand, #vexpand=, #vexpand?, #vexpand_set, #vexpand_set=, #vexpand_set?, #visible, #visible=, #visible?, #width, #width_request, #width_request=

Constructor Details

#initialize(content_type) ⇒ Gtk::Widget

Creates a new GtkAppChooserButton for applications that can handle content of the given type.

Parameters:

  • content_type (String)

    the content type to show applications for

Instance Method Details

#active_custom_item=(name) ⇒ nil

Selects a custom item.

See [methodGtk.AppChooserButton.append_custom_item].

Use [methodGtk.AppChooser.refresh] to bring the selection to its initial state.

Parameters:

  • name (String)

    the name of the custom item

Returns:

  • (nil)

#append_custom_item(name, label, icon) ⇒ nil

Appends a custom item to the list of applications that is shown in the popup.

The item name must be unique per-widget. Clients can use the provided name as a detail for the [signalGtk.AppChooserButton::custom-item-activated] signal, to add a callback for the activation of a particular custom item in the list.

See also [methodGtk.AppChooserButton.append_separator].

Parameters:

  • name (String)

    the name of the custom item

  • label (String)

    the label for the custom item

  • icon (Gio::Icon)

    the icon for the custom item

Returns:

  • (nil)

#append_separatornil

Appends a separator to the list of applications that is shown in the popup.

Returns:

  • (nil)

#headingString

The text to show at the top of the dialog that can be opened from the button.

The string may contain Pango markup.

Returns:

  • (String)

    heading

#heading=(heading) ⇒ String

The text to show at the top of the dialog that can be opened from the button.

The string may contain Pango markup.

Parameters:

  • heading (String)

Returns:

  • (String)

    heading

  • (String)

    heading

Gets whether the dialog is modal.

Returns:

  • (Boolean)

    true if the dialog is modal

#modal=(modal) ⇒ Boolean

Whether the app chooser dialog should be modal.

Parameters:

  • modal (Boolean)

Returns:

  • (Boolean)

    modal

  • (Boolean)

    modal

#modal?Boolean

Whether the app chooser dialog should be modal.

Returns:

  • (Boolean)

    modal

#show_default_itemBoolean

Returns whether the dropdown menu should show the default application at the top.

Returns:

  • (Boolean)

    the value of [propertyGtk.AppChooserButton:show-default-item]

#show_default_item=(show_default_item) ⇒ Boolean

Determines whether the dropdown menu shows the default application on top for the provided content type.

Parameters:

  • show_default_item (Boolean)

Returns:

  • (Boolean)

    show-default-item

  • (Boolean)

    show-default-item

#show_default_item?Boolean

Determines whether the dropdown menu shows the default application on top for the provided content type.

Returns:

  • (Boolean)

    show-default-item

#show_dialog_itemBoolean

Returns whether the dropdown menu shows an item for a GtkAppChooserDialog.

Returns:

  • (Boolean)

    the value of [propertyGtk.AppChooserButton:show-dialog-item]

#show_dialog_item=(show_dialog_item) ⇒ Boolean

Determines whether the dropdown menu shows an item to open a GtkAppChooserDialog.

Parameters:

  • show_dialog_item (Boolean)

Returns:

  • (Boolean)

    show-dialog-item

  • (Boolean)

    show-dialog-item

#show_dialog_item?Boolean

Determines whether the dropdown menu shows an item to open a GtkAppChooserDialog.

Returns:

  • (Boolean)

    show-dialog-item