OSDN Git Service

ファイルを指定してTabファイルを保存・復元機能を追加
authorgenyakun <genyakun>
Mon, 12 Jul 2004 10:07:49 +0000 (10:07 +0000)
committergenyakun <genyakun>
Mon, 12 Jul 2004 10:07:49 +0000 (10:07 +0000)
Giko.dfm
Giko.pas

index 964c731..6fa9dd4 100644 (file)
--- a/Giko.dfm
+++ b/Giko.dfm
@@ -1,6 +1,6 @@
 object GikoForm: TGikoForm
-  Left = 89
-  Top = 120
+  Left = 401
+  Top = 192
   HorzScrollBar.Visible = False
   VertScrollBar.Visible = False
   AutoScroll = False
@@ -8882,6 +8882,25 @@ object GikoForm: TGikoForm
       object N15: TMenuItem
         Caption = '-'
       end
+      object TabSave: TMenuItem
+        Caption = #12479#12502#12398#38918#30058#12434#20445#23384
+        OnClick = TabSaveClick
+      end
+      object TabOpen: TMenuItem
+        Caption = #12479#12502#12398#38918#30058#12434#24489#20803
+        OnClick = TabOpenClick
+      end
+      object Tab: TMenuItem
+        Caption = #12479#12502
+        object FileTabSave: TMenuItem
+          Caption = #12501#12449#12452#12523#21517#12434#25351#23450#12375#12390#12479#12502#12398#38918#30058#12434#20445#23384
+          OnClick = FileTabSaveClick
+        end
+        object FileTabOpen: TMenuItem
+          Caption = #12501#12449#12452#12523#21517#12434#25351#23450#12375#12390#12479#12502#12398#38918#30058#12434#24489#20803
+          OnClick = FileTabOpenClick
+        end
+      end
       object N66: TMenuItem
         Caption = #36984#25246#12473#12524#12483#12489#12434#20445#23384
         object SelectThreadSave: TMenuItem
@@ -8893,14 +8912,6 @@ object GikoForm: TGikoForm
           Caption = 'DAT'#12398#12414#12414
         end
       end
-      object TabSave: TMenuItem
-        Caption = #12479#12502#12398#38918#30058#12434#20445#23384
-        OnClick = TabSaveClick
-      end
-      object TabOpen: TMenuItem
-        Caption = #12479#12502#12398#38918#30058#12434#24489#20803
-        OnClick = TabOpenClick
-      end
       object ExportFavoriteFileAction1: TMenuItem
         Action = ExportFavoriteFile
       end
@@ -10843,4 +10854,15 @@ object GikoForm: TGikoForm
     Left = 8
     Top = 408
   end
+  object TabSaveDialog: TSaveDialog
+    DefaultExt = '.sav'
+    Filter = 'Tab'#12501#12449#12452#12523#12288'(*.sav)|*.sav'
+    Left = 99
+    Top = 180
+  end
+  object TabOpenDialog: TOpenDialog
+    Filter = 'Tab'#12501#12449#12452#12523#12288'(*.sav)|*.sav'
+    Left = 68
+    Top = 180
+  end
 end
index 16dcf8c..b6a6620 100644 (file)
--- a/Giko.pas
+++ b/Giko.pas
@@ -554,6 +554,11 @@ type
     IdHTTP1: TIdHTTP;
     TabSave: TMenuItem;
     TabOpen: TMenuItem;
+    TabSaveDialog: TSaveDialog;
+    TabOpenDialog: TOpenDialog;
+    Tab: TMenuItem;
+    FileTabSave: TMenuItem;
+    FileTabOpen: TMenuItem;
                                procedure FormCreate(Sender: TObject);
                procedure FormDestroy(Sender: TObject);
                procedure CabinetPanelHide(Sender: TObject);
@@ -893,6 +898,8 @@ type
     procedure LocalRuleViewClick(Sender: TObject);
     procedure TabSaveClick(Sender: TObject);
     procedure TabOpenClick(Sender: TObject);
+    procedure FileTabSaveClick(Sender: TObject);
+    procedure FileTabOpenClick(Sender: TObject);
        private
                { Private \90é\8c¾ }
         //RoundList : TRoundList;
@@ -10676,12 +10683,12 @@ begin
     rec := TBrowserRecord( BrowserTab.Tabs.Objects[ i ] );
     URLs.Add( rec.Thread.URL );
   end;
-  Result := URLs; 
+  Result := URLs;
 end;
 
 procedure TGikoForm.TabOpenClick(Sender: TObject);
-var 
-    i, bound, Tab    : Integer;
+var
+    i, bound    : Integer;
     item        : TThreadItem;
     URLs : TStringList;
     GikoTab: TGikoTabAppend;
@@ -10691,13 +10698,51 @@ begin
         URLs.LoadFromFile(ExtractFilePath(Application.ExeName) + 'tab.sav');
     except
         on EFOpenError do
-                ShowMessage('\83^\83u\82ª\8aJ\82¯\82Ü\82¹\82ñ');
+                ShowMessage('\83^\83u\83t\83@\83C\83\8b\82ª\8aJ\82¯\82Ü\82¹\82ñ');
+    end;
+    bound    := URLs.Count - 1;
+    GikoTab := GikoSys.Setting.BrowserTabAppend;
+    GikoSys.Setting.BrowserTabAppend := gtpLast;//TGikoTabAppend(1);
+    for i := 0 to bound do begin
+        item := BBSsFindThreadFromURL( URLs[ i ] );
+        if item <> nil then
+            InsertBrowserTab( item, false );
+    end;
+    GikoSys.Setting.BrowserTabAppend := GikoTab;
+end;
+
+procedure TGikoForm.FileTabSaveClick(Sender: TObject);
+var
+        SaveTabList : TStringList;
+begin
+        SaveTabList := TStringList.Create;
+        SaveTabList := GetTabURLs;
+        if TabSaveDialog.Execute then begin
+                SaveTabList.SaveToFile(TabSaveDialog.FileName);
+        end;
+end;
+
+procedure TGikoForm.FileTabOpenClick(Sender: TObject);
+var
+    i, bound, Tab    : Integer;
+    item        : TThreadItem;
+    URLs : TStringList;
+    GikoTab: TGikoTabAppend;
+begin
+    URLs := TStringList.Create();
+    try
+        if TabOpenDialog.Execute then begin
+                URLs.LoadFromFile(TabOpenDialog.FileName);
+        end;
+    except
+        on EFOpenError do
+                ShowMessage('\83^\83u\83t\83@\83C\83\8b\82ª\8aJ\82¯\82Ü\82¹\82ñ');
     end;
     bound    := URLs.Count - 1;
     GikoTab := GikoSys.Setting.BrowserTabAppend;
     GikoSys.Setting.BrowserTabAppend := gtpLast;//TGikoTabAppend(1);
     for i := 0 to bound do begin
-        item := BBSsFindThreadFromURL( URLs[ i ] ); 
+        item := BBSsFindThreadFromURL( URLs[ i ] );
         if item <> nil then
             InsertBrowserTab( item, false );
     end;