Removed old Microsoft Visual Studio C++ files (in 'visualc').

Created a new "win32" folder with (most of the) things from 'visualc'
that are still being used ('resource.h', 'resources.rc' and 'tuxpaint.iss').
This commit is contained in:
William Kendrick 2007-08-11 17:34:17 +00:00
parent c7652d3b89
commit 5ee55b039c
10 changed files with 7 additions and 609 deletions

17
win32/resource.h Normal file
View file

@ -0,0 +1,17 @@
//{{NO_DEPENDENCIES}}
// Microsoft Developer Studio generated include file.
// Used by resources.rc
//
#define IDI_ICON1 101
#define IDD_ABORTDLG 104
// Next default values for new objects
//
#ifdef APSTUDIO_INVOKED
#ifndef APSTUDIO_READONLY_SYMBOLS
#define _APS_NEXT_RESOURCE_VALUE 102
#define _APS_NEXT_COMMAND_VALUE 40001
#define _APS_NEXT_CONTROL_VALUE 1000
#define _APS_NEXT_SYMED_VALUE 101
#endif
#endif

67
win32/resources.rc Normal file
View file

@ -0,0 +1,67 @@
//Microsoft Developer Studio generated resource script.
//
#include <winver.h>
#include "resource.h"
/////////////////////////////////////////////////////////////////////////////
// English (U.K.) resources
#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENG)
#ifdef _WIN32
#pragma code_page(1252)
#endif //_WIN32
/////////////////////////////////////////////////////////////////////////////
//
// Icon
//
// Icon with lowest ID value placed first to ensure application icon
// remains consistent on all systems.
IDI_ICON1 ICON DISCARDABLE "data/images/icon-win32.ico"
/////////////////////////////////////////////////////////////////////////////
//
// Version
//
VS_VERSION_INFO VERSIONINFO
FILEVERSION 0,9,18,0
PRODUCTVERSION 0,9,18,0
FILEFLAGSMASK 0x3fL
#ifdef _DEBUG
FILEFLAGS 0x21L
#else
FILEFLAGS 0x20L
#endif
FILEOS 0x40004L
FILETYPE 0x1L
FILESUBTYPE 0x0L
BEGIN
BLOCK "StringFileInfo"
BEGIN
BLOCK "040904b0"
BEGIN
VALUE "Comments", "\0"
VALUE "CompanyName", "New Breed Software\0"
VALUE "FileDescription", "Tux Paint - Interactive Paint Program.\0"
VALUE "FileVersion", "0.9.18\0"
VALUE "InternalName", "Tux Paint\0"
VALUE "LegalCopyright", "Copyright (C) 2007 by Bill Kendrick\0"
VALUE "LegalTrademarks", "\0"
VALUE "OriginalFilename", "TuxPaint.exe\0"
VALUE "PrivateBuild", "\0"
VALUE "ProductName", "Tux Paint\0"
VALUE "ProductVersion", "0.9.18\0"
VALUE "SpecialBuild", "win32 build by John Popplewell\0"
END
END
BLOCK "VarFileInfo"
BEGIN
VALUE "Translation", 0x409, 1200
END
END
#endif // English (U.K.) resources
/////////////////////////////////////////////////////////////////////////////

397
win32/tuxpaint.iss Normal file
View file

