mirror of
https://github.com/qbittorrent/qBittorrent.git
synced 2026-01-03 14:12:30 -06:00
Improve .torrent associate handling
* Use correct pointer type in NSIS scripts * Only remove qbt specific registry keys when uninstalling or disassociating * Set .torrent Content Type when associating .torrent format * Move ".torrent association" functions to Utils::OS class PR #19709.
This commit is contained in:
4
dist/windows/installer.nsi
vendored
4
dist/windows/installer.nsi
vendored
@@ -109,7 +109,7 @@ Section $(inst_torrent) ;"Open .torrent files with qBittorrent"
|
||||
|
||||
!insertmacro UAC_AsUser_Call Function inst_torrent_user ${UAC_SYNCREGISTERS}|${UAC_SYNCOUTDIR}|${UAC_SYNCINSTDIR}
|
||||
|
||||
System::Call 'Shell32::SHChangeNotify(i ${SHCNE_ASSOCCHANGED}, i ${SHCNF_IDLIST}, i 0, i 0)'
|
||||
System::Call 'Shell32::SHChangeNotify(i ${SHCNE_ASSOCCHANGED}, i ${SHCNF_IDLIST}, p 0, p 0)'
|
||||
|
||||
SectionEnd
|
||||
|
||||
@@ -142,7 +142,7 @@ Section $(inst_magnet) ;"Open magnet links with qBittorrent"
|
||||
|
||||
!insertmacro UAC_AsUser_Call Function inst_magnet_user ${UAC_SYNCREGISTERS}|${UAC_SYNCOUTDIR}|${UAC_SYNCINSTDIR}
|
||||
|
||||
System::Call 'Shell32::SHChangeNotify(i ${SHCNE_ASSOCCHANGED}, i ${SHCNF_IDLIST}, i 0, i 0)'
|
||||
System::Call 'Shell32::SHChangeNotify(i ${SHCNE_ASSOCCHANGED}, i ${SHCNF_IDLIST}, p 0, p 0)'
|
||||
|
||||
SectionEnd
|
||||
|
||||
|
||||
11
dist/windows/uninstaller.nsi
vendored
11
dist/windows/uninstaller.nsi
vendored
@@ -26,17 +26,17 @@ Section "un.$(remove_associations)" ;"un.Remove file associations"
|
||||
DetailPrint "$(uninst_tor_warn) $0"
|
||||
DeleteRegValue HKLM "Software\Classes\.torrent" ""
|
||||
DeleteRegKey /ifempty HKLM "Software\Classes\.torrent"
|
||||
|
||||
torrent_end:
|
||||
|
||||
ReadRegStr $0 HKLM "Software\Classes\magnet\shell\open\command" ""
|
||||
StrCmp $0 '"$INSTDIR\qbittorrent.exe" "%1"' 0 magnet_end
|
||||
DetailPrint "$(uninst_mag_warn) $0"
|
||||
DeleteRegKey HKLM "Software\Classes\magnet"
|
||||
|
||||
magnet_end:
|
||||
|
||||
!insertmacro UAC_AsUser_Call Function un.remove_associations_user ${UAC_SYNCREGISTERS}|${UAC_SYNCOUTDIR}|${UAC_SYNCINSTDIR}
|
||||
|
||||
System::Call 'Shell32::SHChangeNotify(i ${SHCNE_ASSOCCHANGED}, i ${SHCNF_IDLIST}, i 0, i 0)'
|
||||
System::Call 'Shell32::SHChangeNotify(i ${SHCNE_ASSOCCHANGED}, i ${SHCNF_IDLIST}, p 0, p 0)'
|
||||
SectionEnd
|
||||
|
||||
Function un.remove_associations_user
|
||||
@@ -45,13 +45,12 @@ Function un.remove_associations_user
|
||||
DetailPrint "$(uninst_tor_warn) $0"
|
||||
DeleteRegValue HKCU "Software\Classes\.torrent" ""
|
||||
DeleteRegKey /ifempty HKCU "Software\Classes\.torrent"
|
||||
|
||||
torrent_end:
|
||||
|
||||
ReadRegStr $0 HKCU "Software\Classes\magnet\shell\open\command" ""
|
||||
StrCmp $0 '"$INSTDIR\qbittorrent.exe" "%1"' 0 magnet_end
|
||||
DetailPrint "$(uninst_mag_warn) $0"
|
||||
DeleteRegKey HKCU "Software\Classes\magnet"
|
||||
|
||||
magnet_end:
|
||||
FunctionEnd
|
||||
|
||||
@@ -62,7 +61,7 @@ Section "un.$(remove_registry)" ;"un.Remove registry keys"
|
||||
DeleteRegKey HKLM "Software\qBittorrent"
|
||||
DeleteRegKey HKLM "Software\Classes\qBittorrent"
|
||||
|
||||
System::Call 'Shell32::SHChangeNotify(i ${SHCNE_ASSOCCHANGED}, i ${SHCNF_IDLIST}, i 0, i 0)'
|
||||
System::Call 'Shell32::SHChangeNotify(i ${SHCNE_ASSOCCHANGED}, i ${SHCNF_IDLIST}, p 0, p 0)'
|
||||
SectionEnd
|
||||
|
||||
Section "un.$(remove_firewall)" ;
|
||||
|
||||
Reference in New Issue
Block a user