OSDN Git Service

タブ保存機能の増強
authorgenyakun <genyakun>
Mon, 12 Jul 2004 01:08:22 +0000 (01:08 +0000)
committergenyakun <genyakun>
Mon, 12 Jul 2004 01:08:22 +0000 (01:08 +0000)
Giko.dfm
Giko.pas

index b5262ca..ed42dcc 100644 (file)
--- a/Giko.dfm
+++ b/Giko.dfm
@@ -1,6 +1,6 @@
 object GikoForm: TGikoForm
-  Left = 107
-  Top = 74
+  Left = 206
+  Top = 135
   HorzScrollBar.Visible = False
   VertScrollBar.Visible = False
   AutoScroll = False
@@ -8895,9 +8895,12 @@ object GikoForm: TGikoForm
       end
       object TabSave: TMenuItem
         Caption = #12479#12502#12398#38918#30058#12434#20445#23384
-        Enabled = False
         OnClick = TabSaveClick
       end
+      object TabOpen: TMenuItem
+        Caption = #12479#12502#12398#38918#30058#12434#24489#20803
+        OnClick = TabOpenClick
+      end
       object ExportFavoriteFileAction1: TMenuItem
         Action = ExportFavoriteFile
       end
index b6378b2..180c556 100644 (file)
--- a/Giko.pas
+++ b/Giko.pas
@@ -553,6 +553,7 @@ type
     LocalRuleView: TToolButton;
     IdHTTP1: TIdHTTP;
     TabSave: TMenuItem;
+    TabOpen: TMenuItem;
                                procedure FormCreate(Sender: TObject);
                procedure FormDestroy(Sender: TObject);
                procedure CabinetPanelHide(Sender: TObject);
@@ -891,6 +892,7 @@ type
     procedure LogFolderOpenActionUpdate(Sender: TObject);
     procedure LocalRuleViewClick(Sender: TObject);
     procedure TabSaveClick(Sender: TObject);
+    procedure TabOpenClick(Sender: TObject);
        private
                { Private \90é\8c¾ }
         //RoundList : TRoundList;
@@ -1039,6 +1041,8 @@ type
                procedure SetBBSMenu;
                function WebBrowserClick(Sender: TObject): WordBool;
                procedure SkinorCSSFilesCopy(path: string);
+                //\83^\83u\95Û\91
+                function GetTabURLs : TStringList;
        protected
                procedure CreateParams(var Params: TCreateParams); override;
                procedure WndProc(var Message: TMessage); override;
@@ -10656,6 +10660,44 @@ var
         TabIdx: Integer;
 begin
         SaveStringList := TStringList.Create;
+        SaveStringList := GetTabURLs;
+        SaveStringList.SaveToFile('c:\Save.tab');
+end;
+
+function TGikoForm.GetTabURLs : TStringList;
+var
+  rec : TBrowserRecord;
+  URLs : TStringList;
+  i, bound : Integer;
+begin
+  URLs := TStringList.Create();
+  bound := BrowserTab.Tabs.Count -1;
+  for i := 0 to bound do begin
+    rec := TBrowserRecord( BrowserTab.Tabs.Objects[ i ] );
+    URLs.Add( rec.Thread.URL );
+  end; 
+  Result := URLs; 
+end;
+
+procedure TGikoForm.TabOpenClick(Sender: TObject);
+var 
+    i, bound    : Integer;
+    item        : TThreadItem;
+    URLs : TStringList;
+begin
+    URLs := TStringList.Create();
+    try
+        URLs.LoadFromFile('c:\Save.tab');
+    except
+        on EFOpenError do
+                ShowMessage('\83^\83u\82ª\8aJ\82¯\82Ü\82¹\82ñ');
+    end;
+    bound    := URLs.Count - 1;
+    for i := 0 to bound do begin 
+        item := BBSsFindThreadFromURL( URLs[ i ] ); 
+        if item <> nil then 
+            InsertBrowserTab( item, false ); 
+    end; 
 end;
 
 initialization