[gaim-migrate @ 17762]

Fri, 17 Nov 2006 01:11:18 +0000

author
Daniel Atallah <datallah@pidgin.im>
date
Fri, 17 Nov 2006 01:11:18 +0000
changeset 15045
d587829617f4
parent 15044
73a522bebe99
child 15046
e17788e5403a

[gaim-migrate @ 17762]
GTK+ Theme selection will now choose the system-wide theme if the installer is being run by the admin user.
Also, the theme checkboxes can now be all unselected and we wont mess with the current theme selection.

gaim-installer.nsi file | annotate | diff | comparison | revisions
--- a/gaim-installer.nsi	Fri Nov 17 00:41:28 2006 +0000
+++ b/gaim-installer.nsi	Fri Nov 17 01:11:18 2006 +0000
@@ -49,7 +49,6 @@
 !insertmacro VersionCompare
 
 !include "TextFunc.nsh"
-!insertmacro ConfigRead
 !insertmacro ConfigWriteS
 
 ;--------------------------------
@@ -487,7 +486,7 @@
 ;--------------------------------
 ;Shortcuts
 
-SubSection /e $(GAIM_SHORTCUTS_SECTION_TITLE) SecShortcuts
+SectionGroup /e $(GAIM_SHORTCUTS_SECTION_TITLE) SecShortcuts
   Section /o $(GAIM_DESKTOP_SHORTCUT_SECTION_TITLE) SecDesktopShortcut
     SetOverwrite on
     CreateShortCut "$DESKTOP\Gaim.lnk" "$INSTDIR\gaim.exe"
@@ -499,12 +498,12 @@
     CreateShortCut "$SMPROGRAMS\Gaim\Gaim.lnk" "$INSTDIR\gaim.exe"
     SetOverwrite off
   SectionEnd
-SubSectionEnd
+SectionGroupEnd
 
 ;--------------------------------
 ;GTK+ Themes
 
-SubSection /e $(GTK_THEMES_SECTION_TITLE) SecGtkThemes
+SectionGroup /e $(GTK_THEMES_SECTION_TITLE) SecGtkThemes
   Section /o $(GTK_NOTHEME_SECTION_TITLE) SecGtkNone
     Push "Raleigh"
     Call WriteGtkThemeConfig
@@ -524,12 +523,12 @@
     Push "Lighthouseblue"
     Call WriteGtkThemeConfig
   SectionEnd
-SubSectionEnd
+SectionGroupEnd
 
 ;--------------------------------
 ;Spell Checking
 
-SubSection /e $(GAIM_SPELLCHECK_SECTION_TITLE) SecSpellCheck
+SectionGroup /e $(GAIM_SPELLCHECK_SECTION_TITLE) SecSpellCheck
   Section /o $(GAIM_SPELLCHECK_BRETON) SecSpellCheckBreton
     Push ${SecSpellCheckBreton}
     Call InstallAspellAndDict
@@ -618,7 +617,7 @@
     Push ${SecSpellCheckUkrainian}
     Call InstallAspellAndDict
   SectionEnd
-SubSectionEnd
+SectionGroupEnd
 
 ;--------------------------------
 ;Uninstaller Section
@@ -822,25 +821,37 @@
 ;Functions
 
 Function WriteGtkThemeConfig
-Exch $0
-Push $1
+  Exch $0
+  Push $1
+  Push $2
+  Push $3
 
-ClearErrors
-${ConfigRead} "$PROFILE\.gtkrc-2.0" "gtk-theme-name =" $1
-IfErrors new_file
-${ConfigWriteS} "$PROFILE\.gtkrc-2.0" "gtk-theme-name =" "$\"$0$\"" $1
-Goto done
+  Call CheckUserInstallRights
+  Pop $2
+  StrCmp $2 "HKLM" 0 user_theme
+
+  ; Global Theme
+  ReadRegStr $2 HKLM ${GTK_REG_KEY} "Path"
+  StrCpy $3 "$2\etc\gtk-2.0\gtkrc"
+  Goto update_theme
+  user_theme:
+  StrCpy $3 "$PROFILE\.gtkrc-2.0"
 
-new_file:
-ClearErrors
-FileOpen $1 "$PROFILE\.gtkrc-2.0" w
-FileWrite $1 "gtk-theme-name = $\"$0$\""
-FileClose $1
-Goto done
+  update_theme:
+  IfFileExists $3 0 new_file
+  ${ConfigWriteS} $3 "gtk-theme-name =" " $\"$0$\"" $1
+  Goto done
 
-done:
-Pop $1
-Pop $0
+  new_file:
+  FileOpen $1 $3 w
+  FileWrite $1 "gtk-theme-name = $\"$0$\""
+  FileClose $1
+
+  done:
+  Pop $3
+  Pop $2
+  Pop $1
+  Pop $0
 FunctionEnd
 
 !macro CheckUserInstallRightsMacro UN
@@ -1177,7 +1188,7 @@
   Push $1
   Push $2
 
-  !insertmacro StartRadioButtons $GTK_THEME_SEL
+  !insertmacro StartRadioButtonsUnselectable $GTK_THEME_SEL
     !insertmacro RadioButton ${SecGtkNone}
     !insertmacro RadioButton ${SecGtkWimp}
     !insertmacro RadioButton ${SecGtkBluecurve}

mercurial