;Variables\r
\r
Var Dummy\r
-Var FileName\r
+Var OriginalFile\r
+Var OriginalFileName\r
+Var PDFFile\r
Var Viewer\r
Var OriginalTimeHigh\r
Var OriginalTimeLow\r
\r
Section "View PDF file"\r
\r
+ InitPluginsDir ;Temporary directory for PDF file\r
+\r
;Command line parameters\r
Call GetParameters\r
- Pop $FileName\r
+ Pop $OriginalFile\r
\r
;Trim quotes\r
- StrCpy $Dummy $FileName 1\r
+ StrCpy $Dummy $OriginalFile 1\r
${if} $Dummy == '"'\r
- StrCpy $FileName $FileName "" 1\r
+ StrCpy $OriginalFile $OriginalFile "" 1\r
${endif}\r
- StrCpy $Dummy $FileName 1 -1\r
+ StrCpy $Dummy $OriginalFile 1 -1\r
${if} $Dummy == '"'\r
- StrCpy $FileName $FileName -1\r
+ StrCpy $OriginalFile $OriginalFile -1\r
${endif}\r
\r
- GetFullPathName $FileName $FileName\r
+ GetFullPathName $OriginalFile $OriginalFile\r
+ Push $OriginalFile\r
+ Call GetFileName\r
+ Pop $OriginalFileName\r
+\r
+ SetOutPath $TEMP ;The LyX tmpbuf should not be locked\r
+\r
+ StrCpy $PDFFile $PLUGINSDIR\$OriginalFileName\r
\r
;Check whether the file will be opened with Adobe Reader or Adobe Acrobat\r
- Push $FileName\r
+ Push $OriginalFile\r
!insertmacro SystemCall "shell32::FindExecutable(t s, t '', t .s)"\r
Call GetFileName\r
Pop $Viewer\r
;Using Adobe viewer\r
\r
;Close existing view\r
- ${if} ${fileexists} $FileName~\r
- !insertmacro HideConsole '"$EXEDIR\pdfclose.exe" --file "$FileName~"'\r
+ ${if} ${fileexists} $PDFFile\r
+ !insertmacro HideConsole '"$EXEDIR\pdfclose.exe" --file "$PDFFile"'\r
${endif}\r
\r
;Copy PDF to temporary file to allow LyX to overwrite the original\r
- CopyFiles /SILENT $FileName $FileName~\r
+ CopyFiles /SILENT $OriginalFile $PDFFile\r
\r
;Open a new view\r
- !insertmacro HideConsole '"$EXEDIR\pdfopen.exe" --back --file "$FileName~"'\r
+ !insertmacro HideConsole '"$EXEDIR\pdfopen.exe" --back --file "$PDFFile"'\r
\r
;Monitor for updates of the original file\r
\r
- GetFileTime $FileName $OriginalTimeHigh $OriginalTimeLow\r
+ GetFileTime $OriginalFile $OriginalTimeHigh $OriginalTimeLow\r
\r
${do}\r
\r
Sleep 500\r
\r
- FileOpen $Dummy $FileName~ a\r
+ FileOpen $Dummy $PDFFile a\r
\r
${if} $Dummy != ""\r
;File no longer locked, reader closed\r
FileClose $Dummy\r
- Delete $FileName~\r
+ Delete $PDFFile\r
Quit\r
${endif}\r
\r
- ${unless} ${fileexists} $FileName\r
- ;Original no longer exists\r
- Delete $FileName~\r
- Quit\r
- ${endif}\r
- \r
- GetFileTime $FileName $CurrentTimeHigh $CurrentTimeLow\r
- \r
- ${if} $OriginalTimeHigh != $CurrentTimeHigh\r
- ${orif} $OriginalTimeLow != $CurrentTimeLow\r
+ ${if} ${fileexists} $OriginalFile\r
\r
- ;Original has been modified, update!\r
+ GetFileTime $OriginalFile $CurrentTimeHigh $CurrentTimeLow\r
\r
- StrCpy $OriginalTimeHigh $CurrentTimeHigh\r
- StrCpy $OriginalTimeLow $CurrentTimeLow\r
- !insertmacro HideConsole '"$EXEDIR\pdfclose.exe" --file "$FileName~"'\r
- CopyFiles /SILENT $FileName $FileName~\r
- !insertmacro HideConsole '"$EXEDIR\pdfopen.exe" --back --file "$FileName~"'\r
+ ${if} $OriginalTimeHigh != $CurrentTimeHigh\r
+ ${orif} $OriginalTimeLow != $CurrentTimeLow\r
+ \r
+ ;Original has been modified, update!\r
+ \r
+ StrCpy $OriginalTimeHigh $CurrentTimeHigh\r
+ StrCpy $OriginalTimeLow $CurrentTimeLow\r
+ !insertmacro HideConsole '"$EXEDIR\pdfclose.exe" --file "$PDFFile"'\r
+ CopyFiles /SILENT $OriginalFile $PDFFile\r
+ !insertmacro HideConsole '"$EXEDIR\pdfopen.exe" --back --file "$PDFFile"'\r
+ \r
+ ${endif}\r
\r
${endif}\r
\r
\r
;Another PDF viewer like GSView is used\r
;No need for special actions, just forward to ShellExecute\r
- ExecShell open $FileName\r
+ ExecShell open $OriginalFile\r
\r
${endif}\r
\r