Merge pull request #1172 from tpikonen/stockless-episodeselector

Remove deprecated GTK features from episodeselector
This commit is contained in:
auouymous 2021-10-28 03:23:30 -07:00 committed by GitHub
commit 5499658ee3
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 165 additions and 220 deletions

View File

@ -1,294 +1,241 @@
<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="UTF-8"?>
<!-- Generated with glade 3.38.2 -->
<!--*- mode: xml -*-->
<interface>
<requires lib="gtk+" version="3.16"/>
<object class="GtkDialog" id="gPodderEpisodeSelector">
<property name="visible">False</property>
<property name="can-focus">False</property>
<property name="title" translatable="yes">Select episodes</property>
<property name="window_position">GTK_WIN_POS_CENTER_ON_PARENT</property>
<property name="modal">True</property>
<property name="transient-for">parent_widget</property>
<property name="destroy_with_parent">False</property>
<property name="skip_taskbar_hint">False</property>
<property name="skip_pager_hint">False</property>
<property name="type_hint">GDK_WINDOW_TYPE_HINT_DIALOG</property>
<property name="focus_on_map">True</property>
<property name="urgency_hint">False</property>
<property name="window-position">center-on-parent</property>
<property name="type-hint">dialog</property>
<child internal-child="vbox">
<object class="GtkBox" id="vbox10">
<property name="visible">True</property>
<property name="homogeneous">False</property>
<property name="can-focus">False</property>
<property name="orientation">vertical</property>
<child>
<object class="GtkBox" id="vbox_for_episode_selector">
<property name="border_width">5</property>
<child internal-child="action_area">
<object class="GtkButtonBox" id="hbox35">
<property name="visible">True</property>
<property name="spacing">5</property>
<property name="orientation">vertical</property>
<property name="can-focus">False</property>
<child>
<object class="GtkLabel" id="labelInstructions">
<property name="label">additional text</property>
<property name="use_underline">False</property>
<property name="use_markup">False</property>
<property name="wrap">False</property>
<property name="selectable">False</property>
<property name="xalign">0</property>
<property name="width_chars">-1</property>
<property name="single_line_mode">False</property>
<object class="GtkButton" id="btnRemoveAction">
<property name="label" translatable="yes">_Remove</property>
<property name="can-focus">True</property>
<property name="receives-default">False</property>
<property name="use-underline">True</property>
<signal name="clicked" handler="on_remove_action_activate" swapped="no"/>
</object>
<packing>
<property name="padding">0</property>
<property name="expand">False</property>
<property name="fill">False</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkButton" id="btnCancel">
<property name="label" translatable="yes">_Cancel</property>
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="receives-default">False</property>
<property name="use-underline">True</property>
<signal name="clicked" handler="on_btnCancel_clicked" swapped="no"/>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
<property name="position">1</property>
</packing>
</child>
<child>
<object class="GtkButton" id="btnOK">
<property name="label" translatable="yes">_OK</property>
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="can-default">True</property>
<property name="has-default">True</property>
<property name="receives-default">False</property>
<property name="use-underline">True</property>
<property name="always-show-image">True</property>
<signal name="clicked" handler="on_btnOK_clicked" swapped="no"/>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
<property name="position">2</property>
</packing>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkBox" id="vbox_for_episode_selector">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="border-width">5</property>
<property name="orientation">vertical</property>
<property name="spacing">5</property>
<child>
<object class="GtkLabel" id="labelInstructions">
<property name="can-focus">False</property>
<property name="label">additional text</property>
<property name="xalign">0</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkScrolledWindow" id="scrolledwindow7">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
<property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
<property name="shadow_type">GTK_SHADOW_IN</property>
<property name="window_placement">GTK_CORNER_TOP_LEFT</property>
<property name="can-focus">True</property>
<property name="shadow-type">in</property>
<child>
<object class="GtkTreeView" id="treeviewEpisodes">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="has_focus">True</property>
<property name="headers_visible">False</property>
<property name="rules_hint">False</property>
<property name="reorderable">False</property>
<property name="enable_search">False</property>
<property name="fixed_height_mode">False</property>
<property name="hover_selection">False</property>
<property name="hover_expand">False</property>
<signal name="row_activated" handler="on_row_activated"/>
<property name="can-focus">True</property>
<property name="has-focus">True</property>
<property name="headers-visible">False</property>
<property name="enable-search">False</property>
<signal name="row-activated" handler="on_row_activated" swapped="no"/>
<child internal-child="selection">
<object class="GtkTreeSelection"/>
</child>
</object>
</child>
</object>
<packing>
<property name="padding">0</property>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
<child>
<object class="GtkBox" id="hboxButtons">
<property name="visible">True</property>
<property name="homogeneous">False</property>
<property name="can-focus">False</property>
<property name="spacing">5</property>
<property name="orientation">horizontal</property>
<child>
<object class="GtkButton" id="btnCheckAll">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="focus_on_click">True</property>
<signal handler="on_btnCheckAll_clicked" name="clicked"/>
<property name="can-focus">True</property>
<property name="receives-default">False</property>
<signal name="clicked" handler="on_btnCheckAll_clicked" swapped="no"/>
<child>
<object class="GtkAlignment" id="alignment22">
<object class="GtkBox" id="hbox34">
<property name="visible">True</property>
<property name="xscale">0</property>
<property name="yscale">0</property>
<property name="top_padding">0</property>
<property name="bottom_padding">0</property>
<property name="left_padding">0</property>
<property name="right_padding">0</property>
<property name="can-focus">False</property>
<property name="spacing">2</property>
<child>
<object class="GtkBox" id="hbox34">
<object class="GtkImage" id="image2636">
<property name="visible">True</property>
<property name="homogeneous">False</property>
<property name="spacing">2</property>
<property name="orientation">horizontal</property>
<child>
<object class="GtkImage" id="image2636">
<property name="visible">True</property>
<property name="stock">gtk-apply</property>
<property name="icon_size">4</property>
</object>
<packing>
<property name="padding">0</property>
<property name="expand">False</property>
<property name="fill">False</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="label107">
<property name="visible">True</property>
<property name="label" translatable="yes">Select all</property>
<property name="use_underline">True</property>
<property name="use_markup">False</property>
<property name="wrap">False</property>
<property name="selectable">False</property>
<property name="width_chars">-1</property>
<property name="single_line_mode">False</property>
</object>
<packing>
<property name="padding">0</property>
<property name="expand">False</property>
<property name="fill">False</property>
</packing>
</child>
<property name="can-focus">False</property>
<property name="icon-name">object-select</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="label107">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes">Select _all</property>
<property name="use-underline">True</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
<property name="position">1</property>
</packing>
</child>
</object>
</child>
</object>
<packing>
<property name="padding">0</property>
<property name="expand">False</property>
<property name="fill">False</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkButton" id="btnCheckNone">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="focus_on_click">True</property>
<signal handler="on_btnCheckNone_clicked" name="clicked"/>
<property name="can-focus">True</property>
<property name="receives-default">False</property>
<signal name="clicked" handler="on_btnCheckNone_clicked" swapped="no"/>
<child>
<object class="GtkAlignment" id="alignment21">
<object class="GtkBox" id="hbox33">
<property name="visible">True</property>
<property name="xscale">0</property>
<property name="yscale">0</property>
<property name="top_padding">0</property>
<property name="bottom_padding">0</property>
<property name="left_padding">0</property>
<property name="right_padding">0</property>
<property name="can-focus">False</property>
<property name="spacing">2</property>
<child>
<object class="GtkBox" id="hbox33">
<object class="GtkImage" id="image2635">
<property name="visible">True</property>
<property name="homogeneous">False</property>
<property name="spacing">2</property>
<property name="orientation">horizontal</property>
<child>
<object class="GtkImage" id="image2635">
<property name="visible">True</property>
<property name="stock">gtk-revert-to-saved</property>
<property name="icon_size">4</property>
</object>
<packing>
<property name="padding">0</property>
<property name="expand">False</property>
<property name="fill">False</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="label106">
<property name="visible">True</property>
<property name="label" translatable="yes">Select none</property>
<property name="use_underline">True</property>
<property name="use_markup">False</property>
<property name="wrap">False</property>
<property name="selectable">False</property>
<property name="width_chars">-1</property>
<property name="single_line_mode">False</property>
</object>
<packing>
<property name="padding">0</property>
<property name="expand">False</property>
<property name="fill">False</property>
</packing>
</child>
<property name="can-focus">False</property>
<property name="icon-name">document-revert</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="label106">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes">Select _none</property>
<property name="use-underline">True</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
<property name="position">1</property>
</packing>
</child>
</object>
</child>
</object>
<packing>
<property name="padding">0</property>
<property name="expand">False</property>
<property name="fill">False</property>
<property name="position">1</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="labelTotalSize">
<property name="visible">True</property>
<property name="use_underline">False</property>
<property name="use_markup">False</property>
<property name="justify">GTK_JUSTIFY_RIGHT</property>
<property name="wrap">False</property>
<property name="selectable">False</property>
<property name="can-focus">False</property>
<property name="justify">right</property>
<property name="xalign">1</property>
<property name="width_chars">-1</property>
<property name="single_line_mode">False</property>
</object>
<packing>
<property name="padding">0</property>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">2</property>
</packing>
</child>
</object>
<packing>
<property name="padding">0</property>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">2</property>
</packing>
</child>
</object>
<packing>
<property name="padding">0</property>
<property name="expand">True</property>
<property name="fill">True</property>
</packing>
</child>
<child internal-child="action_area">
<object class="GtkBox" id="hbox35">
<property name="visible">True</property>
<property name="homogeneous">False</property>
<property name="spacing">5</property>
<property name="orientation">horizontal</property>
<child>
<object class="GtkButton" id="btnRemoveAction">
<property name="visible">False</property>
<property name="can_focus">True</property>
<property name="label">Remove</property>
<property name="use_stock">True</property>
<property name="focus_on_click">True</property>
<signal handler="on_remove_action_activate" name="clicked"/>
</object>
<packing>
<property name="padding">0</property>
<property name="expand">False</property>
<property name="fill">False</property>
</packing>
</child>
<child>
<object class="GtkButton" id="btnCancel">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="label">gtk-cancel</property>
<property name="use_stock">True</property>
<property name="focus_on_click">True</property>
<signal handler="on_btnCancel_clicked" name="clicked"/>
</object>
<packing>
<property name="padding">0</property>
<property name="expand">False</property>
<property name="fill">False</property>
</packing>
</child>
<child>
<object class="GtkButton" id="btnOK">
<property name="visible">True</property>
<property name="can_default">True</property>
<property name="has_default">True</property>
<property name="can_focus">True</property>
<property name="label">gtk-ok</property>
<property name="use_stock">True</property>
<property name="focus_on_click">True</property>
<signal handler="on_btnOK_clicked" name="clicked"/>
</object>
<packing>
<property name="padding">0</property>
<property name="expand">False</property>
<property name="fill">False</property>
</packing>
</child>
</object>
<packing>
<property name="padding">0</property>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
</object>

