Commit MetaInfo

Revision1b469200270c9b16b8f3ce3456ba946e81b88a2c (tree)
Zeit2009-01-25 18:38:16
Autorcvs2git <cvs2git>
Commitercvs2git

Log Message

This commit was manufactured by cvs2svn to create tag 'v1_59_0_771'.

Ändern Zusammenfassung

Diff

--- a/Editor.pas
+++ b/Editor.pas
@@ -1882,61 +1882,31 @@ const
18821882 VAL_PON = 'PON=';
18831883 EXPIRES_MARK = 'expires=';
18841884 var
1885- i, pos: Integer;
1885+// i: Integer;
18861886 tmp : string;
18871887 val : string;
1888- curCookies : TStringList;
1889- tmpCookieName : string;
18901888 begin
1891- // 2008.12.14 無条件クリアしてはいけない by もじゅ
1892- curCookies := TStringList.Create;
1893- curCookies.Delimiter := ';';
1894- curCookies.DelimitedText := ABoard.Cookie;
18951889 ABoard.Cookie := '';
1896- try
1897- while (AnsiPos(COOKIE_MARK, Rawtext) > 0 ) do begin
1898- tmp := Copy(Rawtext, AnsiPos(COOKIE_MARK, Rawtext) + Length(COOKIE_MARK), Length(Rawtext));
1899- Delete(Rawtext, 1, AnsiPos('Set-Cookie', Rawtext)+ Length(COOKIE_MARK));
1900- //Cookieを切り出す
1901- val := Trim(GikoSys.GetTokenIndex(tmp, ';', 0));
1902- if( AnsiPos(VAL_SPID, val) > 0 ) then begin
1903- ABoard.SPID := Copy(val, AnsiPos(VAL_SPID, val) + Length(VAL_SPID), Length(val));
1904- end else if( AnsiPos(VAL_PON, val) > 0 ) then begin
1905- ABoard.PON := Copy(val, AnsiPos(VAL_PON, val) + Length(VAL_PON), Length(val));
1906- end else begin
1907- // 既存のCookieの場合は値だけ付け替える
1908- pos := AnsiPos('=', val);
1909- if pos > 0 then begin
1910- tmpCookieName := Copy(val, 0, pos - 1);
1911- for i := 0 to curCookies.Count - 1 do begin
1912- if (curCookies.IndexOfName(tmpCookieName) >= 0) then begin
1913- curCookies.Values[tmpCookieName] := Copy(val, pos + 1, Length(val));
1914- tmpCookieName := '';
1915- break;
1916- end;
1917- end;
1918- if (tmpCookieName <> '') then begin
1919- curCookies.Add(val);
1920- end;
1921- end;
1922- //tmpCookie := tmpCookie + val + '; ';
1923- end;
1924- //expiresを切り出す
1925- val := Trim(GikoSys.GetTokenIndex(tmp, ';', 1));
1926- if( AnsiPos(EXPIRES_MARK, val) > 0) then begin
1927- Delete(val, 1, AnsiPos(EXPIRES_MARK, val) + Length(EXPIRES_MARK) - 1);
1928- ABoard.Expires := GMTToLocalDateTime(val);
1929- end;
1930- end;
1931- for i := 0 to curCookies.Count - 1 do begin
1932- if (curCookies.Strings[i] <> '') then begin
1933- ABoard.Cookie := ABoard.Cookie + curCookies.Strings[i] + '; ';
1934- end;
1935- end;
1936-
1937- finally
1938- curCookies.Free;
1939- end;
1890+ while (AnsiPos(COOKIE_MARK, Rawtext) > 0 ) do begin
1891+ //i := 0;
1892+ tmp := Copy(Rawtext, AnsiPos(COOKIE_MARK, Rawtext) + Length(COOKIE_MARK), Length(Rawtext));
1893+ Delete(Rawtext, 1, AnsiPos('Set-Cookie', Rawtext)+ Length(COOKIE_MARK));
1894+ //Cookieを切り出す
1895+ val := Trim(GikoSys.GetTokenIndex(tmp, ';', 0));
1896+ if( AnsiPos(VAL_SPID, val) > 0 ) then begin
1897+ ABoard.SPID := Copy(val, AnsiPos(VAL_SPID, val) + Length(VAL_SPID), Length(val));
1898+ end else if( AnsiPos(VAL_PON, val) > 0 ) then begin
1899+ ABoard.PON := Copy(val, AnsiPos(VAL_PON, val) + Length(VAL_PON), Length(val));
1900+ end else begin
1901+ ABoard.Cookie := ABoard.Cookie + val + '; ';
1902+ end;
1903+ //expiresを切り出す
1904+ val := Trim(GikoSys.GetTokenIndex(tmp, ';', 1));
1905+ if( AnsiPos(EXPIRES_MARK, val) > 0) then begin
1906+ Delete(val, 1, AnsiPos(EXPIRES_MARK, val) + Length(EXPIRES_MARK) - 1);
1907+ ABoard.Expires := GMTToLocalDateTime(val);
1908+ end;
1909+ end;
19401910 end;
19411911 //! hiddenデータ取得
19421912 procedure TEditorForm.GetHiddenParameter(Rawtext: String; ABoard: TBoard);
--- a/Giko.dfm
+++ b/Giko.dfm
@@ -7609,6 +7609,12 @@ object GikoForm: TGikoForm
76097609 object N84: TMenuItem
76107610 Caption = '-'
76117611 end
7612+ object UpdateGikonaviAction1: TMenuItem
7613+ Action = GikoDM.UpdateGikonaviAction
7614+ end
7615+ object N7: TMenuItem
7616+ Caption = '-'
7617+ end
76127618 object DeleteMenu: TMenuItem
76137619 Action = GikoDM.LogDeleteAction
76147620 end
@@ -8157,12 +8163,6 @@ object GikoForm: TGikoForm
81578163 object N38: TMenuItem
81588164 Caption = '-'
81598165 end
8160- object UpdateGikonaviAction1: TMenuItem
8161- Action = GikoDM.UpdateGikonaviAction
8162- end
8163- object N7: TMenuItem
8164- Caption = '-'
8165- end
81668166 object AboutMenu: TMenuItem
81678167 Action = GikoDM.AboutAction
81688168 end
--- a/Giko.pas
+++ b/Giko.pas
@@ -424,7 +424,6 @@ type
424424 N84: TMenuItem;
425425 procedure FormCreate(Sender: TObject);
426426 procedure FormDestroy(Sender: TObject);
427- procedure SaveSettingAll();
428427 procedure BrowserStatusTextChange(Sender: TObject;
429428 const Text: WideString);
430429 procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
@@ -609,8 +608,6 @@ type
609608 FPreviewBrowserRect: TRect; ///< プレビューの表示位置を記憶する
610609 FActionListGroupIndexes: array of Integer; ///<GikoDM上のアクションリストの各アクションに設定されたGroupIndexを保存する配列
611610 FResPopupBrowser: TResPopupBrowser;
612- FUpdateExePath: string; ///ギコナビ更新インストーラパス
613- FUpdateExeArgs: string; ///ギコナビ更新インストーラ引数
614611 procedure DownloadEnd(Sender: TObject; Item: TDownloadItem);
615612 procedure DownloadMsg(Sender: TObject; Item: TDownloadItem; Msg: string; Icon: TGikoMessageIcon);
616613 procedure WorkBegin(Sender: TObject; AWorkMode: TWorkMode; const AWorkCountMax: Integer; Number: Integer; const AWorkTitle: string);
@@ -738,9 +735,6 @@ type
738735 property ScreenCursor : TCursor read GetScreenCursor write SetScreenCursor;
739736 property ActiveBBS : TBBS read FActiveBBS write FActiveBBS;
740737 property WorkCount: Integer read FWorkCount write FWorkCount;
741- property UpdateExePath: string read FUpdateExePath write FUpdateExePath;
742- property UpdateExeArgs: string read FUpdateExeArgs write FUpdateExeArgs;
743-
744738 procedure SetContent(inThread: TBrowserRecord);
745739 function GetActiveContent(popup :Boolean = false): TThreadItem;
746740 function GetActiveList: TObject;
@@ -934,8 +928,6 @@ begin
934928 FResPopupBrowser := nil;
935929 CreateBrowsers(BROWSER_COUNT);
936930 FIconData.uID := 0;
937- FUpdateExePath := '';
938- FUpdateExeArgs := '';
939931
940932 //メニューフォント
941933 SetMenuFont;
@@ -1500,9 +1492,7 @@ begin
15001492 GikoDM.TabsOpenAction.Execute;
15011493 GikoDM.TabsOpenAction.Tag := 0;
15021494 if (GikoSys.Setting.LastCloseTabURL <> '') then begin
1503- if ( FActiveContent <> nil) and (FActiveContent.Browser <> nil) then begin
1504- PostMessage( Handle, USER_DOCUMENTCOMPLETE, Integer( FActiveContent.Browser ), 0 );
1505- end;
1495+ PostMessage( Handle, USER_DOCUMENTCOMPLETE, Integer( FActiveContent.Browser ), 0 );
15061496 if ( FActiveContent <> nil) and (FActiveContent.Browser <> nil) then begin
15071497 while (FActiveContent.Browser.ReadyState <> READYSTATE_COMPLETE) and
15081498 (FActiveContent.Browser.ReadyState <> READYSTATE_INTERACTIVE) do begin
@@ -1560,25 +1550,38 @@ begin
15601550
15611551 Application.UnhookMainWindow(Hook);
15621552 //アプリケーション終了の前にダウンロードスレッドに正常終了を促す
1563- FControlThread.DownloadAbort;
15641553 FControlThread.Terminate;
1565-
1566- //OnDestoryだと再起動をかけたときなどに保存されないのでOnCloseQueryで設定保存
1567- SaveSettingAll();
1568-
15691554 Application.Terminate;
15701555 end;
15711556
1572-procedure TGikoForm.SaveSettingAll();
1557+procedure TGikoForm.FormDestroy(Sender: TObject);
15731558 var
1559+ i : Integer;
15741560 wp : TWindowPlacement;
1561+ tmpBool : Boolean;
15751562 WindowPlacement: TWindowPlacement;
15761563 begin
1564+ // タスクトレイのアイコン削除
1565+ if (FIconData.uID <> 0) then begin
1566+ Shell_NotifyIcon(NIM_DELETE, @FIconData);
1567+ end;
1568+
1569+ // マウスジェスチャー開放
1570+ try
1571+ if GikoSys.Setting.GestureEnabled then begin
1572+ MouseGesture.OnGestureStart := nil;
1573+ MouseGesture.OnGestureMove := nil;
1574+ MouseGesture.OnGestureEnd := nil;
1575+ end;
1576+ MouseGesture.Clear;
1577+ MouseGesture.UnHook;
1578+ MouseGesture.Free;
1579+ except
1580+ end;
15771581 try
15781582 ActiveListColumnSave;
15791583 except
15801584 end;
1581-
15821585 try
15831586 WindowPlacement.length := SizeOf(TWindowPlacement);
15841587 GetWindowPlacement(Self.Handle, @WindowPlacement);
@@ -1611,11 +1614,20 @@ begin
16111614 GikoSys.Setting.ResRange := FResRangeMenuSelect;
16121615 except
16131616 end;
1614- //今のwinodwのスタイルでCoolBarの位置、ウィンドウの位置を保存
1615- SaveCoolBarSettings;
1616- GikoSys.Setting.WriteWindowSettingFile;
1617- // 名前とメールの保存なのでエディタが閉じた後ならいつでもいい
1618- GikoSys.Setting.WriteNameMailSettingFile;
1617+ if WindowState <> wsNormal then
1618+ WindowState := wsNormal;
1619+ SaveCoolBarSettings;
1620+ try
1621+ GikoSys.Setting.WriteWindowSettingFile;
1622+ GikoSys.Setting.WriteNameMailSettingFile;
1623+ except
1624+ end;
1625+ // リアルタイムに保存されるので、また、ウィンドウサイズが CoolBar より
1626+ // 小さくなっているときに保存すると値が上書きされてしまうのでここでは保存しない
1627+
1628+ // ↑FormDestroy中に移動したので、ここで保存しないといけないと思う。(もじゅ 2004/04/09)
1629+ // CoolBar 保存
1630+ //if (GikoForm.WindowState <> wsMinimized) and (GikoForm.WindowState <> wsMaximized) then
16191631
16201632 //入力アシスト機構の設定の保存
16211633 InputAssistDM.SaveToFile(GikoSys.GetInputAssistFileName);
@@ -1627,71 +1639,10 @@ begin
16271639 if not (FavoriteDM.AbEnd) then begin
16281640 FavoriteDM.WriteFavorite;
16291641 end;
1630- except
1631- end;
1632-
1633- //アドレス履歴保存
1634- try
1635- //AddressHistoryDMは自動生成フォームなので、解放は自動的にされる。
1636- AddressHistoryDM.WriteHistory(AddressComboBox.Items, GikoSys.Setting.MaxRecordCount);
1637- except
1638- end;
1639-
1640- //ヒストリリスト保存
1641- try
1642- FHistoryList.SaveToFile(GikoSys.GetConfigDir + 'History.xml');
1643- except
1644- end;
1645-
1646- //巡回リスト保存
1647- try
1648- RoundList.SaveRoundFile;
1649- except
1650- end;
1651-
1652- // タスクトレイのアイコン削除
1653- if (FIconData.uID <> 0) then begin
1654- Shell_NotifyIcon(NIM_DELETE, @FIconData);
1655- end;
1656-
1657-end;
1658-
1659-procedure TGikoForm.FormDestroy(Sender: TObject);
1660-var
1661- i : Integer;
1662- tmpBool : Boolean;
1663-begin
1664- //一時的に通常スタイルに戻してCoolBarの位置、ウィンドウの位置を保存
1665- //※注意:OnDestroyで使うことしか考慮されていない
1666- // 他でやると再描画が発生する
1667- if WindowState <> wsNormal then begin
1668- WindowState := wsNormal;
1669- try
1670- SaveCoolBarSettings;
1671- GikoSys.Setting.WriteWindowSettingFile;
1672- except
1673- end;
1674- end;
1675-
1676- // マウスジェスチャー開放
1677- try
1678- if GikoSys.Setting.GestureEnabled then begin
1679- MouseGesture.OnGestureStart := nil;
1680- MouseGesture.OnGestureMove := nil;
1681- MouseGesture.OnGestureEnd := nil;
1682- end;
1683- MouseGesture.Clear;
1684- MouseGesture.UnHook;
1685- MouseGesture.Free;
1686- except
1687- end;
1688-
1689- //お気に入り破棄
1690- try
16911642 FavoriteDM.Clear;
16921643 except
16931644 end;
1694-
1645+ //LockWindowUpdate(Self.Handle);
16951646 try
16961647 //タブクローズ
16971648 tmpBool := GikoSys.Setting.ShowDialogForAllTabClose;
@@ -1700,7 +1651,6 @@ begin
17001651 GikoSys.Setting.ShowDialogForAllTabClose := tmpBool;
17011652 except
17021653 end;
1703-
17041654 try
17051655 for i := FBrowsers.Count - 1 downto 0 do begin
17061656 GikoSys.ShowRefCount('browser' + IntToStr(i), TWebBrowser(FBrowsers[i]).ControlInterface);
@@ -1715,7 +1665,6 @@ begin
17151665 finally
17161666 FBrowsers.Free;
17171667 end;
1718-
17191668 try
17201669 if BrowserNullTab <> nil then begin
17211670 BrowserNullTab.Browser := nil; {*BrowserNullTabのBrowserは設計時に貼り付けてる奴
@@ -1734,6 +1683,18 @@ begin
17341683 except
17351684 end;
17361685
1686+ //アドレス履歴保存
1687+ try
1688+ //AddressHistoryDMは自動生成フォームなので、解放は自動的にされる。
1689+ AddressHistoryDM.WriteHistory(AddressComboBox.Items, GikoSys.Setting.MaxRecordCount);
1690+ except
1691+ end;
1692+
1693+ //ヒストリリスト保存
1694+ try
1695+ FHistoryList.SaveToFile(GikoSys.GetConfigDir + 'History.xml');
1696+ except
1697+ end;
17371698 try
17381699 try
17391700 FHistoryList.Clear;
@@ -1743,7 +1704,11 @@ begin
17431704 FHistoryList.Free;
17441705 end;
17451706
1746-
1707+ //巡回リスト保存&破棄
1708+ try
1709+ RoundList.SaveRoundFile;
1710+ except
1711+ end;
17471712 try
17481713 try
17491714 RoundList.Clear;
@@ -1755,7 +1720,7 @@ begin
17551720
17561721 try
17571722 try
1758- //FControlThread.DownloadAbort;
1723+ FControlThread.DownloadAbort;
17591724 FControlThread.Terminate;
17601725 FControlThread.WaitFor;
17611726 except
@@ -1807,12 +1772,7 @@ begin
18071772 end;
18081773 except
18091774 end;
1810-
1811- // Updateがいれば実行する
1812- if FileExists(FUpdateExePath) then begin
1813- // アップデート実行
1814- GikoSys.CreateProcess(FUpdateExePath, FUpdateExeArgs);
1815- end;
1775+ //LockWindowUpdate(0);
18161776 end;
18171777
18181778 // 各所にあるキャビネット・ BBS メニューをセット/更新
--- a/GikoDataModule.pas
+++ b/GikoDataModule.pas
@@ -4569,29 +4569,18 @@ procedure TGikoDM.UpdateGikonaviActionExecute(Sender: TObject);
45694569 var
45704570 form : TUpdateCheckForm;
45714571 Msg: string;
4572- shutdown: boolean;
45734572 begin
45744573 if (EditorFormExists) then begin
45754574 Msg := 'レスエディタを全て閉じてください';
45764575 MsgBox(GikoForm.Handle, Msg, MSG_ERROR, MB_OK or MB_ICONSTOP);
45774576 Exit;
45784577 end;
4579- GikoForm.UpdateExePath := '';
4580- GikoForm.UpdateExeArgs := '';
45814578 form := TUpdateCheckForm.Create(Self);
45824579 try
45834580 form.ShowModal;
4584- shutdown := form.Allowshutdown;
4585- GikoForm.UpdateExePath := form.ExecPath;
4586- GikoForm.UpdateExeArgs := form.ExecArgs;
45874581 finally
45884582 form.Release;
45894583 end;
4590- if shutdown then begin
4591- // ギコナビ終了
4592- GikoForm.Close;
4593- end;
4594-
45954584 end;
45964585
45974586 end.
--- a/NewBoardURL.pas
+++ b/NewBoardURL.pas
@@ -115,14 +115,9 @@ begin
115115 newURL := IdHTTP.Response.Location;
116116 end;
117117 if (newURL <> '') then begin
118- // リダイレクトすれば必ず移転とは限らない
119- // テレビ番組板などの対策最後の'/'までをURLとする
120- if (Length(newURL) <> LastDelimiter('/', newURL)) then begin
121- newURL := Copy(newURL, 1, LastDelimiter('/', newURL));
122- end;
123118 oldURL := URLs[i];
124- if (oldURL <> newURL) then begin
125- ResultMemo.Lines.Add('URL:' + oldURL + ' -> ' + newURL);
119+ ResultMemo.Lines.Add('URL:' + oldURL + ' -> ' + newURL);
120+ if (newURL <> '') then begin
126121 oldURLs.Add( oldURL );
127122 newURLs.Add( newURL );
128123 end;
--- a/RoundData.pas
+++ b/RoundData.pas
@@ -381,12 +381,6 @@ begin
381381 end;
382382 end;
383383 //Item := TRoundItem.Create;
384-
385- if sl.Count = 0 then begin
386- //エラー落ちするなどしてファイルの内容が空だとエラーになる対策
387- sl.Add(ROUND_INDEX_VERSION);
388- end;
389-
390384 delCount := 0;
391385 //1行目はバージョン
392386 if sl[0] = ROUND_INDEX_VERSION then begin
@@ -448,11 +442,6 @@ begin
448442 end;
449443 end;
450444 //Item := TRoundItem.Create;
451- if sl.Count = 0 then begin
452- //エラー落ちするなどしてファイルの内容が空だとエラーになる対策
453- sl.Add(ROUND_INDEX_VERSION);
454- end;
455-
456445 delCount := 0;
457446 //1行目はバージョン
458447 if sl[0] = ROUND_INDEX_VERSION then begin
--- a/Setting.pas
+++ b/Setting.pas
@@ -1333,15 +1333,6 @@ begin
13331333
13341334 FCheckDatFile := ini.ReadBool('ThreadList', 'CheckDatFile', True);
13351335 FLimitResCountMessage := ini.ReadBool('Thread', 'LimitResCountMessage', True);
1336-
1337- // ギコナビ更新で利用したインストーラの削除
1338- s := ini.ReadString('Update', 'Remove0', '');
1339- if (FileExists(s)) then begin
1340- SysUtils.DeleteFile(s);
1341- // 削除に失敗しても無視する
1342- ini.DeleteKey('Update', 'Remove0');
1343- end;
1344-
13451336 ini.UpdateFile;
13461337 finally
13471338 ini.Free;
--- a/UpdateCheck.dfm
+++ b/UpdateCheck.dfm
@@ -31,15 +31,6 @@ object UpdateCheckForm: TUpdateCheckForm
3131 TabOrder = 0
3232 OnClick = UpdateButtonClick
3333 end
34- object NightBuildCheckButton: TButton
35- Left = 368
36- Top = 8
37- Width = 107
38- Height = 25
39- Caption = #20154#26609#29256#26356#26032
40- TabOrder = 1
41- OnClick = NightBuildCheckButtonClick
42- end
4334 end
4435 object Panel2: TPanel
4536 Left = 0
@@ -72,11 +63,11 @@ object UpdateCheckForm: TUpdateCheckForm
7263 Request.BasicAuthentication = False
7364 Request.UserAgent = 'Mozilla/3.0 (compatible; Indy Library)'
7465 HTTPOptions = [hoForceEncodeParams]
75- Left = 304
66+ Left = 400
7667 Top = 8
7768 end
7869 object IdAntiFreeze: TIdAntiFreeze
79- Left = 336
70+ Left = 440
8071 Top = 8
8172 end
8273 end
--- a/UpdateCheck.pas
+++ b/UpdateCheck.pas
@@ -15,25 +15,16 @@ type
1515 UpdateButton: TButton;
1616 IdHTTP: TIdHTTP;
1717 IdAntiFreeze: TIdAntiFreeze;
18- NightBuildCheckButton: TButton;
1918 procedure UpdateButtonClick(Sender: TObject);
2019 procedure FormCreate(Sender: TObject);
21- procedure NightBuildCheckButtonClick(Sender: TObject);
2220 private
2321 { Private 宣言 }
24- FExecPath : string;
25- FExecArgs : string;
26- FAllowshutdown : Boolean;
2722 function GetDesktopDir:string;
2823 function GetDownloadFilePath(FileName: String): String;
2924 function CreateShortCut(FileName, Argment, SavePath :string):boolean;
3025 procedure DonwloadUpdate(url: String);
31- function CheckUpdate(nightbuild :Boolean): Boolean;
3226 public
3327 { Public 宣言 }
34- property ExecPath :String read FExecPath;
35- property ExecArgs :String read FExecArgs;
36- property Allowshutdown :Boolean read FAllowshutdown;
3728 end;
3829
3930 var
@@ -42,53 +33,18 @@ var
4233 implementation
4334 uses
4435 GikoSystem, NewBoard, Giko, IniFiles, MojuUtils, GikoDataModule,
45- ActiveX, ComObj, ShlObj, GikoUtil;
46-
36+ ActiveX, ComObj, ShlObj;
37+
4738 {$R *.dfm}
48-//! 正規版
49-procedure TUpdateCheckForm.UpdateButtonClick(Sender: TObject);
50-begin
51- if CheckUpdate(false) then begin
52- if GikoUtil.MsgBox(Handle, '更新があるためギコナビを再起動しますか?', '終了確認',
53- MB_YESNO or MB_ICONWARNING or MB_DEFBUTTON2) = ID_YES then begin
54- FAllowshutdown := True;
55- close;
56- end;
57- end;
58-end;
59-//! 人柱版
60-procedure TUpdateCheckForm.NightBuildCheckButtonClick(Sender: TObject);
61-begin
62- if GikoUtil.MsgBox(Handle, '正式リリース版ではありませんがよろしいですか?', '更新確認',
63- MB_YESNO or MB_ICONWARNING or MB_DEFBUTTON2) = ID_YES then begin
64- if CheckUpdate(true) then begin
65- if GikoUtil.MsgBox(Handle, '更新があるためギコナビを再起動しますか?', '終了確認',
66- MB_YESNO or MB_ICONWARNING or MB_DEFBUTTON2) = ID_YES then begin
67- FAllowshutdown := True;
68- close;
69- end;
70- end;
71- end;
72-end;
7339
74-//! アップデート対象確認
75-function TUpdateCheckForm.CheckUpdate(nightbuild :Boolean): Boolean;
40+procedure TUpdateCheckForm.UpdateButtonClick(Sender: TObject);
7641 const
77-{$IFDEF DEBUG}
78- CHECK_URL = 'http://gikonavi.sourceforge.jp/updater/debug.txt';
79-{$ELSE}
8042 CHECK_URL = 'http://gikonavi.sourceforge.jp/updater/latest.txt';
81-{$ENDIF}
8243 var
8344 value : string;
8445 ResStream: TMemoryStream;
8546 downResult, current, newest: TStringList;
86- newgiko: Boolean;
8747 begin
88- Result := false;
89- FExecPath := '';
90- FExecArgs := '';
91- FAllowshutdown := False;
9248 ResultMemo.Lines.Clear;
9349 Screen.Cursor := crHourGlass;
9450 UpdateButton.Enabled := False;
@@ -114,35 +70,17 @@ begin
11470 value := GikoSys.GzipDecompress(ResStream,
11571 IdHTTP.Response.ContentEncoding);
11672 downResult.Text := value;
117- if (nightbuild) then begin
118- ResultMemo.Lines.Add('最新のnight buildは、' + downResult.Values[ 'n_version' ]);
119- newest.Text := MojuUtils.CustomStringReplace(downResult.Values[ 'n_version' ],
120- '.', #10, false);
121- end else begin
122- ResultMemo.Lines.Add('最新のギコナビは、' + downResult.Values[ 'version' ]);
123- newest.Text := MojuUtils.CustomStringReplace(downResult.Values[ 'version' ],
73+ newest.Text := MojuUtils.CustomStringReplace(downResult.Values[ 'version' ],
12474 '.', #10, false);
125- end;
12675 current.Text := MojuUtils.CustomStringReplace(GikoSys.Version,
12776 '.', #10, false);
12877 if newest.Count >= 2 then begin
129- newgiko := false;
130- // night buildは、ビルド番号だけで判定する
131- if (nightbuild) then begin
132- newgiko := StrToInt(current[3]) < StrToInt(newest[3]);
133- end else begin
134- newgiko := ( StrToInt(current[1]) < StrToInt(newest[1]) ) or
135- ( (StrToInt(current[1]) = StrToInt(newest[1]))) and
136- ((StrToInt(current[2]) < StrToInt(newest[2])) );
137- end;
138- if (newgiko) then begin
139- if GikoUtil.MsgBox(Handle, '新しいギコナビがあります。ダウンロードしますか?', '更新確認',
140- MB_YESNO or MB_ICONWARNING or MB_DEFBUTTON2) = ID_YES then begin
78+ if ( StrToInt(current[1]) < StrToInt(newest[1]) ) or
79+ ( (StrToInt(current[1]) = StrToInt(newest[1]))) and
80+ ((StrToInt(current[2]) < StrToInt(newest[2])) ) then begin
81+ ResultMemo.Lines.Add('新しいギコナビがあります。ダウンロードを開始します。' + downResult.Values[ 'url' ]);
14182
142- ResultMemo.Lines.Add('新しいギコナビがあります。ダウンロードを開始します。' + downResult.Values[ 'url' ]);
143- DonwloadUpdate(Trim(downResult.Values[ 'url' ]));
144- Result := True;
145- end;
83+ DonwloadUpdate(Trim(downResult.Values[ 'url' ]));
14684 end else begin
14785 ResultMemo.Lines.Add('今のギコナビが最新です。');
14886 end;
@@ -186,12 +124,12 @@ begin
186124 IdHTTP.Get(url, fileStrem);
187125 ResultMemo.Lines.Add(
188126 IdHttp.ResponseText + '(' + IntToStr(IdHttp.ResponseCode) + ')');
189- FExecPath := filename;
190- FExecArgs := '/SP- /silent /noicons "/dir=' + GikoSys.GetAppDir + '"';
191127 if CreateShortCut(
192- execPath, execArgs, GetDesktopDir) then begin
128+ filename,
129+ '/SP- /silent /noicons "/dir=' + GikoSys.GetAppDir + '"'
130+ , GetDesktopDir) then begin
193131 ResultMemo.Lines.Add('デスクトップに"ギコナビ更新"ショートカットを作成しました。');
194- // ResultMemo.Lines.Add('ギコナビを終了して、"ギコナビ更新"ショートカットをダブルクリックしてください。');
132+ ResultMemo.Lines.Add('ギコナビを終了して、"ギコナビ更新"ショートカットをダブルクリックしてください。');
195133 end else begin
196134 ResultMemo.Lines.Add('デスクトップにショートカットを作成できませんでした。');
197135 end;
@@ -263,9 +201,6 @@ end;
263201 procedure TUpdateCheckForm.FormCreate(Sender: TObject);
264202 begin
265203 ResultMemo.Lines.Clear;
266- FExecPath := '';
267- FExecArgs := '';
268- FAllowshutdown := False;
269204 end;
270205
271206 end.
Binary files a/gikoNavi.res and b/gikoNavi.res differ
--- a/readme/gikoSetup.iss
+++ b/readme/gikoSetup.iss
@@ -56,9 +56,6 @@ Name: japanese; MessagesFile: compiler:Languages\Japanese.isl
5656
5757 [Code]
5858 procedure CurStepChanged(CurStep: TSetupStep);
59-var
60- path :String;
61- srcpath: String;
6259 begin
6360 case CurStep of
6461 ssInstall:
@@ -78,15 +75,6 @@ begin
7875 end;
7976 end;
8077 end;
81- ssPostInstall:
82- begin
83- path := ExpandConstant('{app}') + '\gikoNavi.ini';
84- srcpath := ExpandConstant('{srcexe}');
85- if (FileExists(path)) then
86- begin
87- SetIniString('Update', 'Remove0', srcpath, path);
88- end;
89- end;
9078 end;
9179
9280 end;
--- a/readme/gikoUSetup.iss
+++ b/readme/gikoUSetup.iss
@@ -7,7 +7,7 @@
77 AppName=ギコナビ
88 AppVerName=ギコナビ
99 AppId=gikoNavi
10-AppMutex=gikoNaviInstance
10+AppMutex=http://gikonavi.sourceforge.jp/gikonavi/mutex
1111 AppPublisherURL=http://gikonavi.sourceforge.jp/
1212 AppendDefaultDirName = no
1313 DefaultDirName={pf}\gikonavi
@@ -18,8 +18,8 @@ SourceDir=G:\Release
1818 OutputDir=G:\InnoSetup\Output
1919 SetupIconFile="G:\gikoNaviSFX_102\MainIcon.ico"
2020 ; ギコナビのバージョンにあわせてください
21-VersionInfoVersion=1.59.0.778
22-OutputBaseFilename=gikoNavi_b59_778_usetup
21+VersionInfoVersion=1.59.0.769
22+OutputBaseFilename=gikoNavi_b59_769_usetup
2323 CreateUninstallRegKey=no
2424
2525 [Tasks]
@@ -63,49 +63,8 @@ Type: files; Name: "{app}\gikoNavi.ini"
6363 Name: japanese; MessagesFile: compiler:Languages\Japanese.isl
6464
6565 [Code]
66-function InitializeSetup(): Boolean;
67-var
68- timeout : Integer;
69-begin
70- Result := true;
71- // タイムアウト時間1分
72- timeout := 60 * 1000;
73- // ギコナビの起動時ミューテックスをチェック
74- while CheckForMutexes('gikoNaviInstance') do begin
75- // 起動中なのでスリープ
76- // まずは、タイムアウトチェック
77- if (timeout < 0) then begin
78- // タイムアウト
79- Result := False;
80- break;
81- end;
82- timeout := timeout - 500;
83- // スリープ
84- Sleep(500);
85- end;
86- // タイムアウト時は、手動でギコナビシャットダウンを要求
87- if not Result Then begin
88- if MsgBox('ギコナビが起動しているか。完全に終了していません。ギコナビの終了を確認してください。'
89- + #10#13 + '更新を続行するには,「はい」ボタンを押してください。',
90- mbConfirmation, MB_YESNO) = IDYES then begin
91- Result := not CheckForMutexes('gikoNaviInstance');
92- if not Result Then begin
93- MsgBox('ギコナビが起動しています。ギコナビ更新をキャンセルします。'
94- + #10#13 + 'ギコナビ更新は、デスクトップの「ギコナビ更新」ショートカットから再起動できます。'
95- , mbError, MB_OK);
96- end;
97- end else begin
98- MsgBox('ギコナビ更新をキャンセルします。'
99- + #10#13 + 'ギコナビ更新は、デスクトップの「ギコナビ更新」ショートカットから再起動できます。'
100- , mbError, MB_OK);
101- end;
102- end;
103-end;
10466
10567 procedure CurStepChanged(CurStep: TSetupStep);
106-var
107- path :String;
108- srcpath: String;
10968 begin
11069 case CurStep of
11170 ssInstall:
@@ -125,15 +84,6 @@ begin
12584 end;
12685 end;
12786 end;
128- ssPostInstall:
129- begin
130- path := ExpandConstant('{app}') + '\gikoNavi.ini';
131- srcpath := ExpandConstant('{srcexe}');
132- if (FileExists(path)) then
133- begin
134- SetIniString('Update', 'Remove0', srcpath, path);
135- end;
136- end;
13787 end;
13888
13989 end;
--- a/res/ExternalBoardPlugIn/ShitarabaJBBSPlugIn.dpr
+++ b/res/ExternalBoardPlugIn/ShitarabaJBBSPlugIn.dpr
@@ -2,7 +2,7 @@ library ShitarabaJBBSPlugIn;
22
33 {
44 ShitarabaJBBSPlugIn
5- $Id: ShitarabaJBBSPlugIn.dpr,v 1.46 2008/12/20 04:02:40 h677 Exp $
5+ $Id: ShitarabaJBBSPlugIn.dpr,v 1.45 2008/08/03 02:45:48 h677 Exp $
66 }
77
88 uses
@@ -83,7 +83,7 @@ const
8383 MAJOR_VERSION = 1;
8484 MINOR_VERSION = 1;
8585 RELEASE_VERSION = 'alpha';
86- REVISION_VERSION = 18;
86+ REVISION_VERSION = 17;
8787
8888 SYNCRONIZE_MENU_CAPTION = 'したらばJBBS板更新';
8989
@@ -880,10 +880,11 @@ begin
880880 tmpLine := AnsiLowerCase(tmpHTML[i]);
881881 tS := AnsiPos('<a href="mailto:', tmpLine);
882882 if tS > 0 then begin //メル欄アリ
883- tE := AnsiPos('">', tmpLine);
884- tmpDatToken[2] := Copy(tmpHTML[i], tS + 16, tE - (tS + 16));
885- tmpHTML[i] := Copy(tmpHTML[i], tE + 5, Length(tmpHTML[i]));
886- tmpHTML[i] := CustomStringReplace(tmpHTML[i], '</a>', '', true); end else begin //メル欄無し
883+ tE := AnsiPos('">', tmpLine);
884+ tmpDatToken[2] := Copy(tmpHTML[i], tS + 16, tE - (tS + 16));
885+ tmpHTML[i] := Copy(tmpHTML[i], tE + 5, Length(tmpHTML[i]));
886+ tmpHTML[i] := CustomStringReplace(tmpHTML[i], '</a>', '', true);
887+ end else begin //メル欄無し
887888 tmpDatToken[2] := '';
888889 end;
889890 //====================//
@@ -896,16 +897,7 @@ begin
896897 tmpDatToken[1] := CustomStringReplace(tmpDatToken[1], '</b>', '', true);
897898 tmpHTML[i] := Copy(tmpHTML[i], tE + 8, Length(tmpHTML[i]));
898899 end else begin
899- // 投稿日のないパターンを救う
900- tE := AnsiPos(':', tmpLine);
901- if tE > 0 then begin
902- tmpDatToken[1] := Trim(Copy(tmpHTML[i], 1, tE - 1 ));
903- tmpDatToken[1] := CustomStringReplace(tmpDatToken[1], '<b>', '', true);
904- tmpDatToken[1] := CustomStringReplace(tmpDatToken[1], '</b>', '', true);
905- tmpHTML[i] := Copy(tmpHTML[i], tE + 2, Length(tmpHTML[i]));
906- end else begin
907- tmpDatToken[1] := '';
908- end;
900+ tmpDatToken[1] := '';
909901 end;
910902 //====================//
911903 //==日付時刻の取得==//
Binary files a/res/ExternalBoardPlugIn/ShitarabaJBBSPlugIn.res and b/res/ExternalBoardPlugIn/ShitarabaJBBSPlugIn.res differ
Show on old repository browser