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

Reply via email to