View File

@ -59,12 +59,9 @@ class gPodderEpisodeSelector(BuilderWidget):
- title: (optional) The title of the window + heading
- instructions: (optional) A one-line text describing what the
user should select / what the selection is for
- stock_ok_button: (optional) Will replace the "OK" button with
another GTK+ stock item to be used for the
affirmative button of the dialog (e.g. can
be Gtk.STOCK_DELETE when the episodes to be
selected will be deleted after closing the
dialog)
- ok_button: (optional) Will replace the "OK" button label with this
string (e.g. can be '_Delete' when the episodes to be
selected will be deleted after closing the dialog)
- selection_buttons: (optional) A dictionary with labels as
keys and callbacks as values; for each
key a button will be generated, and when
@ -89,6 +86,7 @@ class gPodderEpisodeSelector(BuilderWidget):
COLUMN_ADDITIONAL = 3
def new(self):
self.gPodderEpisodeSelector.set_transient_for(self.parent_widget)
if hasattr(self, 'title'):
self.gPodderEpisodeSelector.set_title(self.title)
@ -134,13 +132,13 @@ class gPodderEpisodeSelector(BuilderWidget):
self.labelInstructions.set_text(self.instructions)
self.labelInstructions.show_all()
if hasattr(self, 'stock_ok_button'):
if self.stock_ok_button == 'gpodder-download':
if hasattr(self, 'ok_button'):
if self.ok_button == 'gpodder-download':
self.btnOK.set_image(Gtk.Image.new_from_icon_name('go-down', Gtk.IconSize.BUTTON))
self.btnOK.set_label(_('Download'))
self.btnOK.set_label(_('_Download'))
else:
self.btnOK.set_label(self.stock_ok_button)
self.btnOK.set_use_stock(True)
self.btnOK.set_image(None)
self.btnOK.set_label(self.ok_button)
# check/uncheck column
toggle_cell = Gtk.CellRendererToggle()
@ -326,9 +324,9 @@ class gPodderEpisodeSelector(BuilderWidget):
self.btnOK.set_sensitive(count > 0)
self.btnRemoveAction.set_sensitive(count > 0)
if count > 0:
self.btnCancel.set_label(Gtk.STOCK_CANCEL)
self.btnCancel.set_label(_('_Cancel'))
else:
self.btnCancel.set_label(Gtk.STOCK_CLOSE)
self.btnCancel.set_label(_('_Close'))
else:
self.btnOK.set_sensitive(False)
self.btnRemoveAction.set_sensitive(False)

