[gupnp-tools] av-cp: Don't use deprecated GTK features
- From: Jens Georg <jensgeorg src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gupnp-tools] av-cp: Don't use deprecated GTK features
- Date: Sun, 10 Aug 2014 19:24:29 +0000 (UTC)
commit 0b1a884a5fd20fbbfdf92354d55cbde0f1af193f
Author: Jussi Kukkonen <jku goto fi>
Date: Thu Jul 31 15:30:29 2014 +0300
av-cp: Don't use deprecated GTK features
Use Grid instead of VBox or HBox, use Scale instead of HScale or
Vscale.
Don't use GtkMisc properties or stock items.
https://bugzilla.gnome.org/show_bug.cgi?id=734162
data/gupnp-av-cp.ui.in | 865 +++++++++++++++++++----------------------
src/av-cp/renderer-combo.c | 6 +-
src/av-cp/renderer-controls.c | 76 ++--
src/av-cp/renderer-controls.h | 6 +-
4 files changed, 451 insertions(+), 502 deletions(-)
---
diff --git a/data/gupnp-av-cp.ui.in b/data/gupnp-av-cp.ui.in
index 80e99ca..aadf78c 100644
--- a/data/gupnp-av-cp.ui.in
+++ b/data/gupnp-av-cp.ui.in
@@ -1,6 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!-- Generated with glade 3.18.1 -->
<interface>
- <!-- interface-requires gtk+ 3.0 -->
+ <requires lib="gtk+" version="3.0"/>
<object class="GtkAboutDialog" id="about-dialog">
<property name="can_focus">False</property>
<property name="border_width">12</property>
@@ -14,9 +15,9 @@ Inspired by Intel Tools for UPnP.</property>
<property name="translator_credits" translatable="yes" comments="TRANSLATORS: Replace this string with
your names, one name per line.">translator-credits</property>
<property name="artists">Lapo Calamandrei <calamandrei gmail com>
Vinicius Depizzol <vdepizzol gmail com></property>
+ <property name="logo_icon_name">image-missing</property>
<property name="license_type">gpl-2-0</property>
- <signal name="delete-event" handler="gtk_widget_hide" object="about-dialog" swapped="yes"/>
- <signal name="response" handler="gtk_widget_hide" object="about-dialog" swapped="yes"/>
+ <signal name="delete-event" handler="gtk_widget_hide_on_delete" swapped="no"/>
<child internal-child="vbox">
<object class="GtkBox" id="dialog-vbox1">
<property name="can_focus">False</property>
@@ -38,84 +39,19 @@ Vinicius Depizzol <vdepizzol gmail com></property>
<object class="GtkAdjustment" id="adjustment1">
<property name="upper">100</property>
<property name="step_increment">1</property>
+ <property name="page_increment">10</property>
</object>
<object class="GtkAdjustment" id="adjustment2">
<property name="upper">100</property>
<property name="step_increment">1</property>
- </object>
- <object class="GtkDialog" id="didl-dialog">
- <property name="width_request">640</property>
- <property name="height_request">480</property>
- <property name="can_focus">False</property>
- <property name="border_width">5</property>
- <property name="title" translatable="yes">GUPnP AV CP - Metadata View</property>
- <property name="type_hint">normal</property>
- <signal name="close" handler="gtk_widget_hide" swapped="no"/>
- <child internal-child="vbox">
- <object class="GtkBox" id="dialog-vbox3">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="orientation">vertical</property>
- <property name="spacing">2</property>
- <child internal-child="action_area">
- <object class="GtkButtonBox" id="didl-action-area">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="layout_style">end</property>
- <child>
- <object class="GtkButton" id="didl-close-button">
- <property name="label">gtk-close</property>
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="receives_default">True</property>
- <property name="use_stock">True</property>
- <signal name="clicked" handler="gtk_widget_hide" object="didl-dialog" swapped="yes"/>
- </object>
- <packing>
- <property name="expand">False</property>
- <property name="fill">False</property>
- <property name="position">0</property>
- </packing>
- </child>
- </object>
- <packing>
- <property name="expand">False</property>
- <property name="fill">True</property>
- <property name="pack_type">end</property>
- <property name="position">0</property>
- </packing>
- </child>
- <child>
- <object class="GtkScrolledWindow" id="didl-scrolledwindow">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <child>
- <object class="@TEXT_VIEW@" id="didl-textview">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="editable">False</property>
- <property name="wrap_mode">char</property>
- </object>
- </child>
- </object>
- <packing>
- <property name="expand">True</property>
- <property name="fill">True</property>
- <property name="position">1</property>
- </packing>
- </child>
- </object>
- </child>
- <action-widgets>
- <action-widget response="0">didl-close-button</action-widget>
- </action-widgets>
+ <property name="page_increment">10</property>
</object>
<object class="GtkWindow" id="main-window">
<property name="can_focus">False</property>
<property name="title" translatable="yes">GUPnP AV Control Point</property>
<signal name="delete-event" handler="on_delete_event" swapped="no"/>
<child>
- <object class="GtkVBox" id="vbox3">
+ <object class="GtkGrid" id="grid1">
<property name="visible">True</property>
<property name="can_focus">False</property>
<child>
@@ -132,12 +68,11 @@ Vinicius Depizzol <vdepizzol gmail com></property>
<object class="GtkMenu" id="file-menuitem_menu">
<property name="can_focus">False</property>
<child>
- <object class="GtkImageMenuItem" id="quit">
- <property name="label">gtk-quit</property>
+ <object class="GtkMenuItem" id="close_menuitem">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="label" translatable="yes">Close</property>
<property name="use_underline">True</property>
- <property name="use_stock">True</property>
<signal name="activate" handler="application_exit" swapped="no"/>
</object>
</child>
@@ -177,12 +112,11 @@ Vinicius Depizzol <vdepizzol gmail com></property>
<object class="GtkMenu" id="help_menuitem_menu">
<property name="can_focus">False</property>
<child>
- <object class="GtkImageMenuItem" id="about">
- <property name="label">gtk-about</property>
+ <object class="GtkMenuItem" id="about_menuitem">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="label" translatable="yes">About</property>
<property name="use_underline">True</property>
- <property name="use_stock">True</property>
<signal name="activate" handler="gtk_widget_show" object="about-dialog"
swapped="yes"/>
</object>
</child>
@@ -192,535 +126,475 @@ Vinicius Depizzol <vdepizzol gmail com></property>
</child>
</object>
<packing>
- <property name="expand">False</property>
- <property name="fill">False</property>
- <property name="position">0</property>
+ <property name="left_attach">0</property>
+ <property name="top_attach">0</property>
</packing>
</child>
<child>
- <object class="GtkVBox" id="vbox2">
+ <object class="GtkGrid" id="grid2">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="border_width">12</property>
- <property name="spacing">18</property>
+ <property name="margin_start">12</property>
+ <property name="margin_end">12</property>
+ <property name="hexpand">True</property>
+ <property name="vexpand">True</property>
+ <property name="row_spacing">16</property>
<child>
- <object class="GtkAlignment" id="alignment3">
+ <object class="GtkGrid" id="grid3">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="column_spacing">4</property>
+ <property name="column_homogeneous">True</property>
<child>
- <object class="GtkHBox" id="hbox2">
+ <object class="GtkButton" id="play-button">
<property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="spacing">8</property>
- <child>
- <object class="GtkScrolledWindow" id="scrolledwindow1">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="shadow_type">in</property>
- <child>
- <object class="GtkTreeView" id="playlist-treeview">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="headers_visible">False</property>
- <signal name="row-collapsed" handler="on_playlist_row_collapsed" swapped="no"/>
- <signal name="row-expanded" handler="on_playlist_row_expanded" swapped="no"/>
- <signal name="row-activated" handler="on_play_button_clicked" swapped="no"/>
- <signal name="button-release-event"
handler="on_playlist_treeview_button_release" swapped="no"/>
- <child internal-child="selection">
- <object class="GtkTreeSelection" id="treeview-selection1"/>
- </child>
- </object>
- </child>
- </object>
- <packing>
- <property name="expand">True</property>
- <property name="fill">True</property>
- <property name="position">0</property>
- </packing>
- </child>
+ <property name="can_focus">True</property>
+ <property name="can_default">True</property>
+ <property name="receives_default">False</property>
+ <property name="halign">center</property>
+ <property name="hexpand">True</property>
+ <signal name="clicked" handler="on_play_button_clicked" swapped="no"/>
<child>
- <object class="GtkVBox" id="vbox1">
+ <object class="GtkGrid" id="grid11">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="spacing">6</property>
+ <property name="halign">center</property>
+ <property name="hexpand">True</property>
+ <property name="column_spacing">2</property>
<child>
- <object class="GtkImage" id="volume-max-image">
+ <object class="GtkLabel" id="label8">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="stock">gtk-missing-image</property>
+ <property name="valign">baseline</property>
+ <property name="label" translatable="yes">_Play</property>
+ <property name="use_underline">True</property>
</object>
<packing>
- <property name="expand">False</property>
- <property name="fill">True</property>
- <property name="position">0</property>
+ <property name="left_attach">1</property>
+ <property name="top_attach">0</property>
</packing>
</child>
<child>
- <object class="GtkVScale" id="volume-vscale">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="adjustment">adjustment1</property>
- <property name="inverted">True</property>
- <property name="digits">0</property>
- <property name="draw_value">False</property>
- <signal name="value-changed" handler="on_volume_vscale_value_changed"
swapped="no"/>
- </object>
- <packing>
- <property name="expand">True</property>
- <property name="fill">True</property>
- <property name="position">1</property>
- </packing>
- </child>
- <child>
- <object class="GtkImage" id="volume-min-image">
+ <object class="GtkImage" id="image16">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="stock">gtk-missing-image</property>
+ <property name="valign">baseline</property>
+ <property name="icon_name">media-playback-start</property>
</object>
<packing>
- <property name="expand">False</property>
- <property name="fill">True</property>
- <property name="position">2</property>
+ <property name="left_attach">0</property>
+ <property name="top_attach">0</property>
</packing>
</child>
</object>
- <packing>
- <property name="expand">False</property>
- <property name="fill">True</property>
- <property name="padding">4</property>
- <property name="position">1</property>
- </packing>
</child>
</object>
- </child>
- </object>
- <packing>
- <property name="expand">True</property>
- <property name="fill">True</property>
- <property name="position">0</property>
- </packing>
- </child>
- <child>
- <object class="GtkVBox" id="vbox4">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="spacing">6</property>
- <child>
- <object class="GtkHScale" id="position-hscale">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="adjustment">adjustment2</property>
- <property name="digits">0</property>
- <property name="draw_value">False</property>
- <signal name="value-changed" handler="on_position_hscale_value_changed" swapped="no"/>
- </object>
<packing>
- <property name="expand">False</property>
- <property name="fill">True</property>
- <property name="position">0</property>
+ <property name="left_attach">0</property>
+ <property name="top_attach">0</property>
</packing>
</child>
- </object>
- <packing>
- <property name="expand">False</property>
- <property name="fill">True</property>
- <property name="position">1</property>
- </packing>
- </child>
- <child>
- <object class="GtkHBox" id="hbox9">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="spacing">12</property>
<child>
- <object class="GtkLabel" id="label7">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="xalign">0</property>
- <property name="label" translatable="yes">_Renderer: </property>
- <property name="use_underline">True</property>
- <property name="mnemonic_widget">renderer-combobox</property>
- </object>
- <packing>
- <property name="expand">False</property>
- <property name="fill">True</property>
- <property name="position">0</property>
- </packing>
- </child>
- <child>
- <object class="GtkComboBox" id="renderer-combobox">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- </object>
- <packing>
- <property name="expand">True</property>
- <property name="fill">True</property>
- <property name="position">1</property>
- </packing>
- </child>
- <child>
- <object class="GtkButton" id="clear_state_button">
+ <object class="GtkButton" id="pause-button">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="can_default">True</property>
<property name="receives_default">False</property>
- <property name="tooltip_text" translatable="yes">Clears the CP's idea of the state of
the currently selected AV Renderer. Useful for dealing with AV Renderers that don't report state
changes.</property>
- <signal name="clicked" handler="on_clear_state_button_clicked" swapped="no"/>
+ <property name="halign">center</property>
+ <property name="hexpand">True</property>
+ <signal name="clicked" handler="on_pause_button_clicked" swapped="no"/>
<child>
- <object class="GtkAlignment" id="alignment14">
+ <object class="GtkGrid" id="grid10">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="xscale">0</property>
- <property name="yscale">0</property>
+ <property name="halign">center</property>
+ <property name="hexpand">True</property>
+ <property name="column_spacing">2</property>
<child>
- <object class="GtkHBox" id="hbox16">
+ <object class="GtkLabel" id="label9">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="spacing">2</property>
- <child>
- <object class="GtkImage" id="image21">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="stock">gtk-clear</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="label13">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="label" translatable="yes">_Clear state</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>
+ <property name="valign">baseline</property>
+ <property name="label" translatable="yes">P_ause</property>
+ <property name="use_underline">True</property>
+ <property name="ellipsize">end</property>
</object>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="top_attach">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkImage" id="image17">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="valign">baseline</property>
+ <property name="icon_name">media-playback-pause</property>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">0</property>
+ </packing>
</child>
</object>
</child>
</object>
<packing>
- <property name="expand">False</property>
- <property name="fill">False</property>
- <property name="position">2</property>
+ <property name="left_attach">1</property>
+ <property name="top_attach">0</property>
</packing>
</child>
- </object>
- <packing>
- <property name="expand">False</property>
- <property name="fill">True</property>
- <property name="position">2</property>
- </packing>
- </child>
- <child>
- <object class="GtkHButtonBox" id="hbuttonbox1">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="spacing">6</property>
<child>
- <object class="GtkButton" id="play-button">
+ <object class="GtkButton" id="stop-button">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="can_default">True</property>
<property name="receives_default">False</property>
- <signal name="clicked" handler="on_play_button_clicked" swapped="no"/>
+ <property name="halign">center</property>
+ <property name="hexpand">True</property>
+ <signal name="clicked" handler="on_stop_button_clicked" swapped="no"/>
<child>
- <object class="GtkAlignment" id="alignment9">
+ <object class="GtkGrid" id="grid9">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="xscale">0</property>
- <property name="yscale">0</property>
+ <property name="halign">center</property>
+ <property name="hexpand">True</property>
+ <child>
+ <object class="GtkLabel" id="label10">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="valign">baseline</property>
+ <property name="label" translatable="yes">_Stop</property>
+ <property name="use_underline">True</property>
+ </object>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="top_attach">0</property>
+ </packing>
+ </child>
<child>
- <object class="GtkHBox" id="hbox11">
+ <object class="GtkImage" id="image18">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="spacing">2</property>
- <child>
- <object class="GtkImage" id="image16">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="stock">gtk-media-play</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="label8">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="label" translatable="yes">_Play</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>
+ <property name="valign">baseline</property>
+ <property name="icon_name">media-playback-stop</property>
</object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">0</property>
+ </packing>
</child>
</object>
</child>
</object>
<packing>
- <property name="expand">False</property>
- <property name="fill">False</property>
- <property name="position">0</property>
+ <property name="left_attach">2</property>
+ <property name="top_attach">0</property>
</packing>
</child>
<child>
- <object class="GtkButton" id="pause-button">
+ <object class="GtkButton" id="previous-button">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="can_default">True</property>
<property name="receives_default">False</property>
- <signal name="clicked" handler="on_pause_button_clicked" swapped="no"/>
+ <property name="halign">center</property>
+ <property name="hexpand">True</property>
+ <signal name="clicked" handler="on_previous_button_clicked" swapped="no"/>
<child>
- <object class="GtkAlignment" id="alignment10">
+ <object class="GtkGrid" id="grid8">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="xscale">0</property>
- <property name="yscale">0</property>
+ <property name="halign">center</property>
+ <property name="hexpand">True</property>
+ <property name="column_spacing">2</property>
+ <child>
+ <object class="GtkLabel" id="label11">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="valign">baseline</property>
+ <property name="label" translatable="yes">Pre_vious</property>
+ <property name="use_underline">True</property>
+ </object>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="top_attach">0</property>
+ </packing>
+ </child>
<child>
- <object class="GtkHBox" id="hbox12">
+ <object class="GtkImage" id="image19">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="spacing">2</property>
- <child>
- <object class="GtkImage" id="image17">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="stock">gtk-media-pause</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="label9">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="label" translatable="yes">P_ause</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>
+ <property name="valign">baseline</property>
+ <property name="icon_name">media-skip-backward</property>
</object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">0</property>
+ </packing>
</child>
</object>
</child>
</object>
<packing>
- <property name="expand">False</property>
- <property name="fill">False</property>
- <property name="position">1</property>
+ <property name="left_attach">3</property>
+ <property name="top_attach">0</property>
</packing>
</child>
<child>
- <object class="GtkButton" id="stop-button">
+ <object class="GtkButton" id="next-button">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="can_default">True</property>
<property name="receives_default">False</property>
- <signal name="clicked" handler="on_stop_button_clicked" swapped="no"/>
+ <property name="halign">center</property>
+ <property name="hexpand">True</property>
+ <signal name="clicked" handler="on_next_button_clicked" swapped="no"/>
<child>
- <object class="GtkAlignment" id="alignment11">
+ <object class="GtkGrid" id="grid7">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="xscale">0</property>
- <property name="yscale">0</property>
+ <property name="halign">center</property>
+ <property name="valign">center</property>
+ <property name="hexpand">True</property>
+ <property name="column_spacing">2</property>
+ <child>
+ <object class="GtkImage" id="image20">
+ <property name="height_request">-1</property>
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="valign">baseline</property>
+ <property name="icon_name">media-skip-backward</property>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">0</property>
+ </packing>
+ </child>
<child>
- <object class="GtkHBox" id="hbox13">
+ <object class="GtkLabel" id="label12">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="spacing">2</property>
- <child>
- <object class="GtkImage" id="image18">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="stock">gtk-media-stop</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="label10">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="label" translatable="yes">_Stop</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>
+ <property name="valign">baseline</property>
+ <property name="label" translatable="yes">_Next</property>
+ <property name="use_underline">True</property>
</object>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="top_attach">0</property>
+ </packing>
</child>
</object>
</child>
</object>
<packing>
- <property name="expand">False</property>
- <property name="fill">False</property>
- <property name="position">2</property>
+ <property name="left_attach">4</property>
+ <property name="top_attach">0</property>
</packing>
</child>
<child>
- <object class="GtkButton" id="previous-button">
+ <object class="GtkButton" id="rescan-button">
+ <property name="label" translatable="yes">Rescan</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="can_default">True</property>
<property name="receives_default">False</property>
- <signal name="clicked" handler="on_previous_button_clicked" swapped="no"/>
- <child>
- <object class="GtkAlignment" id="alignment12">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="xscale">0</property>
- <property name="yscale">0</property>
- <child>
- <object class="GtkHBox" id="hbox14">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="spacing">2</property>
- <child>
- <object class="GtkImage" id="image19">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="stock">gtk-media-previous</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="label11">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="label" translatable="yes">Pre_vious</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>
- </child>
+ <property name="halign">center</property>
+ <property name="hexpand">True</property>
</object>
<packing>
- <property name="expand">False</property>
- <property name="fill">False</property>
- <property name="position">3</property>
+ <property name="left_attach">5</property>
+ <property name="top_attach">0</property>
</packing>
</child>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">3</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkScale" id="position-scale">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="adjustment">adjustment1</property>
+ <property name="round_digits">1</property>
+ <property name="draw_value">False</property>
+ <signal name="value-changed" handler="on_position_scale_value_changed" swapped="no"/>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkGrid" id="grid5">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="column_spacing">4</property>
<child>
- <object class="GtkButton" id="next-button">
+ <object class="GtkButton" id="clear_state_button">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="can_default">True</property>
<property name="receives_default">False</property>
- <signal name="clicked" handler="on_next_button_clicked" swapped="no"/>
+ <property name="tooltip_text" translatable="yes">Clears the CP's idea of the state of
the currently selected AV Renderer. Useful for dealing with AV Renderers that don't report state
changes.</property>
+ <signal name="clicked" handler="on_clear_state_button_clicked" swapped="no"/>
<child>
- <object class="GtkAlignment" id="alignment13">
+ <object class="GtkGrid" id="grid6">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="xscale">0</property>
- <property name="yscale">0</property>
+ <property name="column_spacing">2</property>
<child>
- <object class="GtkHBox" id="hbox15">
+ <object class="GtkLabel" id="label13">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="spacing">2</property>
- <child>
- <object class="GtkImage" id="image20">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="stock">gtk-media-next</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="label12">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="label" translatable="yes">_Next</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>
+ <property name="label" translatable="yes">_Clear state</property>
+ <property name="use_underline">True</property>
</object>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="top_attach">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkImage" id="image21">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="icon_name">edit-clear</property>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">0</property>
+ </packing>
</child>
</object>
</child>
</object>
<packing>
- <property name="expand">False</property>
- <property name="fill">False</property>
- <property name="position">4</property>
+ <property name="left_attach">2</property>
+ <property name="top_attach">0</property>
</packing>
</child>
<child>
- <object class="GtkButton" id="rescan-button">
- <property name="label" translatable="yes">Rescan</property>
+ <object class="GtkComboBox" id="renderer-combobox">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="hexpand">True</property>
+ </object>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="top_attach">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel" id="label7">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="halign">start</property>
+ <property name="label" translatable="yes">_Renderer: </property>
+ <property name="use_underline">True</property>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">0</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">2</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkGrid" id="grid4">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="hexpand">True</property>
+ <property name="vexpand">True</property>
+ <property name="column_spacing">12</property>
+ <child>
+ <object class="GtkImage" id="volume-max-image">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="halign">center</property>
+ <property name="valign">center</property>
+ <property name="icon_name">audio-volume-high</property>
+ </object>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="top_attach">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkScale" id="volume-scale">
<property name="visible">True</property>
<property name="can_focus">True</property>
- <property name="can_default">True</property>
- <property name="receives_default">False</property>
+ <property name="halign">center</property>
+ <property name="vexpand">True</property>
+ <property name="orientation">vertical</property>
+ <property name="adjustment">adjustment2</property>
+ <property name="inverted">True</property>
+ <property name="round_digits">1</property>
+ <property name="draw_value">False</property>
+ <signal name="value-changed" handler="on_volume_scale_value_changed" swapped="no"/>
+ </object>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="top_attach">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkImage" id="volume-min-image">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="halign">center</property>
+ <property name="valign">center</property>
+ <property name="icon_name">audio-volume-low</property>
</object>
<packing>
- <property name="expand">False</property>
- <property name="fill">False</property>
- <property name="position">5</property>
+ <property name="left_attach">1</property>
+ <property name="top_attach">2</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkScrolledWindow" id="scrolledwindow1">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="hexpand">True</property>
+ <property name="vexpand">True</property>
+ <property name="shadow_type">in</property>
+ <child>
+ <object class="GtkTreeView" id="playlist-treeview">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="headers_visible">False</property>
+ <signal name="button-release-event" handler="on_playlist_treeview_button_release"
swapped="no"/>
+ <signal name="row-activated" handler="on_play_button_clicked" swapped="no"/>
+ <signal name="row-collapsed" handler="on_playlist_row_collapsed" swapped="no"/>
+ <signal name="row-expanded" handler="on_playlist_row_expanded" swapped="no"/>
+ <child internal-child="selection">
+ <object class="GtkTreeSelection" id="treeview-selection1"/>
+ </child>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">0</property>
+ <property name="height">3</property>
</packing>
</child>
</object>
<packing>
- <property name="expand">False</property>
- <property name="fill">True</property>
- <property name="position">3</property>
+ <property name="left_attach">0</property>
+ <property name="top_attach">0</property>
</packing>
</child>
</object>
<packing>
- <property name="expand">True</property>
- <property name="fill">True</property>
- <property name="position">1</property>
+ <property name="left_attach">0</property>
+ <property name="top_attach">1</property>
</packing>
</child>
<child>
@@ -729,13 +603,88 @@ Vinicius Depizzol <vdepizzol gmail com></property>
<property name="can_focus">False</property>
</object>
<packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">2</property>
+ </packing>
+ </child>
+ </object>
+ </child>
+ </object>
+ <object class="GtkSizeGroup" id="playback-button-sizegroup">
+ <widgets>
+ <widget name="play-button"/>
+ <widget name="pause-button"/>
+ <widget name="stop-button"/>
+ <widget name="previous-button"/>
+ <widget name="next-button"/>
+ <widget name="rescan-button"/>
+ </widgets>
+ </object>
+ <object class="GtkDialog" id="didl-dialog">
+ <property name="width_request">640</property>
+ <property name="height_request">480</property>
+ <property name="can_focus">False</property>
+ <property name="border_width">5</property>
+ <property name="title" translatable="yes">GUPnP AV CP - Metadata View</property>
+ <property name="type_hint">normal</property>
+ <signal name="delete-event" handler="gtk_widget_hide_on_delete" swapped="no"/>
+ <child internal-child="vbox">
+ <object class="GtkBox" id="dialog-vbox3">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="orientation">vertical</property>
+ <property name="spacing">2</property>
+ <child internal-child="action_area">
+ <object class="GtkButtonBox" id="didl-action-area">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="layout_style">end</property>
+ <child>
+ <object class="GtkButton" id="didl-close-button">
+ <property name="label">Close</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <signal name="clicked" handler="gtk_widget_hide" object="didl-dialog" swapped="yes"/>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
<property name="expand">False</property>
- <property name="fill">False</property>
- <property name="position">2</property>
+ <property name="fill">True</property>
+ <property name="pack_type">end</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkScrolledWindow" id="didl-scrolledwindow">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <child>
+ <object class="@TEXT_VIEW@" id="didl-textview">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="editable">False</property>
+ <property name="wrap_mode">char</property>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ <property name="position">1</property>
</packing>
</child>
</object>
</child>
+ <action-widgets>
+ <action-widget response="0">didl-close-button</action-widget>
+ </action-widgets>
</object>
<object class="GtkMenu" id="playlist-popup">
<property name="visible">True</property>
diff --git a/src/av-cp/renderer-combo.c b/src/av-cp/renderer-combo.c
index a8b8d12..ba41aa0 100644
--- a/src/av-cp/renderer-combo.c
+++ b/src/av-cp/renderer-combo.c
@@ -309,7 +309,7 @@ set_volume (const gchar *udn,
-1);
if (is_iter_active (GTK_COMBO_BOX (renderer_combo), &iter)) {
- set_volume_hscale (volume);
+ set_volume_scale (volume);
}
}
}
@@ -332,7 +332,7 @@ set_duration (const gchar *udn,
-1);
if (is_iter_active (GTK_COMBO_BOX (renderer_combo), &iter)) {
- set_position_hscale_duration (duration);
+ set_position_scale_duration (duration);
}
}
}
@@ -873,7 +873,7 @@ on_renderer_combo_changed (GtkComboBox *widget,
6, &state,
7, &volume,
-1);
- set_volume_hscale (volume);
+ set_volume_scale (volume);
prepare_controls_for_state (state);
}
diff --git a/src/av-cp/renderer-controls.c b/src/av-cp/renderer-controls.c
index f65e861..b051afd 100644
--- a/src/av-cp/renderer-controls.c
+++ b/src/av-cp/renderer-controls.c
@@ -31,8 +31,8 @@
#define SEC_PER_MIN 60
#define SEC_PER_HOUR 3600
-GtkWidget *volume_vscale;
-GtkWidget *position_hscale;
+GtkWidget *volume_scale;
+GtkWidget *position_scale;
GtkWidget *play_button;
GtkWidget *pause_button;
GtkWidget *stop_button;
@@ -197,7 +197,7 @@ set_av_transport_uri_cb (GUPnPServiceProxy *av_transport,
duration = gupnp_didl_lite_resource_get_duration
(data->resource);
if (duration > 0) {
- gtk_range_set_range (GTK_RANGE (position_hscale),
+ gtk_range_set_range (GTK_RANGE (position_scale),
0.0,
duration);
}
@@ -221,20 +221,20 @@ set_av_transport_uri_cb (GUPnPServiceProxy *av_transport,
G_MODULE_EXPORT
gboolean
-on_volume_vscale_value_changed (GtkRange *range,
- gpointer user_data);
+on_volume_scale_value_changed (GtkRange *range,
+ gpointer user_data);
void
-set_volume_hscale (guint volume)
+set_volume_scale (guint volume)
{
- g_signal_handlers_block_by_func (volume_vscale,
- on_volume_vscale_value_changed,
+ g_signal_handlers_block_by_func (volume_scale,
+ on_volume_scale_value_changed,
NULL);
- gtk_range_set_value (GTK_RANGE (volume_vscale), volume);
+ gtk_range_set_value (GTK_RANGE (volume_scale), volume);
- g_signal_handlers_unblock_by_func (volume_vscale,
- on_volume_vscale_value_changed,
+ g_signal_handlers_unblock_by_func (volume_scale,
+ on_volume_scale_value_changed,
NULL);
}
@@ -399,8 +399,8 @@ on_clear_state_button_clicked (GtkButton *button,
G_MODULE_EXPORT
gboolean
-on_position_hscale_value_changed (GtkRange *range,
- gpointer user_data)
+on_position_scale_value_changed (GtkRange *range,
+ gpointer user_data)
{
char *args[] = { "Unit", "ABS_TIME", "Target", NULL, NULL };
guint total_secs;
@@ -454,35 +454,35 @@ return_point:
}
void
-set_position_hscale_duration (const char *duration_str)
+set_position_scale_duration (const char *duration_str)
{
gdouble duration;
duration = seconds_from_time (duration_str);
if (duration > 0.0) {
- gtk_range_set_range (GTK_RANGE (position_hscale),
+ gtk_range_set_range (GTK_RANGE (position_scale),
0.0,
duration);
}
}
void
-set_position_hscale_position (const char *position_str)
+set_position_scale_position (const char *position_str)
{
gdouble position;
position = seconds_from_time (position_str);
if (position >= 0.0) {
g_signal_handlers_block_by_func
- (position_hscale,
- on_position_hscale_value_changed,
+ (position_scale,
+ on_position_scale_value_changed,
NULL);
- gtk_range_set_value (GTK_RANGE (position_hscale), position);
+ gtk_range_set_value (GTK_RANGE (position_scale), position);
g_signal_handlers_unblock_by_func
- (position_hscale,
- on_position_hscale_value_changed,
+ (position_scale,
+ on_position_scale_value_changed,
NULL);
}
}
@@ -515,7 +515,7 @@ get_position_info_cb (GUPnPServiceProxy *av_transport,
goto return_point;
}
- set_position_hscale_position (position);
+ set_position_scale_position (position);
return_point:
g_object_unref (av_transport);
@@ -617,18 +617,18 @@ prepare_controls_for_state (PlaybackState state)
}
/* Disable the seekbar when the state is stopped */
- gtk_widget_set_sensitive (position_hscale, stop_possible);
+ gtk_widget_set_sensitive (position_scale, stop_possible);
if (!stop_possible) {
g_signal_handlers_block_by_func
- (position_hscale,
- on_position_hscale_value_changed,
+ (position_scale,
+ on_position_scale_value_changed,
NULL);
- gtk_range_set_value (GTK_RANGE (position_hscale), 0.0);
+ gtk_range_set_value (GTK_RANGE (position_scale), 0.0);
g_signal_handlers_unblock_by_func
- (position_hscale,
- on_position_hscale_value_changed,
+ (position_scale,
+ on_position_scale_value_changed,
NULL);
}
@@ -661,7 +661,7 @@ set_volume_cb (GUPnPServiceProxy *rendering_control,
g_error_free (error);
/* Update the range according to the current volume */
- set_volume_hscale (get_selected_renderer_volume ());
+ set_volume_scale (get_selected_renderer_volume ());
}
g_object_unref (rendering_control);
@@ -669,8 +669,8 @@ set_volume_cb (GUPnPServiceProxy *rendering_control,
G_MODULE_EXPORT
gboolean
-on_volume_vscale_value_changed (GtkRange *range,
- gpointer user_data)
+on_volume_scale_value_changed (GtkRange *range,
+ gpointer user_data)
{
GUPnPServiceProxy *rendering_control;
guint desired_volume;
@@ -704,14 +704,14 @@ on_volume_vscale_value_changed (GtkRange *range,
void
setup_renderer_controls (GtkBuilder *builder)
{
- volume_vscale = GTK_WIDGET (gtk_builder_get_object (builder,
- "volume-vscale"));
- g_assert (volume_vscale != NULL);
+ volume_scale = GTK_WIDGET (gtk_builder_get_object (builder,
+ "volume-scale"));
+ g_assert (volume_scale != NULL);
- position_hscale = GTK_WIDGET (gtk_builder_get_object (
+ position_scale = GTK_WIDGET (gtk_builder_get_object (
builder,
- "position-hscale"));
- g_assert (position_hscale != NULL);
+ "position-scale"));
+ g_assert (position_scale != NULL);
play_button = GTK_WIDGET (gtk_builder_get_object (builder,
"play-button"));
@@ -740,7 +740,7 @@ setup_renderer_controls (GtkBuilder *builder)
timeout_id = 0;
- g_object_weak_ref (G_OBJECT (position_hscale),
+ g_object_weak_ref (G_OBJECT (position_scale),
(GWeakNotify) remove_timeout,
NULL);
}
diff --git a/src/av-cp/renderer-controls.h b/src/av-cp/renderer-controls.h
index d3e4573..35ed2f0 100644
--- a/src/av-cp/renderer-controls.h
+++ b/src/av-cp/renderer-controls.h
@@ -33,13 +33,13 @@ set_av_transport_uri (const char *metadata,
GCallback callback);
void
-set_volume_hscale (guint volume);
+set_volume_scale (guint volume);
void
-set_position_hscale_duration (const char *duration_str);
+set_position_scale_duration (const char *duration_str);
void
-set_position_hscale_position (const char *position_str);
+set_position_scale_position (const char *position_str);
void
prepare_controls_for_state (PlaybackState state);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]