From c6ead740c8795dd9afea46ad392c153fbe47c675 Mon Sep 17 00:00:00 2001 From: Berke Viktor Date: Sat, 23 Mar 2013 17:06:19 +0100 Subject: [PATCH] Migrator for servlist_ in the installers --- win32/installer/hexchat-x64.skel.iss | 27 +++++++++++++++++++++++++++ win32/installer/hexchat-x86.skel.iss | 27 +++++++++++++++++++++++++++ 2 files changed, 54 insertions(+) diff --git a/win32/installer/hexchat-x64.skel.iss b/win32/installer/hexchat-x64.skel.iss index 4459922f..fe55e7d3 100644 --- a/win32/installer/hexchat-x64.skel.iss +++ b/win32/installer/hexchat-x64.skel.iss @@ -240,6 +240,24 @@ begin Result := 1; end; + +///////////////////////////////////////////////////////////////////// +procedure MigrateServlist(); +begin + FileCopy(ExpandConstant('{userappdata}\HexChat\servlist_.conf'), ExpandConstant('{userappdata}\HexChat\servlist.conf'), True); +end; + + +///////////////////////////////////////////////////////////////////// +function OldServlistCheck(): Boolean; +begin + if FileExists(ExpandConstant('{userappdata}\HexChat\servlist_.conf')) then + Result := True + else + Result := False +end; + + ///////////////////////////////////////////////////////////////////// procedure CurStepChanged(CurStep: TSetupStep); begin @@ -253,9 +271,18 @@ begin end; DeleteFile(ExpandConstant('{app}\portable-mode')); end; + + if (CurStep=ssPostInstall) then + begin + if OldServlistCheck() then begin + if SuppressibleMsgBox('Would you like to copy your old HexChat network list (servlist_.conf) to the new name (servlist.conf)? Make sure you remove servlist_.conf when you no longer need it.', mbConfirmation, MB_YESNO or MB_DEFBUTTON2, IDNO) = IDYES then + MigrateServlist(); + end; + end; end; end; + ///////////////////////////////////////////////////////////////////// // Importing LoadSkin API from ISSkin.DLL procedure LoadSkin(lpszPath: String; lpszIniFileName: String); diff --git a/win32/installer/hexchat-x86.skel.iss b/win32/installer/hexchat-x86.skel.iss index b4c7d192..12c1251b 100644 --- a/win32/installer/hexchat-x86.skel.iss +++ b/win32/installer/hexchat-x86.skel.iss @@ -239,6 +239,24 @@ begin Result := 1; end; + +///////////////////////////////////////////////////////////////////// +procedure MigrateServlist(); +begin + FileCopy(ExpandConstant('{userappdata}\HexChat\servlist_.conf'), ExpandConstant('{userappdata}\HexChat\servlist.conf'), True); +end; + + +///////////////////////////////////////////////////////////////////// +function OldServlistCheck(): Boolean; +begin + if FileExists(ExpandConstant('{userappdata}\HexChat\servlist_.conf')) then + Result := True + else + Result := False +end; + + ///////////////////////////////////////////////////////////////////// procedure CurStepChanged(CurStep: TSetupStep); begin @@ -252,9 +270,18 @@ begin end; DeleteFile(ExpandConstant('{app}\portable-mode')); end; + + if (CurStep=ssPostInstall) then + begin + if OldServlistCheck() then begin + if SuppressibleMsgBox('Would you like to copy your old HexChat network list (servlist_.conf) to the new name (servlist.conf)? Make sure you remove servlist_.conf when you no longer need it.', mbConfirmation, MB_YESNO or MB_DEFBUTTON2, IDNO) = IDYES then + MigrateServlist(); + end; + end; end; end; + ///////////////////////////////////////////////////////////////////// // Importing LoadSkin API from ISSkin.DLL procedure LoadSkin(lpszPath: String; lpszIniFileName: String);