Enlightenment CVS committal Author : tsauerbeck Project : e17 Module : apps/euphoria
Dir : e17/apps/euphoria/bin Modified Files: euphoria Log Message: config file added =================================================================== RCS file: /cvsroot/enlightenment/e17/apps/euphoria/bin/euphoria,v retrieving revision 1.11 retrieving revision 1.12 diff -u -3 -r1.11 -r1.12 --- euphoria 28 Apr 2005 10:50:18 -0000 1.11 +++ euphoria 28 Apr 2005 11:04:38 -0000 1.12 @@ -1,6 +1,6 @@ #!/usr/bin/ruby -w -# $Id: euphoria,v 1.11 2005/04/28 10:50:18 tsauerbeck Exp $ +# $Id: euphoria,v 1.12 2005/04/28 11:04:38 tsauerbeck Exp $ require "ecore" require "ecore_x" @@ -11,6 +11,7 @@ require "esmart_container" require "xmmsclient" require "singleton" +require "yaml" require "euphoria/playlist" require "euphoria/playlist_item" @@ -18,6 +19,8 @@ require "euphoria/playtime_updater" require "euphoria/playback_status_handler" +Config = Struct.new("Config", :ipc_path, :theme) + class Euphoria DATA_DIR = "/usr/local/share/euphoria" @@ -30,9 +33,10 @@ @xmms = nil # settings - @time_display_elapsed = true - @theme_name = "multipass" + @config_file = + File.expand_path("~/.xmms2/clients/euphoria/config.yaml") + load_config init_xmms init_gui @@ -93,6 +97,10 @@ @ee.show end + def save_config + File.open(@config_file, "w") { |fo| YAML.dump(@config, fo) } + end + private def init_gui @ee = Ecore::Evas::SoftwareX11.new @@ -117,8 +125,8 @@ @dragger.button = 1 @dragger.show - @theme = find_theme(@theme_name) - raise "Cannot find theme - #{edj}" if @theme.nil? + @theme = find_theme(@config.theme) + raise "Cannot find theme - [EMAIL PROTECTED]" if @theme.nil? @edje = Edje::Edje.new(@ee.evas) @edje.load(@theme, "euphoria") @@ -140,7 +148,7 @@ def init_xmms @xmms = XmmsClient::XmmsClient.new("Euphoria") - @xmms.connect + @xmms.connect(@config.ipc_path) @xmms.setup_with_ecore end @@ -196,7 +204,7 @@ end @edje.on_signal("TOGGLE_TIME_DISPLAY_MODE") do - @time_display_elapsed = [EMAIL PROTECTED] + @config.time_display_elapsed = [EMAIL PROTECTED] end @edje.on_signal("DEBUG") do |sig, source| @@ -258,7 +266,7 @@ fmt = "%i:%02i" - unless @time_display_elapsed + unless @config.time_display_elapsed time = @playlist.current_item.duration - time fmt = "-" + fmt end @@ -288,6 +296,21 @@ @edje.emit_signal(sig, "Euphoria") end + def load_config + @config = nil + + if File.exist?(@config_file) + File.open(@config_file) { |fo| @config = YAML.load(fo) } + end + + if @config.nil? || [EMAIL PROTECTED](Config) + @config = Config.new + @config.ipc_path = nil + @config.theme = "multipass" + @config.time_display_elapsed = true + end + end + def find_theme(name) dirs = [File.expand_path("~/.xmms2/clients/euphoria"), DATA_DIR] dirs.each do |dir| @@ -302,3 +325,4 @@ $x = Euphoria.instance Euphoria.instance.show Ecore::main_loop_begin +Euphoria.instance.save_config ------------------------------------------------------- SF.Net email is sponsored by: Tell us your software development plans! Take this survey and enter to win a one-year sub to SourceForge.net Plus IDC's 2005 look-ahead and a copy of this survey Click here to start! http://www.idcswdc.com/cgi-bin/survey?id=105hix _______________________________________________ enlightenment-cvs mailing list enlightenment-cvs@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs