play_media.ui (15103B)
1 <?xml version="1.0" encoding="UTF-8"?> 2 <!-- Generated with glade 3.40.0 3 4 Copyright (C) 2022‑‑2025 GNUnet e.V. 5 6 GNUnet is free software: you can redistribute it and/or modify it 7 under the terms of the GNU Affero General Public License as published 8 by the Free Software Foundation, either version 3 of the License, 9 or (at your option) any later version. 10 11 GNUnet is distributed in the hope that it will be useful, but 12 WITHOUT ANY WARRANTY; without even the implied warranty of 13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14 Affero General Public License for more details. 15 16 You should have received a copy of the GNU Affero General Public License 17 along with this program. If not, see <http://www.gnu.org/licenses/>. 18 19 SPDX-License-Identifier: AGPL3.0-or-later 20 Author: Tobias Frisch 21 22 --> 23 <interface> 24 <requires lib="gtk+" version="3.24"/> 25 <requires lib="libhandy" version="1.2"/> 26 <object class="GtkAdjustment" id="timeline_adjustment"> 27 <property name="upper">100</property> 28 <property name="step-increment">1</property> 29 <property name="page-increment">10</property> 30 </object> 31 <object class="HdyWindow" id="play_media_window"> 32 <property name="width-request">250</property> 33 <property name="height-request">250</property> 34 <property name="can-focus">False</property> 35 <property name="modal">True</property> 36 <property name="window-position">center-on-parent</property> 37 <property name="type-hint">dialog</property> 38 <child> 39 <object class="GtkBox"> 40 <property name="visible">1</property> 41 <property name="orientation">vertical</property> 42 <child> 43 <object class="GtkRevealer" id="header_revealer"> 44 <property name="visible">1</property> 45 <property name="reveal-child">1</property> 46 <child> 47 <object class="HdyWindowHandle"> 48 <property name="visible">True</property> 49 <property name="can-focus">False</property> 50 <child> 51 <object class="HdyHeaderBar" id="title_bar"> 52 <property name="visible">True</property> 53 <property name="can-focus">False</property> 54 <property name="title" translatable="yes">Play Media</property> 55 <property name="show-close-button">True</property> 56 <child> 57 <object class="GtkButton" id="back_button"> 58 <property name="visible">1</property> 59 <property name="can-focus">1</property> 60 <property name="receives-default">1</property> 61 <property name="relief">none</property> 62 <child> 63 <object class="GtkImage"> 64 <property name="visible">1</property> 65 <property name="icon-name">go-previous-symbolic</property> 66 </object> 67 </child> 68 </object> 69 </child> 70 </object> 71 </child> 72 </object> 73 </child> 74 </object> 75 </child> 76 <child> 77 <object class="HdyFlap" id="controls_flap"> 78 <property name="visible">True</property> 79 <property name="can-focus">False</property> 80 <property name="orientation">vertical</property> 81 <property name="flap-position">end</property> 82 <property name="modal">False</property> 83 <child type="content"> 84 <object class="GtkStack" id="preview_stack"> 85 <property name="visible">1</property> 86 <child> 87 <object class="GtkBox" id="video_box"> 88 <property name="visible">1</property> 89 <property name="orientation">vertical</property> 90 </object> 91 <packing> 92 <property name="name">page_video</property> 93 </packing> 94 </child> 95 <child> 96 <object class="GtkBox" id="fail_box"> 97 <property name="visible">1</property> 98 <property name="halign">center</property> 99 <property name="valign">center</property> 100 <property name="orientation">vertical</property> 101 <property name="spacing">8</property> 102 <child> 103 <object class="GtkImage"> 104 <property name="visible">1</property> 105 <property name="pixel-size">64</property> 106 <property name="icon-name">action-unavailable-symbolic</property> 107 <property name="icon-size">3</property> 108 </object> 109 </child> 110 <child> 111 <object class="GtkLabel"> 112 <property name="visible">1</property> 113 <property name="label" translatable="yes">Video source invalid!</property> 114 </object> 115 <packing> 116 <property name="position">1</property> 117 </packing> 118 </child> 119 </object> 120 <packing> 121 <property name="name">page_fail</property> 122 <property name="position">1</property> 123 </packing> 124 </child> 125 </object> 126 </child> 127 <child type="separator"> 128 <object class="GtkSeparator"> 129 <property name="visible">1</property> 130 </object> 131 </child> 132 <child type="flap"> 133 <object class="GtkBox"> 134 <property name="visible">1</property> 135 <property name="orientation">vertical</property> 136 <child> 137 <object class="GtkBox"> 138 <property name="visible">1</property> 139 <property name="border-width">4</property> 140 <property name="spacing">8</property> 141 <child> 142 <object class="GtkButton" id="play_pause_button"> 143 <property name="visible">1</property> 144 <property name="sensitive">0</property> 145 <property name="can-focus">1</property> 146 <property name="receives-default">1</property> 147 <property name="relief">none</property> 148 <child> 149 <object class="GtkStack" id="play_symbol_stack"> 150 <property name="visible">1</property> 151 <child> 152 <object class="GtkImage"> 153 <property name="visible">1</property> 154 <property name="sensitive">0</property> 155 <property name="icon-name">media-playback-start-symbolic</property> 156 </object> 157 <packing> 158 <property name="name">play_page</property> 159 </packing> 160 </child> 161 <child> 162 <object class="GtkImage"> 163 <property name="visible">1</property> 164 <property name="icon-name">media-playback-pause-symbolic</property> 165 </object> 166 <packing> 167 <property name="name">pause_page</property> 168 <property name="position">1</property> 169 </packing> 170 </child> 171 </object> 172 </child> 173 </object> 174 </child> 175 <child> 176 <object class="GtkVolumeButton" id="volume_button"> 177 <property name="visible">1</property> 178 <property name="sensitive">0</property> 179 <property name="can-focus">1</property> 180 <property name="focus-on-click">0</property> 181 <property name="receives-default">1</property> 182 <property name="relief">none</property> 183 <property name="orientation">vertical</property> 184 <property name="icons">audio-volume-muted-symbolic 185 audio-volume-high-symbolic 186 audio-volume-low-symbolic 187 audio-volume-medium-symbolic</property> 188 <child internal-child="plus_button"> 189 <object class="GtkButton"> 190 </object> 191 </child> 192 <child internal-child="minus_button"> 193 <object class="GtkButton"> 194 </object> 195 </child> 196 </object> 197 <packing> 198 <property name="position">1</property> 199 </packing> 200 </child> 201 <child> 202 <object class="HdyLeaflet"> 203 <property name="visible">True</property> 204 <property name="can-focus">False</property> 205 <property name="visible-child">timeline_scale</property> 206 <property name="transition-type">slide</property> 207 <child> 208 <object class="GtkLabel" id="timeline_label"> 209 <property name="width-request">80</property> 210 <property name="visible">1</property> 211 <property name="margin-end">4</property> 212 <property name="label">0:00 / 0:00</property> 213 </object> 214 </child> 215 <child> 216 <object class="GtkScale" id="timeline_scale"> 217 <property name="width-request">100</property> 218 <property name="visible">1</property> 219 <property name="sensitive">0</property> 220 <property name="can-focus">1</property> 221 <property name="margin-start">4</property> 222 <property name="hexpand">1</property> 223 <property name="adjustment">timeline_adjustment</property> 224 <property name="draw-value">0</property> 225 </object> 226 </child> 227 </object> 228 <packing> 229 <property name="expand">1</property> 230 <property name="position">3</property> 231 </packing> 232 </child> 233 <child> 234 <object class="GtkButton" id="fullscreen_button"> 235 <property name="visible">1</property> 236 <property name="can-focus">1</property> 237 <property name="receives-default">1</property> 238 <property name="relief">none</property> 239 <child> 240 <object class="GtkStack" id="fullscreen_symbol_stack"> 241 <property name="visible">1</property> 242 <child> 243 <object class="GtkImage"> 244 <property name="visible">1</property> 245 <property name="icon-name">view-fullscreen-symbolic</property> 246 </object> 247 <packing> 248 <property name="name">scale_up_page</property> 249 </packing> 250 </child> 251 <child> 252 <object class="GtkImage"> 253 <property name="visible">1</property> 254 <property name="icon-name">view-restore-symbolic</property> 255 </object> 256 <packing> 257 <property name="name">scale_down_page</property> 258 <property name="position">1</property> 259 </packing> 260 </child> 261 </object> 262 </child> 263 </object> 264 <packing> 265 <property name="pack-type">end</property> 266 <property name="position">3</property> 267 </packing> 268 </child> 269 <child> 270 <object class="GtkButton" id="settings_button"> 271 <property name="visible">1</property> 272 <property name="sensitive">0</property> 273 <property name="can-focus">1</property> 274 <property name="receives-default">1</property> 275 <property name="relief">none</property> 276 <child> 277 <object class="GtkImage"> 278 <property name="visible">1</property> 279 <property name="icon-name">preferences-other-symbolic</property> 280 </object> 281 </child> 282 </object> 283 <packing> 284 <property name="pack-type">end</property> 285 <property name="position">4</property> 286 </packing> 287 </child> 288 </object> 289 <packing> 290 <property name="pack-type">end</property> 291 <property name="position">1</property> 292 </packing> 293 </child> 294 <child> 295 <object class="GtkProgressBar" id="timeline_progress_bar"> 296 <property name="visible">1</property> 297 <property name="margin-start">4</property> 298 <property name="margin-end">4</property> 299 </object> 300 <packing> 301 <property name="position">2</property> 302 </packing> 303 </child> 304 </object> 305 </child> 306 </object> 307 <packing> 308 <property name="expand">1</property> 309 <property name="pack-type">end</property> 310 <property name="position">2</property> 311 </packing> 312 </child> 313 </object> 314 </child> 315 </object> 316 </interface>