[gnome-music/playbar] centerize progress scale
- From: Eslam Mostafa <cseslam src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-music/playbar] centerize progress scale
- Date: Fri, 3 May 2013 15:13:54 +0000 (UTC)
commit cd6dcfe5ab53c65fc14c6e0b1d266238e9718822
Author: Eslam Mostafa <cseslam gmail com>
Date: Fri May 3 17:13:36 2013 +0200
centerize progress scale
data/PlayerToolbar.ui | 499 +++++++++++++++++++++++++++----------------------
src/player.js | 25 +--
2 files changed, 281 insertions(+), 243 deletions(-)
---
diff --git a/data/PlayerToolbar.ui b/data/PlayerToolbar.ui
index 05486e3..9740911 100644
--- a/data/PlayerToolbar.ui
+++ b/data/PlayerToolbar.ui
@@ -1,123 +1,23 @@
<?xml version="1.0" encoding="UTF-8"?>
<interface>
<!-- interface-requires gtk+ 3.6 -->
- <object class="GtkImage" id="next_image">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="has_focus">False</property>
- <property name="is_focus">False</property>
- <property name="icon_name">media-skip-forward-symbolic</property>
- <property name="icon_size">1</property>
- </object>
- <object class="GtkImage" id="pause_image">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="has_focus">False</property>
- <property name="is_focus">False</property>
- <property name="icon_name">media-playback-pause-symbolic</property>
- <property name="icon_size">1</property>
- </object>
- <object class="GtkImage" id="play_image">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="has_focus">False</property>
- <property name="is_focus">False</property>
- <property name="icon_name">media-playback-start-symbolic</property>
- <property name="icon_size">1</property>
- </object>
- <object class="GtkImage" id="previous_image">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="has_focus">False</property>
- <property name="is_focus">False</property>
- <property name="icon_name">media-skip-backward-symbolic</property>
- <property name="icon_size">1</property>
- </object>
- <object class="GtkMenu" id="replayMenu">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="has_focus">False</property>
- <property name="is_focus">False</property>
- </object>
<object class="GtkFrame" id="eventBox">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="has_focus">False</property>
- <property name="is_focus">False</property>
<property name="label_xalign">0</property>
<property name="shadow_type">none</property>
<style>
<class name="play-bar"/>
</style>
<child>
- <object class="GtkBox" id="player">
+ <object class="GtkBox" id="conatiner">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="has_focus">False</property>
- <property name="is_focus">False</property>
- <property name="border_width">9</property>
- <property name="spacing">9</property>
+ <property name="orientation">vertical</property>
<child>
- <object class="GtkBox" id="buttons">
+ <object class="GtkSeparator" id="separator1">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="has_focus">False</property>
- <property name="is_focus">False</property>
- <style>
- <class name="linked"/>
- </style>
- <child>
- <object class="GtkButton" id="previous_button">
- <property name="visible">True</property>
- <property name="sensitive">False</property>
- <property name="can_focus">True</property>
- <property name="has_focus">False</property>
- <property name="is_focus">False</property>
- <property name="receives_default">True</property>
- <property name="image">previous_image</property>
- <property name="always_show_image">True</property>
- </object>
- <packing>
- <property name="expand">False</property>
- <property name="fill">True</property>
- <property name="position">0</property>
- </packing>
- </child>
- <child>
- <object class="GtkToggleButton" id="play_button">
- <property name="width_request">55</property>
- <property name="visible">True</property>
- <property name="sensitive">False</property>
- <property name="can_focus">True</property>
- <property name="has_focus">False</property>
- <property name="is_focus">False</property>
- <property name="receives_default">True</property>
- <property name="image">play_image</property>
- <property name="always_show_image">True</property>
- </object>
- <packing>
- <property name="expand">False</property>
- <property name="fill">True</property>
- <property name="position">1</property>
- </packing>
- </child>
- <child>
- <object class="GtkButton" id="next_button">
- <property name="visible">True</property>
- <property name="sensitive">False</property>
- <property name="can_focus">True</property>
- <property name="has_focus">False</property>
- <property name="is_focus">False</property>
- <property name="receives_default">True</property>
- <property name="image">next_image</property>
- <property name="always_show_image">True</property>
- </object>
- <packing>
- <property name="expand">False</property>
- <property name="fill">True</property>
- <property name="position">2</property>
- </packing>
- </child>
</object>
<packing>
<property name="expand">False</property>
@@ -126,90 +26,252 @@
</packing>
</child>
<child>
- <object class="GtkImage" id="cover">
- <property name="can_focus">False</property>
- <property name="has_focus">False</property>
- <property name="is_focus">False</property>
- </object>
- <packing>
- <property name="expand">False</property>
- <property name="fill">True</property>
- <property name="position">1</property>
- </packing>
- </child>
- <child>
- <object class="GtkBox" id="nowplaying">
+ <object class="GtkBox" id="player">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="has_focus">False</property>
- <property name="is_focus">False</property>
- <property name="orientation">vertical</property>
+ <property name="border_width">9</property>
<property name="homogeneous">True</property>
<child>
- <object class="GtkLabel" id="artist">
+ <object class="GtkBox" id="leftBox">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="has_focus">False</property>
- <property name="is_focus">False</property>
- <property name="ellipsize">middle</property>
- <style>
- <class name="dim-label"/>
- </style>
- <attributes>
- <attribute name="weight" value="bold"/>
- </attributes>
+ <property name="spacing">9</property>
+ <child>
+ <object class="GtkBox" id="buttons">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <style>
+ <class name="linked"/>
+ </style>
+ <child>
+ <object class="GtkButton" id="previous_button">
+ <property name="visible">True</property>
+ <property name="sensitive">False</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <property name="image">previous_image</property>
+ <property name="always_show_image">True</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkToggleButton" id="play_button">
+ <property name="width_request">55</property>
+ <property name="visible">True</property>
+ <property name="sensitive">False</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <property name="image">play_image</property>
+ <property name="always_show_image">True</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkButton" id="next_button">
+ <property name="visible">True</property>
+ <property name="sensitive">False</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <property name="image">next_image</property>
+ <property name="always_show_image">True</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</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="GtkImage" id="cover">
+ <property name="can_focus">False</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkBox" id="nowplaying">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="halign">center</property>
+ <property name="valign">center</property>
+ <property name="orientation">vertical</property>
+ <property name="homogeneous">True</property>
+ <child>
+ <object class="GtkLabel" id="artist">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="halign">start</property>
+ <property name="valign">start</property>
+ <property name="ellipsize">middle</property>
+ <style>
+ <class name="dim-label"/>
+ </style>
+ <attributes>
+ <attribute name="weight" value="bold"/>
+ </attributes>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel" id="title">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="halign">start</property>
+ <property name="valign">start</property>
+ <property name="xalign">0</property>
+ <property name="ellipsize">middle</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ </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="expand">True</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
- <object class="GtkLabel" id="title">
+ <object class="GtkBox" id="middleBox">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="has_focus">False</property>
- <property name="is_focus">False</property>
- <property name="xalign">0</property>
+ <property name="spacing">9</property>
+ <child>
+ <object class="GtkScale" id="progress_scale">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="valign">center</property>
+ <property name="draw_value">False</property>
+ </object>
+ <packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
</object>
<packing>
- <property name="expand">False</property>
+ <property name="expand">True</property>
<property name="fill">True</property>
<property name="position">1</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="GtkScale" id="progress_scale">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="has_focus">False</property>
- <property name="is_focus">False</property>
- <property name="round_digits">1</property>
- <property name="draw_value">False</property>
- </object>
- <packing>
- <property name="expand">True</property>
- <property name="fill">True</property>
- <property name="position">3</property>
- </packing>
- </child>
- <child>
- <object class="GtkBox" id="menuBox">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="has_focus">False</property>
- <property name="is_focus">False</property>
- <property name="halign">center</property>
<child>
- <object class="GtkMenuButton" id="menuButton">
+ <object class="GtkBox" id="rightBox">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="halign">end</property>
+ <property name="valign">center</property>
+ <property name="spacing">9</property>
+ <child>
+ <object class="GtkBox" id="timer">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="halign">start</property>
+ <property name="valign">center</property>
+ <child>
+ <object class="GtkLabel" id="playback">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="halign">start</property>
+ <property name="valign">center</property>
+ <property name="label" translatable="yes">00:00</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="separator">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="halign">start</property>
+ <property name="valign">center</property>
+ <property name="label" translatable="yes">/</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel" id="duration">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="halign">start</property>
+ <property name="valign">center</property>
+ <property name="label" translatable="yes">00:00</property>
+ </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">False</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel" id="spacer">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="valign">center</property>
+ <property name="hexpand">True</property>
+ <property name="justify">fill</property>
+ </object>
+ <packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkBox" id="menuBox">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="halign">end</property>
+ <property name="valign">center</property>
+ <child>
+ <object class="GtkMenuButton" id="menuButton">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="has_focus">False</property>
@@ -256,68 +318,26 @@
</object>
</child>
</object>
- <packing>
- <property name="expand">False</property>
- <property name="fill">True</property>
- <property name="position">0</property>
- </packing>
- </child>
- </object>
- <packing>
- <property name="expand">False</property>
- <property name="fill">False</property>
- <property name="pack_type">end</property>
- <property name="position">4</property>
- </packing>
- </child>
- <child>
- <object class="GtkBox" id="time">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="has_focus">False</property>
- <property name="is_focus">False</property>
- <child>
- <object class="GtkLabel" id="playback">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="has_focus">False</property>
- <property name="is_focus">False</property>
- <property name="valign">center</property>
- <property name="label" translatable="yes">00:00</property>
- </object>
- <packing>
- <property name="expand">False</property>
- <property name="fill">True</property>
- <property name="position">0</property>
- </packing>
- </child>
- <child>
- <object class="GtkLabel" id="separator">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="has_focus">False</property>
- <property name="is_focus">False</property>
- <property name="valign">center</property>
- <property name="label" translatable="yes">/</property>
- </object>
- <packing>
- <property name="expand">False</property>
- <property name="fill">True</property>
- <property name="position">1</property>
- </packing>
- </child>
- <child>
- <object class="GtkLabel" id="duration">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="has_focus">False</property>
- <property name="is_focus">False</property>
- <property name="valign">center</property>
- <property name="label" translatable="yes">00:00</property>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="pack_type">end</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="pack_type">end</property>
+ <property name="position">2</property>
+ </packing>
+ </child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
+ <property name="pack_type">end</property>
<property name="position">2</property>
</packing>
</child>
@@ -325,15 +345,40 @@
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
- <property name="position">5</property>
+ <property name="position">1</property>
</packing>
</child>
- <child>
- <placeholder/>
- </child>
</object>
</child>
</object>
+ <object class="GtkImage" id="next_image">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="icon_name">media-skip-forward-symbolic</property>
+ <property name="icon-size">1</property>
+ </object>
+ <object class="GtkImage" id="pause_image">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="icon_name">media-playback-pause-symbolic</property>
+ <property name="icon-size">1</property>
+ </object>
+ <object class="GtkImage" id="play_image">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="icon_name">media-playback-start-symbolic</property>
+ <property name="icon-size">1</property>
+ </object>
+ <object class="GtkImage" id="previous_image">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="icon_name">media-skip-backward-symbolic</property>
+ <property name="icon-size">1</property>
+ </object>
+ <object class="GtkMenu" id="replayMenu">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ </object>
<object class="GtkListStore" id="replay_button_model">
<columns>
<!-- column-name icon -->
diff --git a/src/player.js b/src/player.js
index cdc6f1d..3937054 100644
--- a/src/player.js
+++ b/src/player.js
@@ -43,22 +43,6 @@ const RepeatType = {
ALL: 2
}
-const MenuButton = new Lang.Class({
- Name: "MenuButton",
- Extends: Gtk.Button,
-
- _init: function () {
- this.parent();
- let box = new Gtk.HBox();
- let image = Gtk.Image.new_from_icon_name("media-playlist-repeat-symbolic", Gtk.IconSize.MENU);
- let arrow = Gtk.Image.new_from_icon_name("go-down-symbolic", Gtk.IconSize.MENU);
- box.pack_start(image, false, false, 3);
- box.pack_start(arrow, false, false, 3);
- this.add(box);
- this.show_all();
- },
-});
-
const Player = new Lang.Class({
Name: "Player",
@@ -268,6 +252,15 @@ const Player = new Lang.Class({
this.coverImg = this._ui.get_object('cover');
this.duration = this._ui.get_object('duration');
this.replayBtn = this._ui.get_object('menuButton');
+ let replayMenu = this._ui.get_object('replayMenu');
+
+ let replaySong = Gtk.MenuItem.new_with_label("replay song");
+ let replayAll = Gtk.MenuItem.new_with_label("replay all");
+ let shuffle = Gtk.MenuItem.new_with_label("shuffle");
+ replayMenu.attach(replaySong, 0, 1, 0, 1);
+ replayMenu.attach(replayAll, 0, 1, 1, 2);
+ replayMenu.attach(shuffle, 0, 1, 2, 3);
+ replayMenu.show_all();
this.prevBtn.connect("clicked", Lang.bind(this, this._onPrevBtnClicked));
this.playBtn.connect("toggled", Lang.bind(this, this._onPlayBtnToggled));
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]