View File

@ -572,7 +572,7 @@ class gPodder(BuilderWidget, dbus.service.Object):
episodes=changes,
columns=columns,
size_attribute=None,
stock_ok_button=Gtk.STOCK_APPLY,
ok_button=_('A_pply'),
callback=execute_podcast_actions,
_config=self.config)
@ -2985,7 +2985,7 @@ class gPodder(BuilderWidget, dbus.service.Object):
self.main_window, title=_('Delete episodes'),
instructions=instructions,
episodes=episodes, selected=selected, columns=columns,
stock_ok_button='edit-delete', callback=self.delete_episode_list,
ok_button=_('_Delete'), callback=self.delete_episode_list,
selection_buttons=selection_buttons, _config=self.config)
def on_selected_episodes_status_changed(self):
@ -3177,10 +3177,10 @@ class gPodder(BuilderWidget, dbus.service.Object):
episodes=episodes,
columns=columns,
selected=selected,
stock_ok_button='gpodder-download',
ok_button='gpodder-download',
callback=download_episodes_callback,
remove_callback=lambda e: e.mark_old(),
remove_action=_('Mark as old'),
remove_action=_('_Mark as old'),
remove_finished=self.episode_new_status_changed,
_config=self.config,
show_notification=False)
@ -3313,7 +3313,7 @@ class gPodder(BuilderWidget, dbus.service.Object):
episodes=self.channels,
columns=columns,
size_attribute=None,
stock_ok_button=_('Delete'),
ok_button=_('_Delete'),
callback=self.remove_podcast_list,
_config=self.config)