Example #1
0
        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);
        }
Example #3
0
        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();
        }