mirror of
https://github.com/arsenetar/dupeguru.git
synced 2025-08-30 04:29:42 +00:00
Compare commits
2 Commits
a685524dd5
...
6b8f85e39a
Author | SHA1 | Date | |
---|---|---|---|
6b8f85e39a | |||
2fff1a3436 |
@ -70,7 +70,8 @@ except ImportError:
|
||||
from PyQt5.QtGui import QDesktopServices
|
||||
from qtlib.util import getAppData
|
||||
from core.util import executable_folder
|
||||
from hscommon.plat import ISWINDOWS
|
||||
from hscommon.plat import ISWINDOWS, ISOSX
|
||||
import subprocess
|
||||
|
||||
def _open_url(url):
|
||||
QDesktopServices.openUrl(QUrl(url))
|
||||
@ -80,7 +81,12 @@ except ImportError:
|
||||
QDesktopServices.openUrl(url)
|
||||
|
||||
def _reveal_path(path):
|
||||
_open_path(op.dirname(str(path)))
|
||||
if ISWINDOWS:
|
||||
subprocess.run(["explorer", "/select,", op.abspath(path)])
|
||||
elif ISOSX:
|
||||
subprocess.run(["open", "-R", op.abspath(path)])
|
||||
else:
|
||||
_open_path(op.dirname(str(path)))
|
||||
|
||||
def _special_folder_path(special_folder, appname=None, portable=False):
|
||||
if special_folder == SpecialFolder.Cache:
|
||||
|
@ -277,6 +277,12 @@ class DupeGuru(QObject):
|
||||
"Wrong Locale",
|
||||
msg,
|
||||
)
|
||||
# Load results on open if passed a .dupeguru file
|
||||
if len(sys.argv) > 1:
|
||||
results = sys.argv[1]
|
||||
if results.endswith(".dupeguru"):
|
||||
self.model.load_from(results)
|
||||
self.recentResults.insertItem(results)
|
||||
|
||||
def clearPictureCacheTriggered(self):
|
||||
title = tr("Clear Picture Cache")
|
||||
|
31
setup.nsi
31
setup.nsi
@ -184,6 +184,24 @@ Section "!Application" AppSec
|
||||
Pop $R1
|
||||
Pop $R0
|
||||
|
||||
; Set file association
|
||||
ReadRegStr $1 HKCR ".dupeguru" ""
|
||||
StrCmp $1 "" NoBackup ; is it empty
|
||||
StrCmp $1 "${APPNAME}.File" NoBackup ; is it our own
|
||||
WriteRegStr HKCR ".dupeguru" "backup_val" "$1" ; backup current value
|
||||
NoBackup:
|
||||
WriteRegStr HKCR ".dupeguru" "" "${APPNAME}.File" ; set our file association
|
||||
|
||||
ReadRegStr $0 HKCR "${APPNAME}.File" ""
|
||||
StrCmp $0 "" 0 Skip
|
||||
WriteRegStr HKCR "${APPNAME}.File" "" "${APPNAME} File"
|
||||
WriteRegStr HKCR "${APPNAME}.File\shell" "" "open"
|
||||
WriteRegStr HKCR "${APPNAME}.File\DefaultIcon" "" "$INSTDIR\${APPNAME}-win${BITS}.exe,0"
|
||||
Skip:
|
||||
WriteRegStr HKCR "${APPNAME}.File\shell\open\command" "" '"$INSTDIR\${APPNAME}-win${BITS}.exe" "%1"'
|
||||
WriteRegStr HKCR "${APPNAME}.File\shell\edit" "" "Edit ${APPNAME} File"
|
||||
WriteRegStr HKCR "${APPNAME}.File\shell\edit\command" "" '"$INSTDIR\${APPNAME}-win${BITS}.exe" "%1"'
|
||||
|
||||
; Uninstall Entry
|
||||
WriteRegStr SHCTX "${UNINSTALLREG}" "DisplayName" "${APPNAME} ${VERSIONMAJOR}.${VERSIONMINOR}.${VERSIONPATCH}"
|
||||
WriteRegStr SHCTX "${UNINSTALLREG}" "DisplayVersion" "${VERSIONMAJOR}.${VERSIONMINOR}.${VERSIONPATCH}"
|
||||
@ -237,6 +255,19 @@ Section "Uninstall"
|
||||
; Remove Install Folder if empty
|
||||
RMDir "$INSTDIR"
|
||||
|
||||
ReadRegStr $1 HKCR ".dupeguru" ""
|
||||
StrCmp $1 "${APPNAME}.File" 0 NotOwn ; only do this if we own it
|
||||
ReadRegStr $1 HKCR ".dupeguru" "backup_val"
|
||||
StrCmp $1 "" 0 Restore ; if backup="" then delete the whole key
|
||||
DeleteRegKey HKCR ".dupeGuru"
|
||||
Goto NotOwn
|
||||
|
||||
Restore:
|
||||
WriteRegStr HKCR ".dupeguru" "" $1
|
||||
DeleteRegValue HKCR ".dupeguru" "backup_val"
|
||||
NotOwn:
|
||||
DeleteRegKey HKCR "${APPNAME}.File" ;Delete key with association name settings
|
||||
|
||||
; Remove registry keys and vendor keys (if empty)
|
||||
DeleteRegKey SHCTX "${BASEREGKEY}"
|
||||
DeleteRegKey /ifempty SHCTX "${VENDORREGKEY}"
|
||||
|
Loading…
x
Reference in New Issue
Block a user