diff --git a/gpxsee.pro b/gpxsee.pro
index 0594d022..a073b7dd 100644
--- a/gpxsee.pro
+++ b/gpxsee.pro
@@ -122,6 +122,9 @@ macx {
}
win32 {
RC_ICONS = icons/gpxsee.ico \
- icons/gpx.ico
+ icons/gpx.ico \
+ icons/tcx.ico \
+ icons/kml.ico \
+ icons/fit.ico
}
DEFINES += APP_VERSION=\\\"$$VERSION\\\"
diff --git a/icons/fit.icns b/icons/fit.icns
new file mode 100644
index 00000000..87250234
Binary files /dev/null and b/icons/fit.icns differ
diff --git a/icons/fit.ico b/icons/fit.ico
new file mode 100644
index 00000000..d7045868
Binary files /dev/null and b/icons/fit.ico differ
diff --git a/icons/fit.svg b/icons/fit.svg
new file mode 100644
index 00000000..96e1a268
--- /dev/null
+++ b/icons/fit.svg
@@ -0,0 +1,148 @@
+
+
diff --git a/icons/gpx.icns b/icons/gpx.icns
index f99b3e4c..1cce3059 100644
Binary files a/icons/gpx.icns and b/icons/gpx.icns differ
diff --git a/icons/gpx.ico b/icons/gpx.ico
index c5f74ab9..1f91f097 100644
Binary files a/icons/gpx.ico and b/icons/gpx.ico differ
diff --git a/icons/gpx.svg b/icons/gpx.svg
new file mode 100644
index 00000000..e602c3d6
--- /dev/null
+++ b/icons/gpx.svg
@@ -0,0 +1,173 @@
+
+
diff --git a/icons/kml.icns b/icons/kml.icns
new file mode 100644
index 00000000..9ad3465d
Binary files /dev/null and b/icons/kml.icns differ
diff --git a/icons/kml.ico b/icons/kml.ico
new file mode 100644
index 00000000..ddac49ea
Binary files /dev/null and b/icons/kml.ico differ
diff --git a/icons/kml.svg b/icons/kml.svg
new file mode 100644
index 00000000..8ad64b02
--- /dev/null
+++ b/icons/kml.svg
@@ -0,0 +1,148 @@
+
+
diff --git a/icons/tcx.icns b/icons/tcx.icns
new file mode 100644
index 00000000..d7298385
Binary files /dev/null and b/icons/tcx.icns differ
diff --git a/icons/tcx.ico b/icons/tcx.ico
new file mode 100644
index 00000000..b34177df
Binary files /dev/null and b/icons/tcx.ico differ
diff --git a/icons/tcx.svg b/icons/tcx.svg
new file mode 100644
index 00000000..4a4f36eb
--- /dev/null
+++ b/icons/tcx.svg
@@ -0,0 +1,148 @@
+
+
diff --git a/pkg/gpxsee.nsi b/pkg/gpxsee.nsi
index 4b73889f..4b322edf 100644
--- a/pkg/gpxsee.nsi
+++ b/pkg/gpxsee.nsi
@@ -21,8 +21,11 @@ InstallDirRegKey HKLM "Software\GPXSee" "Install_Dir"
; Registry key for uninstaller
!define REGENTRY "Software\Microsoft\Windows\CurrentVersion\Uninstall\GPXSee"
-; GPX file type registry entry
+; File types registry entries
!define REGGPX "GPXSee.gpx"
+!define REGTCX "GPXSee.tcx"
+!define REGKML "GPXSee.kml"
+!define REGFIT "GPXSee.fit"
; Start menu page configuration
!define MUI_STARTMENUPAGE_REGISTRY_ROOT "HKLM"
@@ -62,18 +65,6 @@ Section "GPXSee (required)" SEC_APP
; Put the files there
File "gpxsee.exe"
File "maps.txt"
-
- ; Write the installation path into the registry
- WriteRegStr HKLM SOFTWARE\GPXSee "Install_Dir" "$INSTDIR"
-
- ; Write the uninstall keys for Windows
- WriteRegStr HKLM "${REGENTRY}" "DisplayName" "GPXSee"
- WriteRegStr HKLM "${REGENTRY}" "Publisher" "Martin Tuma"
- WriteRegStr HKLM "${REGENTRY}" "DisplayVersion" "${VERSION}"
- WriteRegStr HKLM "${REGENTRY}" "UninstallString" '"$INSTDIR\uninstall.exe"'
- WriteRegDWORD HKLM "${REGENTRY}" "NoModify" 1
- WriteRegDWORD HKLM "${REGENTRY}" "NoRepair" 1
- WriteUninstaller "$INSTDIR\uninstall.exe"
; Create start menu entry and add links
SetShellVarContext all
@@ -83,11 +74,40 @@ Section "GPXSee (required)" SEC_APP
CreateShortCut "$SMPROGRAMS\$StartMenuFolder\GPXSee.lnk" "$INSTDIR\gpxsee.exe"
!insertmacro MUI_STARTMENU_WRITE_END
- ; Associate .gpx files
+ ; Create the uninstaller
+ WriteUninstaller "$INSTDIR\uninstall.exe"
+
+ ; Write the installation path into the registry
+ DetailPrint "Registering application..."
+ WriteRegStr HKLM SOFTWARE\GPXSee "Install_Dir" "$INSTDIR"
+
+ ; Write the uninstall keys for Windows
+ WriteRegStr HKLM "${REGENTRY}" "DisplayName" "GPXSee"
+ WriteRegStr HKLM "${REGENTRY}" "Publisher" "Martin Tuma"
+ WriteRegStr HKLM "${REGENTRY}" "DisplayVersion" "${VERSION}"
+ WriteRegStr HKLM "${REGENTRY}" "UninstallString" '"$INSTDIR\uninstall.exe"'
+ WriteRegDWORD HKLM "${REGENTRY}" "NoModify" 1
+ WriteRegDWORD HKLM "${REGENTRY}" "NoRepair" 1
+
+ ; Associate file formats
+ DetailPrint "Associating file types..."
WriteRegStr HKCR ".gpx" "" "${REGGPX}"
WriteRegStr HKCR "${REGGPX}" "" "GPS Exchange Format"
WriteRegStr HKCR "${REGGPX}\DefaultIcon" "" "$INSTDIR\GPXSee.exe,1"
WriteRegStr HKCR "${REGGPX}\shell\open\command" "" "$\"$INSTDIR\GPXSee.exe$\" $\"%1$\""
+ WriteRegStr HKCR ".tcx" "" "${REGTCX}"
+ WriteRegStr HKCR "${REGTCX}" "" "Training Center XML"
+ WriteRegStr HKCR "${REGTCX}\DefaultIcon" "" "$INSTDIR\GPXSee.exe,2"
+ WriteRegStr HKCR "${REGTCX}\shell\open\command" "" "$\"$INSTDIR\GPXSee.exe$\" $\"%1$\""
+ WriteRegStr HKCR ".kml" "" "${REGKML}"
+ WriteRegStr HKCR "${REGKML}" "" "Keyhole Markup Language"
+ WriteRegStr HKCR "${REGKML}\DefaultIcon" "" "$INSTDIR\GPXSee.exe,3"
+ WriteRegStr HKCR "${REGKML}\shell\open\command" "" "$\"$INSTDIR\GPXSee.exe$\" $\"%1$\""
+ WriteRegStr HKCR ".fit" "" "${REGFIT}"
+ WriteRegStr HKCR "${REGFIT}" "" "Flexible and Interoperable Data Transfer"
+ WriteRegStr HKCR "${REGFIT}\DefaultIcon" "" "$INSTDIR\GPXSee.exe,4"
+ WriteRegStr HKCR "${REGFIT}\shell\open\command" "" "$\"$INSTDIR\GPXSee.exe$\" $\"%1$\""
+
System::Call 'shell32.dll::SHChangeNotify(i, i, i, i) v (0x08000000, 0, 0, 0)'
SectionEnd
@@ -149,6 +169,12 @@ Section "Uninstall"
; Remove GPX file association
DeleteRegKey HKCR "${REGGPX}"
DeleteRegKey HKCR ".gpx"
+ DeleteRegKey HKCR "${REGTCX}"
+ DeleteRegKey HKCR ".tcx"
+ DeleteRegKey HKCR "${REGKML}"
+ DeleteRegKey HKCR ".kml"
+ DeleteRegKey HKCR "${REGFIT}"
+ DeleteRegKey HKCR ".fit"
System::Call 'shell32.dll::SHChangeNotify(i, i, i, i) v (0x08000000, 0, 0, 0)'
SectionEnd
diff --git a/pkg/gpxsee64.nsi b/pkg/gpxsee64.nsi
index 4b5b4896..0f74e986 100644
--- a/pkg/gpxsee64.nsi
+++ b/pkg/gpxsee64.nsi
@@ -21,8 +21,11 @@ InstallDirRegKey HKLM "Software\GPXSee" "Install_Dir"
; Registry key for uninstaller
!define REGENTRY "Software\Microsoft\Windows\CurrentVersion\Uninstall\GPXSee"
-; GPX file type registry entry
-!define REGGPX "GPXSee.gpx"
+; File types registry entries
+!define REGGPX "GPXSee.gpx"
+!define REGTCX "GPXSee.tcx"
+!define REGKML "GPXSee.kml"
+!define REGFIT "GPXSee.fit"
; Start menu page configuration
!define MUI_STARTMENUPAGE_REGISTRY_ROOT "HKLM"
@@ -71,18 +74,6 @@ Section "GPXSee (required)" SEC_APP
File "gpxsee.exe"
File "maps.txt"
- ; Write the installation path into the registry
- WriteRegStr HKLM SOFTWARE\GPXSee "Install_Dir" "$INSTDIR"
-
- ; Write the uninstall keys for Windows
- WriteRegStr HKLM "${REGENTRY}" "DisplayName" "GPXSee"
- WriteRegStr HKLM "${REGENTRY}" "Publisher" "Martin Tuma"
- WriteRegStr HKLM "${REGENTRY}" "DisplayVersion" "${VERSION}"
- WriteRegStr HKLM "${REGENTRY}" "UninstallString" '"$INSTDIR\uninstall.exe"'
- WriteRegDWORD HKLM "${REGENTRY}" "NoModify" 1
- WriteRegDWORD HKLM "${REGENTRY}" "NoRepair" 1
- WriteUninstaller "$INSTDIR\uninstall.exe"
-
; Create start menu entry and add links
SetShellVarContext all
!insertmacro MUI_STARTMENU_WRITE_BEGIN Application
@@ -91,11 +82,40 @@ Section "GPXSee (required)" SEC_APP
CreateShortCut "$SMPROGRAMS\$StartMenuFolder\GPXSee.lnk" "$INSTDIR\gpxsee.exe"
!insertmacro MUI_STARTMENU_WRITE_END
- ; Associate .gpx files
+ ; Create the uninstaller
+ WriteUninstaller "$INSTDIR\uninstall.exe"
+
+ ; Write the installation path into the registry
+ DetailPrint "Registering application..."
+ WriteRegStr HKLM SOFTWARE\GPXSee "Install_Dir" "$INSTDIR"
+
+ ; Write the uninstall keys for Windows
+ WriteRegStr HKLM "${REGENTRY}" "DisplayName" "GPXSee"
+ WriteRegStr HKLM "${REGENTRY}" "Publisher" "Martin Tuma"
+ WriteRegStr HKLM "${REGENTRY}" "DisplayVersion" "${VERSION}"
+ WriteRegStr HKLM "${REGENTRY}" "UninstallString" '"$INSTDIR\uninstall.exe"'
+ WriteRegDWORD HKLM "${REGENTRY}" "NoModify" 1
+ WriteRegDWORD HKLM "${REGENTRY}" "NoRepair" 1
+
+ ; Associate file formats
+ DetailPrint "Associating file types..."
WriteRegStr HKCR ".gpx" "" "${REGGPX}"
WriteRegStr HKCR "${REGGPX}" "" "GPS Exchange Format"
WriteRegStr HKCR "${REGGPX}\DefaultIcon" "" "$INSTDIR\GPXSee.exe,1"
WriteRegStr HKCR "${REGGPX}\shell\open\command" "" "$\"$INSTDIR\GPXSee.exe$\" $\"%1$\""
+ WriteRegStr HKCR ".tcx" "" "${REGTCX}"
+ WriteRegStr HKCR "${REGTCX}" "" "Training Center XML"
+ WriteRegStr HKCR "${REGTCX}\DefaultIcon" "" "$INSTDIR\GPXSee.exe,2"
+ WriteRegStr HKCR "${REGTCX}\shell\open\command" "" "$\"$INSTDIR\GPXSee.exe$\" $\"%1$\""
+ WriteRegStr HKCR ".kml" "" "${REGKML}"
+ WriteRegStr HKCR "${REGKML}" "" "Keyhole Markup Language"
+ WriteRegStr HKCR "${REGKML}\DefaultIcon" "" "$INSTDIR\GPXSee.exe,3"
+ WriteRegStr HKCR "${REGKML}\shell\open\command" "" "$\"$INSTDIR\GPXSee.exe$\" $\"%1$\""
+ WriteRegStr HKCR ".fit" "" "${REGFIT}"
+ WriteRegStr HKCR "${REGFIT}" "" "Flexible and Interoperable Data Transfer"
+ WriteRegStr HKCR "${REGFIT}\DefaultIcon" "" "$INSTDIR\GPXSee.exe,4"
+ WriteRegStr HKCR "${REGFIT}\shell\open\command" "" "$\"$INSTDIR\GPXSee.exe$\" $\"%1$\""
+
System::Call 'shell32.dll::SHChangeNotify(i, i, i, i) v (0x08000000, 0, 0, 0)'
SectionEnd
@@ -150,9 +170,15 @@ Section "Uninstall"
Delete "$SMPROGRAMS\$StartMenuFolder\*.*"
RMDir "$SMPROGRAMS\$StartMenuFolder"
- ; Remove GPX file association
+ ; Remove File associations
DeleteRegKey HKCR "${REGGPX}"
DeleteRegKey HKCR ".gpx"
+ DeleteRegKey HKCR "${REGTCX}"
+ DeleteRegKey HKCR ".tcx"
+ DeleteRegKey HKCR "${REGKML}"
+ DeleteRegKey HKCR ".kml"
+ DeleteRegKey HKCR "${REGFIT}"
+ DeleteRegKey HKCR ".fit"
System::Call 'shell32.dll::SHChangeNotify(i, i, i, i) v (0x08000000, 0, 0, 0)'
SectionEnd