~ubuntu-branches/ubuntu/oneiric/tuxguitar/oneiric

« back to all changes in this revision

Viewing changes to src/org/herac/tuxguitar/gui/util/WindowTitleUtil.java

  • Committer: Bazaar Package Importer
  • Author(s): Philippe Coval
  • Date: 2008-06-19 00:30:30 UTC
  • mfrom: (1.1.1 upstream) (2.1.3 hardy)
  • Revision ID: james.westby@ubuntu.com-20080619003030-agens2gvd5m4dacu
New upstream release (Closes: #481728) also (LP: #176979, #212207)

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
package org.herac.tuxguitar.gui.util;
2
 
 
3
 
import org.herac.tuxguitar.gui.TuxGuitar;
4
 
import org.herac.tuxguitar.gui.system.config.ConfigKeys;
5
 
 
6
 
public class WindowTitleUtil {
7
 
        private static final String VAR_START = "${";   
8
 
        private static final String VAR_END = "}";
9
 
        
10
 
        public static final String VAR_APP_NAME = "appname";    
11
 
        public static final String VAR_APP_VERSION = "appversion";                      
12
 
        public static final String VAR_FILE_NAME = "filename";  
13
 
        public static final String VAR_FILE_PATH = "filepath";  
14
 
        public static final String VAR_SONG_NAME = "songname";  
15
 
        public static final String VAR_SONG_AUTHOR = "songauthor";      
16
 
        public static final String VAR_SONG_ALBUM = "songalbum";        
17
 
        public static final String VAR_SONG_INTERPRET = "songinterpret";
18
 
        
19
 
        public static String parseTitle(){              
20
 
                String title = parseString(TuxGuitar.instance().getConfig().getStringConfigValue(ConfigKeys.WINDOW_TITLE));             
21
 
                return ((title == null)?TuxGuitar.TUXGUITAR_NAME:title);
22
 
        }
23
 
        
24
 
        private static String parseString(String src){          
25
 
                try{                    
26
 
                        if(src != null){
27
 
                                String result = new String();
28
 
                                for(int pos = 0; pos < src.length(); pos ++){                   
29
 
                                        int startIndex = src.indexOf(VAR_START, pos );
30
 
                                        int endIndex = startIndex;
31
 
                                        if(startIndex >= 0){
32
 
                                                endIndex = src.indexOf(VAR_END,(startIndex +  VAR_START.length()));
33
 
                                        }
34
 
                                        if((startIndex >= 0) && endIndex > (startIndex + VAR_START.length()) ){
35
 
                                                if(startIndex > pos){
36
 
                                                        result += src.substring(pos,startIndex );                                       
37
 
                                                }                               
38
 
                                                String var = src.substring(startIndex,(endIndex + 1));
39
 
                                                result += parseVar(var);
40
 
                                                pos = endIndex;         
41
 
                                        }else{
42
 
                                                result += src.substring(pos,src.length() );
43
 
                                                break;
44
 
                                        }
45
 
                                }
46
 
                                return result;
47
 
                        }
48
 
                }catch(Exception e){
49
 
                        e.printStackTrace();
50
 
                }
51
 
                return null;
52
 
        }
53
 
        
54
 
        private static String parseVar(String var){             
55
 
                String varName = var.substring((VAR_START.length()),(var.length() - 1));
56
 
                String varValue = var;          
57
 
                if(varName.equals(VAR_APP_NAME)){
58
 
                        varValue = TuxGuitar.TUXGUITAR_NAME;
59
 
                }else if(varName.equals(VAR_APP_VERSION)){
60
 
                        varValue = TuxGuitar.TUXGUITAR_VERSION;
61
 
                }else if(varName.equals(VAR_FILE_NAME)){
62
 
                        varValue = TuxGuitar.instance().getFileHistory().getFileName();
63
 
                }else if(varName.equals(VAR_FILE_PATH)){
64
 
                        varValue = TuxGuitar.instance().getFileHistory().getFilePath();
65
 
                }else if(varName.equals(VAR_SONG_NAME)){
66
 
                        varValue = TuxGuitar.instance().getSongManager().getSong().getName();
67
 
                }else if(varName.equals(VAR_SONG_AUTHOR)){
68
 
                        varValue = TuxGuitar.instance().getSongManager().getSong().getAuthor();
69
 
                }else if(varName.equals(VAR_SONG_ALBUM)){
70
 
                        varValue = TuxGuitar.instance().getSongManager().getSong().getAlbum();
71
 
                }else if(varName.equals(VAR_SONG_INTERPRET)){
72
 
                        varValue = TuxGuitar.instance().getSongManager().getSong().getInterpret();
73
 
                }               
74
 
                return varValue;
75
 
        }
76
 
        
77
 
        public static String getVar(String varName){
78
 
                return (VAR_START + varName + VAR_END);
79
 
        }
80
 
}
 
 
b'\\ No newline at end of file'