Develop and Download Open Source Software

Browse CVS Repository

Diff of /gikonavigoeson/gikonavi/GikoDataModule.pas

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph | View Patch Patch

revision 1.41 by h677, Mon Jul 17 13:29:33 2006 UTC revision 1.42 by h677, Thu Jul 27 16:39:56 2006 UTC
# Line 192  type Line 192  type
192          TabsSaveAction: TAction;          TabsSaveAction: TAction;
193          TabsOpenAction: TAction;          TabsOpenAction: TAction;
194          BrowsBoradHeadAction: TAction;          BrowsBoradHeadAction: TAction;
         TabAutoSaveAction: TAction;  
         TabAutoLoadAction: TAction;  
195          JumpToNumOfResAction: TAction;          JumpToNumOfResAction: TAction;
196          FavoriteTreeViewCollapseAction: TAction;          FavoriteTreeViewCollapseAction: TAction;
197          RightTabCloseAction: TAction;          RightTabCloseAction: TAction;
# Line 308  type Line 306  type
306          procedure SelectItemSaveForDatExecute(Sender: TObject);          procedure SelectItemSaveForDatExecute(Sender: TObject);
307          procedure TabsSaveActionExecute(Sender: TObject);          procedure TabsSaveActionExecute(Sender: TObject);
308          procedure TabsOpenActionExecute(Sender: TObject);          procedure TabsOpenActionExecute(Sender: TObject);
         procedure TabAutoSaveActionExecute(Sender: TObject);  
         procedure TabAutoLoadActionExecute(Sender: TObject);  