@ -0,0 +1,397 @@
;
; This script needs the InnoSetup PreProcessor (ISPP) to compile correctly.
; I downloaded a combined 'QuickStart Pack' from here:
; http://www.jrsoftware.org/isdl.php#qsp
;
; The version string is extracted from the executable.
;
#define PublisherName "New Breed Software"
#define PublisherURL "{code:MyPublisherURL}"
#define AppName "Tux Paint"
#define AppDirName "TuxPaint"
#define AppPrefix "tuxpaint"
#define AppRegKey AppDirName
#define AppRegValue "Install_Dir"
#define AppRegVersion "Version"
#define AppGroupName AppName
#define AppExe AppPrefix+".exe"
#define AppConfigName AppName+" Config"
#define AppConfigExe AppPrefix+"-config.exe"
#define AppReadme "{code:MyReadme}"
#define AppLicence "{code:MyLicence}"
#define BdistDir ".\bdist"
#define AppVersion GetStringFileInfo(BdistDir+"\"+AppExe, "FileVersion")
[Setup]
AppName={#AppName}
AppVerName={#AppName} {#AppVersion}
AppPublisher={#PublisherName}
AppPublisherURL={#PublisherURL}
AppSupportURL={#PublisherURL}
AppUpdatesURL={#PublisherURL}
DefaultDirName={pf}\{#AppDirName}
DefaultGroupName={#AppGroupName}
LicenseFile={#BdistDir}\docs\COPYING.txt
OutputDir=.\
OutputBaseFilename={#AppPrefix}-{#AppVersion}-win32-installer
SetupIconFile={#BdistDir}\data\images\tuxpaint-installer.ico
Compression=lzma
SolidCompression=yes
[Languages]
Name: "eng"; MessagesFile: "compiler:Default.isl"
Name: "bra"; MessagesFile: "compiler:Languages\BrazilianPortuguese.isl"; LicenseFile: {#BdistDir}\docs\pt_br\COPYING_pt_BR.txt;
Name: "cat"; MessagesFile: "compiler:Languages\Catalan.isl"; LicenseFile: {#BdistDir}\docs\ca\COPYING.txt;
Name: "cze"; MessagesFile: "compiler:Languages\Czech.isl"; LicenseFile: {#BdistDir}\docs\cs\COPYING.txt;
Name: "dan"; MessagesFile: "compiler:Languages\Danish.isl"; LicenseFile: {#BdistDir}\docs\da\COPYING.txt;
Name: "dut"; MessagesFile: "compiler:Languages\Dutch.isl"; LicenseFile: {#BdistDir}\docs\nl\COPYING_nl.txt;
Name: "fre"; MessagesFile: "compiler:Languages\French.isl"; LicenseFile: {#BdistDir}\docs\fr\COPIER.txt;
Name: "ger"; MessagesFile: "compiler:Languages\German.isl"; LicenseFile: {#BdistDir}\docs\de\KOPIE.txt;
Name: "hun"; MessagesFile: "compiler:Languages\Hungarian.isl"
Name: "ita"; MessagesFile: "compiler:Languages\Italian.isl"; LicenseFile: {#BdistDir}\docs\it\COPIATURA.txt;
Name: "nor"; MessagesFile: "compiler:Languages\Norwegian.isl"
Name: "pol"; MessagesFile: "compiler:Languages\Polish.isl"; LicenseFile: {#BdistDir}\docs\pl\LICENCJA-GNU.txt;
Name: "por"; MessagesFile: "compiler:Languages\Portuguese.isl"
Name: "rus"; MessagesFile: "compiler:Languages\Russian.isl"
Name: "slo"; MessagesFile: "compiler:Languages\Slovenian.isl"
Name: "esp"; MessagesFile: "compiler:Languages\Spanish.isl"; LicenseFile: {#BdistDir}\docs\es\COPIADO.txt;
; Additional, Candidate official translations
Name: "chs"; MessagesFile: "compiler:Languages\ChineseSimp-11-5.1.0.isl"
; Additional, Unofficial translations
Name: "gal"; MessagesFile: "compiler:Languages\Galician-2-5.1.11.isl"
Name: "cht"; MessagesFile: "compiler:Languages\ChineseTrad-2-5.1.11.isl"
[Tasks]
Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked
[Files]
Source: "{#BdistDir}\jpeg.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "{#BdistDir}\libcairo-2.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "{#BdistDir}\libfreetype-6.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "{#BdistDir}\libiconv-2.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "{#BdistDir}\libintl-8.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "{#BdistDir}\libogg-0.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "{#BdistDir}\libpng12.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "{#BdistDir}\libvorbis-0.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "{#BdistDir}\libvorbisfile-3.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "{#BdistDir}\libxml2-2.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "{#BdistDir}\SDL.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "{#BdistDir}\SDL_image.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "{#BdistDir}\SDL_mixer.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "{#BdistDir}\SDL_ttf.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "{#BdistDir}\svg.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "{#BdistDir}\svg-cairo.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "{#BdistDir}\tuxpaint.exe"; DestDir: "{app}"; Flags: ignoreversion
Source: "{#BdistDir}\tuxpaint-config.exe"; DestDir: "{app}"; Flags: ignoreversion
Source: "{#BdistDir}\zlib1.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "{#BdistDir}\data\*"; DestDir: "{app}\data"; Excludes: "CVS"; Flags: ignoreversion recursesubdirs createallsubdirs
Source: "{#BdistDir}\docs\*"; DestDir: "{app}\docs"; Excludes: "CVS,Makefile,*~"; Flags: ignoreversion recursesubdirs createallsubdirs
Source: "{#BdistDir}\im\*"; DestDir: "{app}\im"; Flags: ignoreversion recursesubdirs createallsubdirs
Source: "{#BdistDir}\locale\*"; DestDir: "{app}\locale"; Excludes: "CVS"; Flags: ignoreversion recursesubdirs createallsubdirs
Source: "{#BdistDir}\..\libdocs\*"; DestDir: "{app}\docs\libdocs"; Excludes: "CVS,Makefile,*~"; Flags: ignoreversion recursesubdirs createallsubdirs
; NOTE: Don't use "Flags: ignoreversion" on any shared system files
[INI]
Filename: "{app}\{#AppName}.url"; Section: "InternetShortcut"; Key: "URL"; String: "{#PublisherURL}"
[Icons]
Name: "{code:MyGroupDir}\{#AppGroupName}\Configure {#AppName}"; Filename: "{app}\{#AppConfigExe}"; Comment: "{#AppConfigName}"
Name: "{code:MyGroupDir}\{#AppGroupName}\{#AppName} (Full Screen)"; Filename: "{app}\{#AppExe}"; Parameters: "--fullscreen"; Comment: "Start {#AppName} in Fullscreen mode"
Name: "{code:MyGroupDir}\{#AppGroupName}\{#AppName} (Windowed)"; Filename: "{app}\{#AppExe}"; Parameters: "--windowed"; Comment: "Start {#AppName} in a Window"
Name: "{code:MyGroupDir}\{#AppGroupName}\Readme"; Filename: "{app}\{#AppReadme}"; Comment: "View ReadMe"
Name: "{code:MyGroupDir}\{#AppGroupName}\Licence"; Filename: "{app}\{#AppLicence}"; Comment: "View License"
Name: "{code:MyGroupDir}\{#AppGroupName}\{cm:ProgramOnTheWeb,{#AppName}}"; Filename: "{app}\{#AppName}.url"; Comment: "{cm:ProgramOnTheWeb,{#AppName}}"
Name: "{code:MyGroupDir}\{#AppGroupName}\{cm:UninstallProgram,{#AppName}}"; Filename: "{uninstallexe}"; IconFilename: "{app}\data\images\tuxpaint-installer.ico"; Comment: "Remove {#AppName}"
Name: "{code:MyDesktopDir}\{#AppName}"; Filename: "{app}\{#AppExe}"; Tasks: desktopicon
[Registry]
Root: HKLM; Subkey: "SOFTWARE\{#AppRegKey}"; Flags: uninsdeletekey; ValueName: "{#AppRegValue}"; ValueType: string; ValueData: "{app}"; Check: AllUsers;
Root: HKCU; Subkey: "SOFTWARE\{#AppRegKey}"; Flags: uninsdeletekey; ValueName: "{#AppRegValue}"; ValueType: string; ValueData: "{app}"; Check: ThisUserOnly;
Root: HKLM; Subkey: "SOFTWARE\{#AppRegKey}"; Flags: uninsdeletekey; ValueName: "{#AppRegVersion}"; ValueType: string; ValueData: "{#AppVersion}"; Check: AllUsers;
Root: HKCU; Subkey: "SOFTWARE\{#AppRegKey}"; Flags: uninsdeletekey; ValueName: "{#AppRegVersion}"; ValueType: string; ValueData: "{#AppVersion}"; Check: ThisUserOnly;
[Run]
Filename: "{app}\{#AppReadme}"; Description: "View the README file"; Flags: postinstall shellexec
Filename: "{app}\{#AppConfigExe}"; Description: "{cm:LaunchProgram,{#AppConfigName}}"; Flags: nowait postinstall skipifsilent
[UninstallDelete]
Type: files; Name: "{app}\{#AppName}.url"
[code]
const
CSIDL_PROFILE = $0028;
CSIDL_COMMON_PROGRAMS = $0017;
CSIDL_COMMON_DESKTOPDIRECTORY = $0019;
var
InstallTypePageID: Integer;
CheckListBox2: TNewCheckListBox;
function Restricted(): Boolean;
begin
Result := not (IsAdminLoggedOn() or IsPowerUserLoggedOn())
end;
function NotRestricted(): Boolean;
begin
Result := not Restricted()
end;
function Is9xME(): Boolean;
begin
Result := not UsingWinNT()
end;
function CurrentUserOnly(): Boolean;
begin
Result := CheckListBox2.Checked[2]
end;
function ThisUserOnly(): Boolean;
begin
Result := (Restricted() or CurrentUserOnly()) and UsingWinNT()
end;
function AllUsers(): Boolean;
begin
Result := not ThisUserOnly()
end;
function MyAppDir(): String;
var
Path: String;
begin
Path := ExpandConstant('{reg:HKLM\SOFTWARE\{#AppRegKey},{#AppRegValue}|{pf}\{#AppDirName}}');
if ThisUserOnly() then
begin
Path := ExpandConstant('{reg:HKCU\SOFTWARE\{#AppRegKey},{#AppRegValue}|__MissingKey__}');
if Path = '__MissingKey__' then
begin
Path := GetShellFolderByCSIDL(CSIDL_PROFILE, True);
if Path = '' then
Path := RemoveBackslashUnlessRoot(ExtractFilePath(ExpandConstant('{userdocs}')));
Path := Path + '\Programs\{#AppDirName}'
end
end
Result := Path
end;
function MyGroupDir(Default: String): String;
var
Path: String;
begin
if ThisUserOnly() then
Path := ExpandConstant('{userprograms}')
else
Path := ExpandConstant('{commonprograms}')
Result := Path
end;
function MyDesktopDir(Default: String): String;
var
Path: String;
begin
if ThisUserOnly() then
Path := ExpandConstant('{userdesktop}')
else
Path := ExpandConstant('{commondesktop}')
Result := Path
end;
procedure CreateTheWizardPages;
var
Page: TWizardPage;
Enabled, InstallAllUsers: Boolean;
begin
Page := CreateCustomPage(wpLicense, 'Choose Installation Type', 'Who do you want to be able to use this program?');
InstallTypePageID := Page.ID;
Enabled := NotRestricted();
InstallAllUsers := NotRestricted();
CheckListBox2 := TNewCheckListBox.Create(Page);
CheckListBox2.Width := Page.SurfaceWidth;
CheckListBox2.Height := ScaleY(97);
CheckListBox2.BorderStyle := bsNone;
CheckListBox2.ParentColor := True;
CheckListBox2.MinItemHeight := WizardForm.TasksList.MinItemHeight;
CheckListBox2.ShowLines := False;
CheckListBox2.WantTabs := True;
CheckListBox2.Parent := Page.Surface;
CheckListBox2.AddGroup('Installation Type:', '', 0, nil);
CheckListBox2.AddRadioButton('All Users', '', 0, InstallAllUsers, Enabled, nil);
CheckListBox2.AddRadioButton('Current User Only', '', 0, not InstallAllUsers, True, nil);
end;
procedure CurPageChanged(CurPageID: Integer);
begin
if CurPageID = wpSelectDir then
begin
WizardForm.DirEdit.Text := MyAppDir();
end
end;
function ShouldSkipPage(PageID: Integer): Boolean;
begin
Result := (PageID = InstallTypePageID) and Is9xME();
end;
procedure InitializeWizard();
begin
CreateTheWizardPages;
end;
function Lang2Gettext(): String;
var
lang, lc: String;
begin
lang := ActiveLanguage();
if lang = 'bra' then
lc := 'pt_br'
else
if lang = 'cat' then
lc := 'ca'
else
if lang = 'cze' then
lc := 'cs'
else
if lang = 'dan' then
lc := 'da'
else
if lang = 'dut' then
lc := 'nl'
else
if lang = 'fre' then
lc := 'fr'
else
if lang = 'ger' then
lc := 'de'
else
if lang = 'hun' then
lc := 'hu'
else
if lang = 'ita' then
lc := 'it'
else
if lang = 'nor' then
lc := 'nn'
else
if lang = 'pol' then
lc := 'pl'
else
if lang = 'por' then
lc := 'pt'
else
if lang = 'rus' then
lc := 'ru'
else
if lang = 'slo' then
lc := 'sk'
else
if lang = 'chs' then
lc := 'zh_cn'
else
if lang = 'esp' then
lc := 'es'
else
if lang = 'gal' then
lc := 'gl'
else
if lang = 'cht' then
lc := 'zh_tw'
else
lc := 'en'
Result := lc
end;
function MyReadme(Default: String): String;
var
lang, readme: String;
begin
lang := Lang2Gettext();
if lang = 'nl' then
readme := 'nl\html\README.html'
else
if lang = 'fr' then
readme := 'fr\html\README1.html'
else
if lang = 'it' then
readme := 'it\html\README.html'
else
if lang = 'es' then
readme := 'es\html\LEEME.html'
else
if lang = 'gl' then
readme := 'gl\html\README.html'
else
if lang = 'zh_tw' then
readme := 'zh_tw\html\README.html'
else
readme := 'html\README.html'
Result := 'docs\'+readme
end;
function MyLicence(Default: String): String;
var
lang, licence: String;
begin
lang := Lang2Gettext();
if lang = 'pt_br' then
licence := 'pt_br\COPYING_pt_BR.txt'
else
if lang = 'ca' then
licence := 'ca\COPYING.txt'
else
if lang = 'cs' then
licence := 'cs\COPYING.txt'
else
if lang = 'da' then
licence := 'da\COPYING.txt'
else
if lang = 'nl' then
licence := 'nl\COPYING_nl.txt'
else
if lang = 'fr' then
licence := 'fr\COPIER.txt'
else
if lang = 'de' then
licence := 'de\KOPIE.txt'
else
if lang = 'it' then
licence := 'it\COPIATURA.txt'
else
if lang = 'pl' then
licence := 'pl\LICENCJA-GNU.txt'
else
if lang = 'es' then
licence := 'es\COPIADO.txt'
else
licence := 'COPYING.txt'
Result := 'docs\'+licence
end;
function MyPublisherURL(Default: String): String;
var
lang: String;
begin
lang := Lang2Gettext();
if lang = 'chs' then
lang := 'zh-cn'
else
if lang = 'cht' then
lang := 'zh-tw'
Result := 'http://www.tuxpaint.org/?lang='+lang
end;
#expr SaveToFile(AddBackslash(SourcePath) + 'Preprocessed.iss')