Archive / / / / / Echo.UI.UIService.vala
2008-12-19 05:26:50 UTC
previous next
/* vim: set noexpandtab tabstop=4 shiftwidth=4 nowrap textwidth=100 * * Echo Media Player * Copyright (C) 2008 Shane O'Connell * * [ The original file includes a copyright header in this location describing * the file as being released under the terms of the GNU General Public * License. It has been removed in order to display the file as part of the * archive. ] */ public class Echo.UI.UIService { private ActionManager _action_manager; public enum RepeatValue { OFF, ALL, SINGLE } public enum ShuffleValue { OFF, ALL, BY_ARTIST, BY_ALBUM } public MainWindow main_window { get { return _main_window; } } private MainWindow _main_window; private StatusIcon _status_icon; public UIService() { _action_manager = new ActionManager(); init_actions(); _main_window = new MainWindow(_action_manager); _status_icon = new StatusIcon(_action_manager); if (_status_icon.visible) debug("visible"); else debug("not visible"); } public weak Gtk.Action? get_action(string name) { return _action_manager.get_action(name); } private void init_actions() { // Main menus _action_manager.add_action("file-menu", "_File"); _action_manager.add_action("edit-menu", "_Edit"); _action_manager.add_action("view-menu", "_View"); _action_manager.add_action("playback-menu", "_Playback"); _action_manager.add_action("help-menu", "_Help"); // File menu _action_manager.add_action("new-playlist", "New _Playlist", "gtk-new"); _action_manager.add_action("new-smart-playlist", "New _Smart Playlist"); _action_manager.add_action("open-file", null, "gtk-open"); _action_manager.add_action("open-url", "Open _URL"); _action_manager.add_action("refresh-libraries", "_Refresh Libraries", "gtk-refresh"); _action_manager.add_action("close", null, "gtk-close"); _action_manager.add_action("quit", null, "gtk-quit"); // Edit menu _action_manager.add_action("edit-preferences", null, "gtk-preferences"); // View menu _action_manager.add_toggle_action("view-browser", false, "Show _Browser"); _action_manager.add_action("view-fullscreen", null, "gtk-fullscreen", "F11"); // Playback menu _action_manager.add_action("play-pause", null, "gtk-media-play"); _action_manager.add_action("next-track", "_Next", "gtk-media-next"); _action_manager.add_action("previous-track", null, "gtk-media-previous"); _action_manager.add_toggle_action("stop-when-finished", false, "Stop When _Finished"); // Repeat menu _action_manager.add_action("repeat-menu", "_Repeat"); _action_manager.add_custom_action( new Gtk.RadioAction("repeat-off", "Repeat _Off", null, null, RepeatValue.OFF)); _action_manager.get_action("repeat-off").set("active", true); _action_manager.add_custom_action( new Gtk.RadioAction("repeat-all", "Repeat _All", null, null, RepeatValue.ALL)); _action_manager.get_action("repeat-all").set("group", _action_manager.get_action("repeat-off")); _action_manager.add_custom_action( new Gtk.RadioAction("repeat-single", "Repeat _Single", null, null, RepeatValue.SINGLE)); _action_manager.get_action("repeat-single").set("group", _action_manager.get_action("repeat-off")); _action_manager.add_toggle_action("shuffle", false, "_Shuffle"); /* // Shuffle menu _action_manager.add_action("shuffle-menu", "_Shuffle"); _action_manager.add_custom_action( new Gtk.RadioAction("shuffle-off", "Shuffle _Off", null, null, ShuffleValue.OFF)); _action_manager.get_action("shuffle-off").set("active", true); _action_manager.add_custom_action( new Gtk.RadioAction("shuffle-all", "Shuffle _All", null, null, ShuffleValue.ALL)); _action_manager.get_action("shuffle-all").set("group", _action_manager.get_action("shuffle-off")); _action_manager.add_custom_action( new Gtk.RadioAction("shuffle-by-artist", "Shuffle By _Artist", null, null, ShuffleValue.BY_ARTIST)); _action_manager.get_action("shuffle-by-artist").set("group", _action_manager.get_action("shuffle-off")); _action_manager.add_custom_action( new Gtk.RadioAction("shuffle-by-album", "Shuffle By Al_bum", null, null, ShuffleValue.BY_ALBUM)); _action_manager.get_action("shuffle-by-album").set("group", _action_manager.get_action("shuffle-off")); */ // Help menu _action_manager.add_action("about", null, "gtk-about"); } }