309          procedure BeLogInOutActionExecute(Sender: TObject);          procedure BeLogInOutActionExecute(Sender: TObject);
310          procedure BeLogInOutActionUpdate(Sender: TObject);          procedure BeLogInOutActionUpdate(Sender: TObject);
311          procedure KokomadeActionExecute(Sender: TObject);          procedure KokomadeActionExecute(Sender: TObject);
# Line 429  type Line 425  type
425          { Public 宣言 }          { Public 宣言 }
426          procedure RepaintStatusBar;          procedure RepaintStatusBar;
427      function EditorFormExists(): boolean;      function EditorFormExists(): boolean;
428        procedure GetTabURLs(AStringList: TStringList);
429        procedure OpenURLs(AStringList: TStringList);
430    published    published
431          { Published 宣言 }          { Published 宣言 }
432          //! TActionでGetActiveContentがnil以外で有効になる          //! TActionでGetActiveContentがnil以外で有効になる
# Line 2139  end; Line 2137  end;
2137  //! タブの順番を保存  //! タブの順番を保存
2138  // *************************************************************************  // *************************************************************************
2139  procedure TGikoDM.TabsSaveActionExecute(Sender: TObject);  procedure TGikoDM.TabsSaveActionExecute(Sender: TObject);
2140    const
2141            Filename = 'tab.sav';
2142            bFilename = '~tab.sav';
2143    var
2144            SaveStringList: TStringList;
2145  begin  begin
2146      GikoForm.SaveTabURLs;          SaveStringList := TStringList.Create;
2147            try
2148                    GetTabURLs(SaveStringList);
2149            try
2150                if FileExists( GikoSys.GetAppDir + Filename) then begin
2151                    CopyFile(PChar(GikoSys.GetAppDir + Filename),
2152                        PChar(GikoSys.GetAppDir + bFilename), False);
2153                end;
2154            except
2155            end;
2156            SaveStringList.SaveToFile(GikoSys.GetAppDir + Filename);
2157            finally
2158                    SaveStringList.Free;
2159            end;
2160  end;  end;
2161  // *************************************************************************  // *************************************************************************
2162  //! タブの順番を復元  //! ブラウザタブに設定されているスレッドのURL取得
2163  // *************************************************************************  // *************************************************************************
2164  procedure TGikoDM.TabsOpenActionExecute(Sender: TObject);  procedure TGikoDM.GetTabURLs(AStringList: TStringList);
2165    var
2166      rec : TBrowserRecord;
2167      i : Integer;
2168  begin  begin
2169      GikoForm.LoadTabURLs;      for i := 0 to GikoForm.BrowserTab.Tabs.Count -1 do begin
2170      // TabsOpenAction.Tagは,板一覧更新から呼ばれたときは1になっている          try
2171      if (GikoForm.BrowserTab.Tabs.Count = 0)              rec := TBrowserRecord( GikoForm.BrowserTab.Tabs.Objects[ i ] );
2172          and (TabsOpenAction.Tag = 0) then  begin              if( rec <> nil) and (rec.Thread <> nil) then
2173              ShowMessage('表示するタブがありません。');                  AStringList.Add( rec.Thread.URL );
2174            except
2175            end;
2176      end;      end;
2177  end;  end;
2178  // *************************************************************************  // *************************************************************************
2179  //! タブの順番を自動保存  //! 指定されたURLを開き,先頭のタブにフォーカスする
2180  // *************************************************************************  // *************************************************************************
2181  procedure TGikoDM.TabAutoSaveActionExecute(Sender: TObject);  procedure TGikoDM.OpenURLs(AStringList: TStringList);
2182  begin  var
2183          GikoForm.SaveTabURLs;      GikoTab                     : TGikoTabAppend;
2184        i, bound : Integer;
2185            item        : TThreadItem;
2186    begin
2187        if (AStringList <> nil) then begin
2188            GikoTab := GikoSys.Setting.BrowserTabAppend;
2189            try
2190                bound    := AStringList.Count - 1;
2191                if bound > -1 then begin
2192                    GikoSys.Setting.BrowserTabAppend := gtpLast;
2193                    for i := 0 to bound do begin
2194                        item := BBSsFindThreadFromURL( AStringList[ i ] );
2195                        if item <> nil then
2196                            GikoForm.InsertBrowserTab( item, false );
2197                    end;
2198                    //最初の1枚に設定 アドレスの設定のためのカラ呼び
2199                    if GikoForm.BrowserTab.Tabs.Count > 0 then begin
2200                        GikoForm.BrowserTab.OnChange(nil);
2201                    end;
2202                end;
2203            finally
2204                GikoSys.Setting.BrowserTabAppend := GikoTab;
2205            end;
2206        end;
2207  end;  end;
2208  // *************************************************************************  // *************************************************************************
2209  //! タブの順番を自動復元  //! タブの順番を復元
2210  // *************************************************************************  // *************************************************************************
2211  procedure TGikoDM.TabAutoLoadActionExecute(Sender: TObject);  procedure TGikoDM.TabsOpenActionExecute(Sender: TObject);
2212    const
2213            TABFILE = 'tab.sav';
2214    var
2215            URLs                            : TStringList;
2216            fileName                : string;
2217  begin  begin
2218          GikoForm.LoadTabURLs;      URLs := TStringList.Create();
2219            try
2220            fileName := ExtractFilePath(Application.ExeName) + TABFILE;
2221                    if FileExists(fileName) then begin
2222                        try
2223                                    URLs.LoadFromFile(fileName);
2224                    if (URLs.Count = 0) then begin
2225                        // 空のファイルの場合,バックアップを削除しないために削除
2226                        SysUtils.DeleteFile(fileName);
2227                    end else begin
2228                        OpenURLs(URLs);
2229                    end;
2230                    except
2231                            on EFOpenError do ShowMessage('タブファイルが開けません');
2232                end;
2233            end;
2234            finally
2235            URLs.Free;
2236            end;
2237    
2238        if (GikoForm.BrowserTab.Tabs.Count = 0) then  begin
2239            ShowMessage('表示するタブがありません。');
2240        end;
2241  end;  end;
2242  // *************************************************************************  // *************************************************************************
2243  //! Be2chにログイン/ログアウトする  //! Be2chにログイン/ログアウトする

Legend:
Removed from v.1.41  
changed lines
  Added in v.1.42

Back to OSDN">Back to OSDN
ViewVC Help
Powered by ViewVC 1.1.26