Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
What's new
7
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Open sidebar
clean-and-itasks
clean-ide
Commits
400600d6
Commit
400600d6
authored
Sep 15, 2016
by
John van Groningen
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
remove usage of the version resource of the CleanIDE on windows
parent
211f0e22
Changes
7
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
46 additions
and
83 deletions
+46
-83
Pm/PmPrefs.dcl
Pm/PmPrefs.dcl
+1
-1
Pm/PmPrefs.icl
Pm/PmPrefs.icl
+5
-6
Registry/first_run.dcl
Registry/first_run.dcl
+2
-3
Registry/first_run.icl
Registry/first_run.icl
+34
-63
Win/IdePlatform.dcl
Win/IdePlatform.dcl
+0
-1
Win/IdePlatform.icl
Win/IdePlatform.icl
+0
-5
Win/tools.icl
Win/tools.icl
+4
-4
No files found.
Pm/PmPrefs.dcl
View file @
400600d6
...
...
@@ -95,7 +95,7 @@ PrefsFileName :== "IDEPrefs"
}
::
RegPrefs
=
{
rp_flags
::
![(
String
,
String
,
String
)]
{
rp_flags
::
![(
String
,
String
)]
// should use registry entries for the following instead of Prefs file...
,
tp_name
::
!
String
,
tp_path
::
!
String
...
...
Pm/PmPrefs.icl
View file @
400600d6
...
...
@@ -93,7 +93,7 @@ PrefsFileName :== "IDEPrefs"
}
::
RegPrefs
=
{
rp_flags
::
![(
String
,
String
,
String
)]
{
rp_flags
::
![(
String
,
String
)]
,
tp_name
::
!
String
,
tp_path
::
!
String
,
hp_name
::
!
String
...
...
@@ -441,7 +441,7 @@ where
RegPrefsOptionsTable
::
OptionsTable
RegPrefs
RegPrefsOptionsTable
=
{
ListOption
"ClideFlags"
FlagOption
(
""
,
""
,
""
)
(\
a
->
ListToStrictList
a
.
rp_flags
)
(\
v
a
->{
a
&
rp_flags
=
StrictListToList
v
})
{
ListOption
"ClideFlags"
FlagOption
(
""
,
""
)
(\
a
->
ListToStrictList
a
.
rp_flags
)
(\
v
a
->{
a
&
rp_flags
=
StrictListToList
v
})
,
SimpleOption
"TimepName"
(\
a
->
a
.
tp_name
)
(\
v
a
->{
a
&
tp_name
=
v
})
,
SimpleOption
"TimepPath"
(\
a
->
a
.
tp_path
)
(\
v
a
->{
a
&
tp_path
=
v
})
,
SimpleOption
"HeappName"
(\
a
->
a
.
hp_name
)
(\
v
a
->{
a
&
hp_name
=
v
})
...
...
@@ -454,11 +454,10 @@ RegPrefsOptionsTable =
FlagOption
=
GroupedOption
"Flags"
FlagsOptionsTable
id
const
FlagsOptionsTable
::
OptionsTable
(
String
,
String
,
String
)
FlagsOptionsTable
::
OptionsTable
(
String
,
String
)
FlagsOptionsTable
=
{
SimpleOption
"fName"
(\(
a
,_,_)->
a
)
(\
v
(
a
,
b
,
c
)->(
v
,
b
,
c
))
,
SimpleOption
"fPath"
(\(_,
a
,_)->
a
)
(\
v
(
a
,
b
,
c
)->(
a
,
v
,
c
))
,
SimpleOption
"fVers"
(\(_,_,
a
)->
a
)
(\
v
(
a
,
b
,
c
)->(
a
,
b
,
v
))
{
SimpleOption
"fName"
(\(
a
,_)->
a
)
(\
v
(
a
,
b
)->(
v
,
b
))
,
SimpleOption
"fPath"
(\(_,
a
)->
a
)
(\
v
(
a
,
b
)->(
a
,
v
))
}
ErrPrefsOptionsTable
::
OptionsTable
ErrPrefs
...
...
Registry/first_run.dcl
View file @
400600d6
...
...
@@ -2,11 +2,10 @@ definition module first_run
from
StdPSt
import
::
PSt
first_run
::
!
String
!
String
!
String
!
String
![(
String
,
String
,
String
)]
!(
PSt
.
ls
)
->
(!
Bool
,(
String
,
String
,
String
),!
PSt
.
ls
)
first_run
::
!
String
!
String
!
String
!
String
![(
String
,
String
)]
!(
PSt
.
ls
)
->
(!
Bool
,(
String
,
String
),!
PSt
.
ls
)
change_hcl_registry_fun
::
!
String
!
String
!
String
!
String
->
[
String
]
change_pcl_registry_fun
::
!
String
!
String
!
String
!
String
->
[
String
]
GetVNP
::
(
String
,
String
,
String
)
get_ide_from_registry
::
(!
String
,!
String
,!
String
,![
String
])
get_ide_from_registry
::
(!
String
,!
String
,![
String
])
GetFileName
::
!
String
->
String
;
GetFilePath
::
!
String
->
String
;
uninstall
::
!(
PSt
.
ls
)
->
(![
String
],!
PSt
.
ls
)
Registry/first_run.icl
View file @
400600d6
...
...
@@ -16,40 +16,14 @@ GetLastError = code {
//==
Get
VNP
::
(
String
,
String
,
String
)
Get
VNP
=
(
app_vers
,
app_name
,
app_path
)
Get
ApplicationNameAndPath
::
(
String
,
String
)
Get
ApplicationNameAndPath
=
(
app_name
,
app_path
)
where
path
=
winGetModulePath
long_path
=
GetLongPathName
path
app_name
=
GetFileName
long_path
app_path
=
GetFilePath
path
app_vers
=
ReadVersionInfo
//==
/*
Start`` w = startIO NDI Void pinit [ProcessClose closeProcess] w
pinit ps
# ((flag_name,flag_path,flag_vers),ps) = read_version_flag ps
# flags = [(flag_name,flag_path,flag_vers)]
# (res,ps) = first_run ide_vers ide_name ide_path pcl_name pcl_path hcl_name hcl_path flags ps
# ps = case res of
True -> write_version_flag (ide_name,ide_path,ide_vers) ps
_ -> ps
= finish ps
where
path = winGetModulePath
long_path = GetLongPathName path
// ide_name = GetFileName long_path
// ide_path = GetFilePath path
ide_name = "CleanIDE.exe"
ide_path = "C:\\CLEAN\\"
ide_vers = ReadVersionInfo
pcl_name = "ShowTimeProfile.exe"
pcl_path = "C:\\CLEAN\\TOOLS\\TIMEPR~1\\"
hcl_name = "ShowHeapProfile.exe"
hcl_path = "C:\\CLEAN\\TOOLS\\HEAPPR~1\\"
*/
GetFileName
::
!
String
->
String
;
GetFileName
path
|
found
=
(
path
%
(
inc
position
,
dec
(
size
path
)));
...
...
@@ -144,9 +118,9 @@ where
|
No
|
Never
first_run
::
!
String
!
String
!
String
!
String
![(
String
,
String
,
String
)]
!(
PSt
.
ls
)
->
(!
Bool
,(
String
,
String
,
String
),!
PSt
.
ls
)
first_run
::
!
String
!
String
!
String
!
String
![(
String
,
String
)]
!(
PSt
.
ls
)
->
(!
Bool
,(
String
,
String
),!
PSt
.
ls
)
first_run
pcl_name
pcl_path
hcl_name
hcl_path
flags
ps
#
(
ide_
vers
,
ide_
name
,
ide_path
)
=
Get
VNP
#
(
ide_name
,
ide_path
)
=
Get
ApplicationNameAndPath
#
(
app_path
,
ps
)
=
accFiles
GetFullApplicationPath
ps
#
app_path
=
GetLongPathName
app_path
#
pcl_path
=
fulAppPath
app_path
pcl_path
...
...
@@ -157,35 +131,35 @@ first_run pcl_name pcl_path hcl_name hcl_path flags ps
#
hcl_path
=
case
GetShortPathName
hcl_path
of
(
True
,
hcl_path
)
->
hcl_path
_
->
hcl_path
#
(
run
,
ps
)
=
check_flags
ide_vers
ide_path
ide_name
flags
ps
#
(
run
,
ps
)
=
check_flags
ide_path
ide_name
flags
ps
|
not
run
=
(
False
,(
ide_name
,
ide_path
,
ide_vers
),
ps
)
#
(
res
,
ps
)
=
check_registry
ide_name
ide_path
ide_vers
ps
=
(
False
,(
ide_name
,
ide_path
),
ps
)
#
(
res
,
ps
)
=
check_registry
ide_name
ide_path
ps
=
case
res
of
MyEntry
->
(
False
,(
ide_name
,
ide_path
,
ide_vers
),
ps
)
MyEntry
->
(
False
,(
ide_name
,
ide_path
),
ps
)
NoEntry
#
(
res
,
ps
)
=
init_dialog
ps
->
case
res
of
Yes
#
(
err
,
ps
)
=
set_registry
ide_vers
ide_name
ide_path
pcl_name
pcl_path
hcl_name
hcl_path
ps
Yes
#
(
err
,
ps
)
=
set_registry
ide_name
ide_path
pcl_name
pcl_path
hcl_name
hcl_path
ps
|
err
<>
""
#
ps
=
err_dialog
False
err
ps
->
(
False
,(
ide_name
,
ide_path
,
ide_vers
),
ps
)
->
(
False
,(
ide_name
,
ide_path
,
ide_vers
),
ps
)
No
->
(
False
,(
ide_name
,
ide_path
,
ide_vers
),
ps
)
Never
->
(
True
,(
ide_name
,
ide_path
,
ide_vers
),
ps
)
->
(
False
,(
ide_name
,
ide_path
),
ps
)
->
(
False
,(
ide_name
,
ide_path
),
ps
)
No
->
(
False
,(
ide_name
,
ide_path
),
ps
)
Never
->
(
True
,(
ide_name
,
ide_path
),
ps
)
DiffEntry
#
(
res
,
ps
)
=
delta_dialog
ps
->
case
res
of
Yes
#
(
err
,
ps
)
=
set_registry
ide_vers
ide_name
ide_path
pcl_name
pcl_path
hcl_name
hcl_path
ps
Yes
#
(
err
,
ps
)
=
set_registry
ide_name
ide_path
pcl_name
pcl_path
hcl_name
hcl_path
ps
|
err
<>
""
#
ps
=
err_dialog
False
err
ps
->
(
False
,(
ide_name
,
ide_path
,
ide_vers
),
ps
)
->
(
False
,(
ide_name
,
ide_path
,
ide_vers
),
ps
)
No
->
(
False
,(
ide_name
,
ide_path
,
ide_vers
),
ps
)
Never
->
(
True
,(
ide_name
,
ide_path
,
ide_vers
),
ps
)
->
(
False
,(
ide_name
,
ide_path
),
ps
)
->
(
False
,(
ide_name
,
ide_path
),
ps
)
No
->
(
False
,(
ide_name
,
ide_path
),
ps
)
Never
->
(
True
,(
ide_name
,
ide_path
),
ps
)
ErrEntry
err
#
ps
=
err_dialog
True
err
ps
->
(
False
,(
ide_name
,
ide_path
,
ide_vers
),
ps
)
->
(
False
,(
ide_name
,
ide_path
),
ps
)
uninstall
::
!(
PSt
.
ls
)
->
(![
String
],!
PSt
.
ls
)
...
...
@@ -228,25 +202,25 @@ write_version_flag (flag_name,flag_path,flag_vers) ps
where
writeln
s
f
=
f
<<<
s
<<<
'\n'
check_flags
::
!
String
!
String
!
String
![(
String
,
String
,
String
)]
!(
PSt
.
l
)
->
(!
Bool
,!
PSt
.
l
)
check_flags
_
_
_
[]
ps
=
(
True
,
ps
)
check_flags
app_vers
app_path
app_name
[(
flag_name
,
flag_path
,
flag_vers
):
flags
]
ps
|
app_vers
==
flag_vers
&&
app_path
==
flag_path
&&
app_name
==
flag_name
check_flags
::
!
String
!
String
!
[(
String
,
String
)]
!(
PSt
.
l
)
->
(!
Bool
,!
PSt
.
l
)
check_flags
_
_
[]
ps
=
(
True
,
ps
)
check_flags
app_path
app_name
[(
flag_name
,
flag_path
):
flags
]
ps
|
app_path
==
flag_path
&&
app_name
==
flag_name
=
(
False
,
ps
)
=
check_flags
app_vers
app_path
app_name
flags
ps
=
check_flags
app_path
app_name
flags
ps
check_registry
::
!
String
!
String
!
String
!(
PSt
.
l
)
->
(!
CheckResult
,!
PSt
.
l
)
check_registry
app_name
app_path
app_vers
ps
#
(
name
,
path
,
vers
,
errs
)
=
get_ide_from_registry
check_registry
::
!
String
!
String
!(
PSt
.
l
)
->
(!
CheckResult
,!
PSt
.
l
)
check_registry
app_name
app_path
ps
#
(
name
,
path
,
errs
)
=
get_ide_from_registry
|
notEmpty
errs
=
(
NoEntry
,
ps
)
|
name
<>
app_name
||
path
<>
app_path
||
vers
<>
app_vers
|
name
<>
app_name
||
path
<>
app_path
=
(
DiffEntry
,
ps
)
=
(
MyEntry
,
ps
)
set_registry
::
!
String
!
String
!
String
!
String
!
String
!
String
!
String
!(
PSt
.
l
)
->
(!
String
,!
PSt
.
l
)
set_registry
ide_vers
ide_name
ide_path
pcl_name
pcl_path
hcl_name
hcl_path
ps
#
(
err
,
r
)
=
enter_ide_in_registry
(
ide_name
+++
"
\0
"
)
(
ide_path
+++
"
\0
"
)
(
ide_vers
+++
"
\0
"
)
[]
7
set_registry
::
!
String
!
String
!
String
!
String
!
String
!
String
!(
PSt
.
l
)
->
(!
String
,!
PSt
.
l
)
set_registry
ide_name
ide_path
pcl_name
pcl_path
hcl_name
hcl_path
ps
#
(
err
,
r
)
=
enter_ide_in_registry
(
ide_name
+++
"
\0
"
)
(
ide_path
+++
"
\0
"
)
[]
7
|
notEmpty
err
||
r
<>
7
=
(
hd
err
,
ps
)
#
err
=
change_ide_registry_fun
ide_name
ide_path
...
...
@@ -554,29 +528,26 @@ where
,
fm_icon
::
!
Maybe
String
// resource identifier string [NULL-terminated]
}
enter_ide_in_registry
name
path
vers
e
rs
enter_ide_in_registry
name
path
e
rs
#
(
e
,
rs
)
=
add_to_registry
[
"Software
\0
"
,
"Clean
\0
"
]
"
\0
"
True
e
rs
#
(
e
,
rs
)
=
add_to_registry
[
"Software
\0
"
,
"Clean
\0
"
,
"CleanIDE
\0
"
]
"
\0
"
True
e
rs
#
(
e
,
rs
)
=
add_to_registry
[
"Software
\0
"
,
"Clean
\0
"
,
"CleanIDE
\0
"
,
"Name
\0
"
]
name
True
e
rs
#
(
e
,
rs
)
=
add_to_registry
[
"Software
\0
"
,
"Clean
\0
"
,
"CleanIDE
\0
"
,
"Path
\0
"
]
path
True
e
rs
#
(
e
,
rs
)
=
add_to_registry
[
"Software
\0
"
,
"Clean
\0
"
,
"CleanIDE
\0
"
,
"Vers
\0
"
]
vers
True
e
rs
=
(
e
,
rs
)
remove_ide_from_registry
e
rs
#
(
e
,
rs
)=
remove_from_registry
[
"Software
\0
"
,
"Clean
\0
"
,
"CleanIDE
\0
"
,
"Name
\0
"
]
e
rs
#
(
e
,
rs
)=
remove_from_registry
[
"Software
\0
"
,
"Clean
\0
"
,
"CleanIDE
\0
"
,
"Path
\0
"
]
e
rs
#
(
e
,
rs
)=
remove_from_registry
[
"Software
\0
"
,
"Clean
\0
"
,
"CleanIDE
\0
"
,
"Vers
\0
"
]
e
rs
#
(
e
,
rs
)=
remove_from_registry
[
"Software
\0
"
,
"Clean
\0
"
,
"CleanIDE
\0
"
]
e
rs
#
(
e
,
rs
)=
remove_from_registry
[
"Software
\0
"
,
"Clean
\0
"
]
e
rs
=
(
e
,
rs
)
get_ide_from_registry
::
(!
String
,!
String
,!
String
,!
[
String
])
get_ide_from_registry
::
(!
String
,!
String
,![
String
])
get_ide_from_registry
#
rs
=
7
#
(
nerr
,
name
,
rs
)
=
check_registry_key
[
"Software
\0
"
,
"Clean
\0
"
,
"CleanIDE
\0
"
,
"Name
\0
"
]
rs
#
(
perr
,
path
,
rs
)
=
check_registry_key
[
"Software
\0
"
,
"Clean
\0
"
,
"CleanIDE
\0
"
,
"Path
\0
"
]
rs
#
(
verr
,
vers
,
rs
)
=
check_registry_key
[
"Software
\0
"
,
"Clean
\0
"
,
"CleanIDE
\0
"
,
"Vers
\0
"
]
rs
=
(
name
,
path
,
vers
,
nerr
++
perr
++
verr
)
=
(
name
,
path
,
nerr
++
perr
)
enter_file_type_in_registry
::
!
FileMapping
[
String
]
!
RegistryState
->
(![
String
],!
RegistryState
)
enter_file_type_in_registry
fm
e
rs
...
...
Win/IdePlatform.dcl
View file @
400600d6
...
...
@@ -35,4 +35,3 @@ updtBM :== 32519
urunBM
:==
32520
helpItems
::
!
Id
!
Id
!*(
PSt
.
a
)
->
*
PSt
.
a
EXE_VERSION
::
String
Win/IdePlatform.icl
View file @
400600d6
...
...
@@ -318,8 +318,3 @@ help path file wId ps
#
path
=
path
+++.
file
#
(
ret
,
ps
)
=
ShellDefault
path
ps
=
ps
EXE_VERSION
::
String
EXE_VERSION
=
toString
(
fst3
GetVNP
)
Win/tools.icl
View file @
400600d6
...
...
@@ -155,9 +155,9 @@ setTP tpId ps
#
ps
=
appPIO
(
setControlText
tpId
(
spath
+++
name
))
ps
#
prefs
=
{
prefs
&
reg_prefs
.
tp_name
=
name
,
reg_prefs
.
tp_path
=
spath
}
#
ps
=
setPrefs
prefs
ps
#
(
ide_name
,
ide_path
,
ide_vers
,
errs
)
#
(
ide_name
,
ide_path
,
errs
)
=
get_ide_from_registry
|
not
(
isEmpty
errs
)
||
ide_name
==
""
||
ide_path
==
""
||
ide_vers
==
""
=
ps
|
not
(
isEmpty
errs
)
||
ide_name
==
""
||
ide_path
==
""
=
ps
#
errs
=
change_pcl_registry_fun
ide_name
ide_path
name
rpath
|
errs
==
[]
=
ps
=
ps
...
...
@@ -177,9 +177,9 @@ setHP hpId ps
#
ps
=
appPIO
(
setControlText
hpId
(
spath
+++
name
))
ps
#
prefs
=
{
prefs
&
reg_prefs
.
hp_name
=
name
,
reg_prefs
.
hp_path
=
spath
}
#
ps
=
setPrefs
prefs
ps
#
(
ide_name
,
ide_path
,
ide_vers
,
errs
)
#
(
ide_name
,
ide_path
,
errs
)
=
get_ide_from_registry
|
not
(
isEmpty
errs
)
||
ide_name
==
""
||
ide_path
==
""
||
ide_vers
==
""
=
ps
|
not
(
isEmpty
errs
)
||
ide_name
==
""
||
ide_path
==
""
=
ps
#
errs
=
change_hcl_registry_fun
ide_name
ide_path
name
rpath
|
errs
==
[]
=
ps
=
ps
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment