チェンジセット 2159

差分発生行の前後
無視リスト:
コミット日時:
2009/01/23 07:00:26 (3 年前)
コミッタ:
uwi
ログメッセージ:

--

ファイル:

凡例:

変更無し
追加
削除
更新
コピー
移動
  • air/TLife/application.xml

    r2158 r2159  
    33         
    44        <id>uwi.TLife</id>  
    5         <version>beta</version>  
     5        <version>0.1</version>  
    66        <filename>TLife</filename>  
    77         
  • air/TLife/src/Main.mxml

    r2158 r2159  
    3434        <mx:Script> 
    3535                <![CDATA[ 
    36                         import com.adobe.utils.XMLUtil
     36                        import flash.events.Event
    3737                        import flash.events.MouseEvent; 
    3838                        import flash.filesystem.File; 
     
    4040                        import mx.collections.ArrayCollection; 
    4141                        import mx.controls.Alert; 
    42                         import mx.core.Application; 
    4342                        import mx.core.UITextField; 
    4443                        import mx.core.Window; 
    45                         import mx.events.CloseEvent; 
    4644                        import org.libspark.thread.EnterFrameThreadExecutor; 
    4745                        import org.libspark.thread.Thread; 
    48                         import uwi.bean.TabRule; 
    4946                        import uwi.search.IncrementalSearchThread; 
    5047                        import uwi.thread.ContextMenuItemEventThread; 
     
    5653                        import uwi.ui.*; 
    5754                        import uwi.util.CommonData; 
    58                         import uwi.util.FileIO; 
    5955                        import uwi.util.StatusBarUtility; 
    6056 
     
    6460                        private function onLoad() : void 
    6561                        { 
    66                                 StatusBarUtility.init(); 
    6762                                 
    6863                                if(!Thread.isReady){ 
     
    7267                                Thread.uncaughtErrorHandler = function(e : Error, t : Thread) : void { trace(e.message); }; 
    7368                                 
    74                                 // CommonData 
    7569                                CommonData.timeline = timeline; 
    76                                 CommonData.openedDialogs = new Vector.<Window>(); 
    77                                 CommonData.tabrules = new Vector.<TabRule>(); 
    78                                 CommonData.urlcache = {}; 
    79                                 CommonData.rulequerymap = {}; 
    8070                                 
    8171                                postarea.text = ""; 
     
    9383//                              new TweenerThread(this, { alpha : 1.0, time : 1.0, transition : "linear" } ).start(); 
    9484                                 
    95                                 CommonData.configxml = readXML("config.xml"); 
    96                                 if (CommonData.configxml == null) return; 
    97                                  
    98                                 CommonData.langxml = readXML("lang.xml"); 
    99                                 if (CommonData.langxml == null) return; 
    100  
    10185/* 
    10286                                var newWindow : TabProperty = new TabProperty(); 
     
    11094                                postarea.setFocus(); 
    11195                                 
    112                                  
     96                                this.nativeWindow.addEventListener(Event.CLOSING, onClosing); 
    11397                                /* 
    11498                                var newWindow : GlobalConfig = new GlobalConfig(); 
     
    128112                        } 
    129113                         
    130                         private function readXML(filename : String) : XML 
    131                         { 
    132                                 var xmlstr : String = FileIO.readAll(File.applicationDirectory.resolvePath(filename), "UTF-8"); 
    133                                 trace(xmlstr); 
    134                                 if(xmlstr != null){ 
    135                                         if (XMLUtil.isValidXML(xmlstr)) { 
    136                                                 return XML(xmlstr); 
    137                                         }else { 
    138                                                 Alert.show(filename + "が不正です。", "TLife", Alert.OK, null, function(e : CloseEvent) : void { Application.application.close(); } ); 
    139                                         } 
    140                                 }else{ 
    141                                         Alert.show(filename + "がないよっ!", "TLife", Alert.OK, null, function(e : CloseEvent) : void { Application.application.close(); } ); 
    142                                 } 
    143                                 return null; 
    144                         } 
    145                          
     114                        private function onClosing(e : Event) : void 
     115                        { 
     116                                this.nativeWindow.removeEventListener(Event.CLOSING, onClosing); 
     117                                CommonData.configxml.main.x = this.nativeWindow.x; 
     118                                CommonData.configxml.main.y = this.nativeWindow.y; 
     119                                CommonData.configxml.main.width = this.nativeWindow.width; 
     120                                CommonData.configxml.main.height = this.nativeWindow.height; 
     121                        } 
     122                 
    146123                        private static const DEPTH_FP : int = -10; 
    147124                        private static const DEPTH_RP : int = -10; 
  • air/TLife/src/uwi/thread/MainThread.as

    r2158 r2159  
    11package uwi.thread { 
     2        import com.adobe.utils.XMLUtil; 
    23        import flash.desktop.NativeApplication; 
    34        import flash.events.Event; 
    45        import flash.filesystem.File; 
    56        import flash.net.URLRequestDefaults; 
     7        import mx.controls.Alert; 
     8        import mx.core.Application; 
    69        import mx.core.Window; 
     10        import mx.events.CloseEvent; 
    711        import org.libspark.thread.Thread; 
    812        import org.libspark.thread.utils.SerialExecutor; 
     13        import uwi.bean.TabRule; 
    914        import uwi.db.DB; 
    1015        import uwi.twitter.TwitterLoginThread; 
    1116        import uwi.twitter.TwitterReloadThread; 
    1217        import uwi.util.CommonData; 
     18        import uwi.util.FileIO; 
     19        import uwi.util.StatusBarUtility; 
    1320         
    1421        /** 
     
    2330                protected override function run() : void 
    2431                { 
    25                         event(NativeApplication.nativeApplication, Event.EXITING, onExit); 
    26  
    27                         // applicationDirectory 
     32//                      event(NativeApplication.nativeApplication, Event.EXITING, onExit); 
     33                        NativeApplication.nativeApplication.addEventListener(Event.EXITING, onExit); 
     34                         
     35                        StatusBarUtility.init(); 
     36                         
     37                        CommonData.openedDialogs = new Vector.<Window>(); 
     38                        CommonData.tabrules = new Vector.<TabRule>(); 
     39                        CommonData.urlcache = {}; 
     40                        CommonData.rulequerymap = { }; 
     41                         
     42                        if (!CommonData.FILE_CONFIGXML.exists) { 
     43                                CommonData.FILE_INITIALCONFIGXML.copyTo(CommonData.FILE_CONFIGXML, true); 
     44                        } 
     45                        CommonData.configxml = readXML(CommonData.FILE_CONFIGXML); 
     46                        // TODO 必須パラメータがすべて入っているかチェック? 
     47                        if (CommonData.configxml == null) return; 
     48                         
     49                        CommonData.langxml = readXML(CommonData.FILE_LANGXML); 
     50                        if (CommonData.langxml == null) return; 
     51                         
     52                        // TODO ここらへんは存在を確認しないと設定できない。try-catch? 
     53                        Application.application.nativeWindow.x = CommonData.configxml.main.x; 
     54                        Application.application.nativeWindow.y = CommonData.configxml.main.y; 
     55                        Application.application.nativeWindow.width = CommonData.configxml.main.width; 
     56                        Application.application.nativeWindow.height = CommonData.configxml.main.height; 
     57                         
    2858//                      CommonData.db = new DB(File.desktopDirectory.resolvePath("xxx.db")); 
    2959                        CommonData.db = new DB(null); 
    3060                        CommonData.db.createTables(); 
    31                          
    32                         //var src : String = FileIO.readAll("d:\\twitter\\ssrc.html", "UTF-8"); 
    33                         //var statuses : Vector.<Status> = StatusGetter.get(src); 
    3461                         
    3562                        URLRequestDefaults.setLoginCredentialsForHost("twitter.com", CommonData.configxml.username, CommonData.configxml.password); 
     
    4471                } 
    4572                 
     73                private function readXML(file : File) : XML 
     74                { 
     75                        var xmlstr : String = FileIO.readAll(file, "UTF-8"); 
     76                        if(xmlstr != null){ 
     77                                if (XMLUtil.isValidXML(xmlstr)) { 
     78                                        return XML(xmlstr); 
     79                                }else { 
     80                                        Alert.show(file.name + "が不正です。", "TLife", Alert.OK, null, function(e : CloseEvent) : void { Application.application.close(); } ); 
     81                                } 
     82                        }else { 
     83                                Alert.show(file.name + "がないよっ!", "TLife", Alert.OK, null, function(e : CloseEvent) : void { Application.application.close(); } ); 
     84                        } 
     85                        return null; 
     86                } 
     87                 
    4688                private function onExit(event : Event) : void 
    4789                { 
     
    5092                                dialog.close(); 
    5193                        } 
     94                         
     95                        FileIO.writeAll(CommonData.FILE_CONFIGXML, CommonData.configxml.toXMLString()); 
    5296                } 
    5397                 
  • air/TLife/src/uwi/util/CommonData.as

    r2158 r2159  
    11package uwi.util { 
     2        import flash.filesystem.File; 
    23        import flash.ui.ContextMenuItem; 
    34        import mx.collections.ArrayCollection; 
     
    2324                 
    2425                public static const LIMLEN_POST : int = 140; 
     26                 
     27                public static const FILE_CONFIGXML : File = new File("app-storage:/config.xml"); 
     28                public static const FILE_LANGXML : File = new File("app:/lang.xml"); 
     29                 
     30                public static const FILE_INITIALCONFIGXML : File = new File("app:/initial/config.xml"); 
    2531                 
    2632                public static var rgt : ReplyGetThread; 
  • air/TLife/src/uwi/util/FileIO.as

    r2158 r2159  
    2929                } 
    3030                 
    31                 public static function saveAll(file : File, str : String, charset : String = "") : void 
     31                public static function writeAll(file : File, str : String, charset : String = "") : void 
    3232                { 
    3333                        if (charset == "") charset = File.systemCharset;