private void BuildFooter() { if (PlatformDetection.IsMeeGo) { return; } footer_toolbar = new HBox() { BorderWidth = 2 }; task_status = new Banshee.Gui.Widgets.TaskStatusIcon(); EventBox status_event_box = new EventBox(); status_event_box.ButtonPressEvent += OnStatusBoxButtonPress; status_label = new Label(); status_event_box.Add(status_label); HBox status_hbox = new HBox(true, 0); status_hbox.PackStart(status_event_box, false, false, 0); Alignment status_align = new Alignment(0.5f, 0.5f, 1.0f, 1.0f); status_align.Add(status_hbox); RepeatActionButton repeat_button = new RepeatActionButton(); repeat_button.SizeAllocated += delegate(object o, Gtk.SizeAllocatedArgs args) { status_align.LeftPadding = (uint)args.Allocation.Width; }; footer_toolbar.PackStart(task_status, false, false, 0); footer_toolbar.PackStart(status_align, true, true, 0); footer_toolbar.PackStart(repeat_button, false, false, 0); footer_toolbar.ShowAll(); primary_vbox.PackStart(footer_toolbar, false, true, 0); }
private void Build() { var vbox = new VBox() { Spacing = 12 }; var top = new HBox() { Spacing = 6 }; var bot = new HBox() { Spacing = 6 }; vbox.PackStart(top, false, false, 0); vbox.PackStart(bot, false, false, 0); // Top row: playback buttons, seek slider, full-mode button, volume Widget previous_button = ActionService.PlaybackActions["PreviousAction"].CreateToolItem(); Widget playpause_button = ActionService.PlaybackActions["PlayPauseAction"].CreateToolItem(); Widget button = ActionService.PlaybackActions["NextAction"].CreateToolItem(); Menu menu = ActionService.PlaybackActions.ShuffleActions.CreateMenu(); MenuButton next_button = new MenuButton(button, menu, true); top.PackStart(previous_button, false, false, 0); top.PackStart(playpause_button, false, false, 0); top.PackStart(next_button, false, false, 0); seek_slider = new ConnectedSeekSlider(); top.PackStart(seek_slider, true, true, 0); var fullmode_button = new Button() { Label = Catalog.GetString("Full Mode"), Image = new Image(Stock.LeaveFullscreen, Gtk.IconSize.Button), Relief = Gtk.ReliefStyle.None }; fullmode_button.Clicked += OnFullmode; top.PackStart(fullmode_button, false, false, 0); volume_button = new ConnectedVolumeButton(); top.PackStart(volume_button, false, false, 0); // Bottom row: source dropdown, track info display (cover art, etc), repeat mode button source_combo_box = new SourceComboBox(); bot.PackStart(source_combo_box, false, false, 0); track_info_display = new ClassicTrackInfoDisplay(); track_info_display.WidthRequest = 250; bot.PackStart(track_info_display, true, true, 0); var repeat_align = new Alignment(1, 1, 1, 1); var repeat_toggle_button = new RepeatActionButton(true); repeat_align.Add(repeat_toggle_button); bot.PackEnd(repeat_align, false, false, 0); SetTip(fullmode_button, Catalog.GetString("Switch back to full mode")); SetTip(repeat_toggle_button, Catalog.GetString("Change repeat playback mode")); Add(vbox); }
public MiniMode(BaseClientWindow defaultMainWindow) : base(Catalog.GetString("Banshee Media Player"), "minimode", 0, 0) { default_main_window = defaultMainWindow; glade = new Glade.XML(System.Reflection.Assembly.GetExecutingAssembly(), "minimode.glade", "MiniModeWindow", null); glade.Autoconnect(this); Widget child = glade["mini_mode_contents"]; (child.Parent as Container).Remove(child); Add(child); BorderWidth = 12; Resizable = false; // Playback Buttons Widget previous_button = ActionService.PlaybackActions["PreviousAction"].CreateToolItem(); Widget playpause_button = ActionService.PlaybackActions["PlayPauseAction"].CreateToolItem(); Widget button = ActionService.PlaybackActions["NextAction"].CreateToolItem(); Menu menu = ActionService.PlaybackActions.ShuffleActions.CreateMenu(); MenuButton next_button = new MenuButton(button, menu, true); PlaybackBox.PackStart(previous_button, false, false, 0); PlaybackBox.PackStart(playpause_button, false, false, 0); PlaybackBox.PackStart(next_button, false, false, 0); PlaybackBox.ShowAll(); // Seek Slider/Position Label seek_slider = new ConnectedSeekSlider(); SeekContainer.PackStart(seek_slider, false, false, 0); SeekContainer.ShowAll(); // Volume button volume_button = new ConnectedVolumeButton(); VolumeContainer.PackStart(volume_button, false, false, 0); volume_button.Show(); // Source combobox source_combo_box = new SourceComboBox(); SourceBox.PackStart(source_combo_box, true, true, 0); source_combo_box.Show(); // Track info track_info_display = new ClassicTrackInfoDisplay(); track_info_display.Show(); CoverBox.PackStart(track_info_display, true, true, 0); // Repeat button RepeatActionButton repeat_toggle_button = new RepeatActionButton(); LowerButtonsBox.PackEnd(repeat_toggle_button, false, false, 0); LowerButtonsBox.ShowAll(); tooltip_host = TooltipSetter.CreateHost(); SetTip(fullmode_button, Catalog.GetString("Switch back to full mode")); SetTip(repeat_toggle_button, Catalog.GetString("Change repeat playback mode")); // Hook up everything ServiceManager.PlayerEngine.ConnectEvent(OnPlayerEvent, PlayerEvent.Error | PlayerEvent.StateChange | PlayerEvent.TrackInfoUpdated); SetHeightLimit(); }