1
0
mirror of https://github.com/arsenetar/dupeguru.git synced 2025-08-30 12:39:42 +00:00

Compare commits

...

2 Commits

Author SHA1 Message Date
6b8f85e39a
Reveal in Explorer / Finder, close #895 2021-08-18 20:51:45 -05:00
2fff1a3436
Add ablity to load results at start, closes #902
- Add ablility to load .dupguru file at start by passing as first argument
- Add file association to .dupeguru file in windows at install
2021-08-18 19:24:14 -05:00
3 changed files with 45 additions and 2 deletions

View File

@ -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:

View File

@ -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")

View File

@ -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}"