Added RemoveSection and UnremoveSection macros to hide+unselect and show+select a section. Removed some unnecessary StrCpy ops from the other macros.
git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@6074 212acab6-be3b-0410-9dea-997c60f758d6
This commit is contained in:
parent
d96bd3cb6e
commit
b28daffd60
1 changed files with 42 additions and 26 deletions
|
@ -116,12 +116,12 @@
|
||||||
|
|
||||||
; A radio button
|
; A radio button
|
||||||
|
|
||||||
!macro RadioButton SECTION_NAME
|
!macro RadioButton SECTION
|
||||||
|
|
||||||
SectionGetFlags ${SECTION_NAME} $R0
|
SectionGetFlags "${SECTION}" $R0
|
||||||
IntOp $R0 $R0 & ${SF_SELECTED}
|
IntOp $R0 $R0 & ${SF_SELECTED}
|
||||||
IntCmp $R0 ${SF_SELECTED} 0 +2 +2
|
IntCmp $R0 ${SF_SELECTED} 0 +2 +2
|
||||||
StrCpy "${StartRadioButtons_Var}" ${SECTION_NAME}
|
StrCpy "${StartRadioButtons_Var}" "${SECTION}"
|
||||||
|
|
||||||
!macroend
|
!macroend
|
||||||
|
|
||||||
|
@ -185,31 +185,25 @@
|
||||||
!define INSTTYPE_31 1073741824
|
!define INSTTYPE_31 1073741824
|
||||||
!define INSTTYPE_32 2147483648
|
!define INSTTYPE_32 2147483648
|
||||||
|
|
||||||
!macro SetSectionInInstType SECTION_NAME WANTED_INSTTYPE
|
!macro SetSectionInInstType SECTION WANTED_INSTTYPE
|
||||||
|
|
||||||
Push $0
|
Push $0
|
||||||
Push $1
|
SectionGetInstTypes "${SECTION}" $0
|
||||||
StrCpy $1 "${SECTION_NAME}"
|
|
||||||
SectionGetInstTypes $1 $0
|
|
||||||
IntOp $0 $0 | ${WANTED_INSTTYPE}
|
IntOp $0 $0 | ${WANTED_INSTTYPE}
|
||||||
SectionSetInstTypes $1 $0
|
SectionSetInstTypes "${SECTION}" $0
|
||||||
Pop $1
|
|
||||||
Pop $0
|
Pop $0
|
||||||
|
|
||||||
!macroend
|
!macroend
|
||||||
|
|
||||||
!macro ClearSectionInInstType SECTION_NAME WANTED_INSTTYPE
|
!macro ClearSectionInInstType SECTION WANTED_INSTTYPE
|
||||||
|
|
||||||
Push $0
|
Push $0
|
||||||
Push $1
|
Push $1
|
||||||
Push $2
|
SectionGetInstTypes "${SECTION}" $0
|
||||||
StrCpy $2 "${SECTION_NAME}"
|
|
||||||
SectionGetInstTypes $2 $0
|
|
||||||
StrCpy $1 ${WANTED_INSTTYPE}
|
StrCpy $1 ${WANTED_INSTTYPE}
|
||||||
IntOp $1 $1 ~
|
IntOp $1 $1 ~
|
||||||
IntOp $0 $0 & $1
|
IntOp $0 $0 & $1
|
||||||
SectionSetInstTypes $2 $0
|
SectionSetInstTypes "${SECTION}" $0
|
||||||
Pop $2
|
|
||||||
Pop $1
|
Pop $1
|
||||||
Pop $0
|
Pop $0
|
||||||
|
|
||||||
|
@ -225,12 +219,9 @@
|
||||||
!macro SetSectionFlag SECTION BITS
|
!macro SetSectionFlag SECTION BITS
|
||||||
|
|
||||||
Push $R0
|
Push $R0
|
||||||
Push $R1
|
SectionGetFlags "${SECTION}" $R0
|
||||||
StrCpy $R1 "${SECTION}"
|
|
||||||
SectionGetFlags $R1 $R0
|
|
||||||
IntOp $R0 $R0 | "${BITS}"
|
IntOp $R0 $R0 | "${BITS}"
|
||||||
SectionSetFlags $R1 $R0
|
SectionSetFlags "${SECTION}" $R0
|
||||||
Pop $R1
|
|
||||||
Pop $R0
|
Pop $R0
|
||||||
|
|
||||||
!macroend
|
!macroend
|
||||||
|
@ -241,13 +232,10 @@
|
||||||
|
|
||||||
Push $R0
|
Push $R0
|
||||||
Push $R1
|
Push $R1
|
||||||
Push $R2
|
SectionGetFlags "${SECTION}" $R0
|
||||||
StrCpy $R2 "${SECTION}"
|
|
||||||
SectionGetFlags $R2 $R0
|
|
||||||
IntOp $R1 "${BITS}" ~
|
IntOp $R1 "${BITS}" ~
|
||||||
IntOp $R0 $R0 & $R1
|
IntOp $R0 $R0 & $R1
|
||||||
SectionSetFlags $R2 $R0
|
SectionSetFlags "${SECTION}" $R0
|
||||||
Pop $R2
|
|
||||||
Pop $R1
|
Pop $R1
|
||||||
Pop $R0
|
Pop $R0
|
||||||
|
|
||||||
|
@ -270,4 +258,32 @@
|
||||||
|
|
||||||
;--------------------------------
|
;--------------------------------
|
||||||
|
|
||||||
!endif
|
; Removes a section by unselecting and hiding it
|
||||||
|
|
||||||
|
!macro RemoveSection SECTION
|
||||||
|
|
||||||
|
Push $R0
|
||||||
|
SectionGetFlags `${SECTION}` $R0
|
||||||
|
IntOp $R0 $R0 & ${SECTION_OFF}
|
||||||
|
SectionSetFlags `${SECTION}` $R0
|
||||||
|
SectionSetText `${SECTION}` ``
|
||||||
|
Pop $R0
|
||||||
|
|
||||||
|
!macroend
|
||||||
|
|
||||||
|
; Undoes the RemoveSection action
|
||||||
|
|
||||||
|
!macro UnremoveSection SECTION SECTION_TEXT
|
||||||
|
|
||||||
|
Push $R0
|
||||||
|
SectionGetFlags `${SECTION}` $R0
|
||||||
|
IntOp $R0 $R0 | ${SF_SELECTED}
|
||||||
|
SectionSetFlags `${SECTION}` $R0
|
||||||
|
SectionSetText `${SECTION}` `${SECTION_TEXT}`
|
||||||
|
Pop $R0
|
||||||
|
|
||||||
|
!macroend
|
||||||
|
|
||||||
|
!endif
|
||||||
|
|
||||||
|
;--------------------------------
|
Loading…
Add table
Add a link
Reference in a new issue