diff --git a/CMakeLists.txt b/CMakeLists.txt
index b002ece62..b8329d0b5 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -476,5 +476,12 @@ if(UNIX AND NOT APPLE)
install(FILES packaging/linux/icons/128x128/org.olivevideoeditor.Olive.png DESTINATION share/icons/hicolor/128x128/apps)
install(FILES packaging/linux/icons/256x256/org.olivevideoeditor.Olive.png DESTINATION share/icons/hicolor/256x256/apps)
install(FILES packaging/linux/icons/512x512/org.olivevideoeditor.Olive.png DESTINATION share/icons/hicolor/512x512/apps)
+ install(FILES packaging/linux/icons/16x16/application-vnd.olive-project.png DESTINATION share/icons/hicolor/16x16/mimetypes)
+ install(FILES packaging/linux/icons/32x32/application-vnd.olive-project.png DESTINATION share/icons/hicolor/32x32/mimetypes)
+ install(FILES packaging/linux/icons/48x48/application-vnd.olive-project.png DESTINATION share/icons/hicolor/48x48/mimetypes)
+ install(FILES packaging/linux/icons/64x64/application-vnd.olive-project.png DESTINATION share/icons/hicolor/64x64/mimetypes)
+ install(FILES packaging/linux/icons/128x128/application-vnd.olive-project.png DESTINATION share/icons/hicolor/128x128/mimetypes)
+ install(FILES packaging/linux/icons/256x256/application-vnd.olive-project.png DESTINATION share/icons/hicolor/256x256/mimetypes)
+ install(FILES packaging/linux/icons/512x512/application-vnd.olive-project.png DESTINATION share/icons/hicolor/512x512/mimetypes)
install(FILES ${OLIVE_QM_FILES} DESTINATION share/olive-editor/ts)
endif()
diff --git a/olive.pro b/olive.pro
index f0732106f..5882fef7b 100644
--- a/olive.pro
+++ b/olive.pro
@@ -380,5 +380,19 @@ unix:!mac {
icon256.path = $$PREFIX/share/icons/hicolor/256x256/apps
icon512.files = $$PWD/packaging/linux/icons/512x512/org.olivevideoeditor.Olive.png
icon512.path = $$PREFIX/share/icons/hicolor/512x512/apps
- INSTALLS += target effects translations metainfo desktop mime icon16 icon32 icon48 icon64 icon128 icon256 icon512
+ mime16.files = $$PWD/packaging/linux/icons/16x16/application-vnd.olive-project.png
+ mime16.path = $$PREFIX/share/icons/hicolor/16x16/mimetypes
+ mime32.files = $$PWD/packaging/linux/icons/32x32/application-vnd.olive-project.png
+ mime32.path = $$PREFIX/share/icons/hicolor/32x32/mimetypes
+ mime48.files = $$PWD/packaging/linux/icons/48x48/application-vnd.olive-project.png
+ mime48.path = $$PREFIX/share/icons/hicolor/48x48/mimetypes
+ mime64.files = $$PWD/packaging/linux/icons/64x64/application-vnd.olive-project.png
+ mime64.path = $$PREFIX/share/icons/hicolor/64x64/mimetypes
+ mime128.files = $$PWD/packaging/linux/icons/128x128/application-vnd.olive-project.png
+ mime128.path = $$PREFIX/share/icons/hicolor/128x128/mimetypes
+ mime256.files = $$PWD/packaging/linux/icons/256x256/application-vnd.olive-project.png
+ mime256.path = $$PREFIX/share/icons/hicolor/256x256/mimetypes
+ mime512.files = $$PWD/packaging/linux/icons/512x512/application-vnd.olive-project.png
+ mime512.path = $$PREFIX/share/icons/hicolor/512x512/mimetypes
+ INSTALLS += target effects translations metainfo desktop mime icon16 icon32 icon48 icon64 icon128 icon256 icon512 mime16 mime32 mime48 mime64 mime128 mime256 mime512
}
diff --git a/packaging/linux/icons/128x128/application-vnd.olive-project.png b/packaging/linux/icons/128x128/application-vnd.olive-project.png
new file mode 100644
index 000000000..08fe25864
Binary files /dev/null and b/packaging/linux/icons/128x128/application-vnd.olive-project.png differ
diff --git a/packaging/linux/icons/16x16/application-vnd.olive-project.png b/packaging/linux/icons/16x16/application-vnd.olive-project.png
new file mode 100644
index 000000000..294c78a91
Binary files /dev/null and b/packaging/linux/icons/16x16/application-vnd.olive-project.png differ
diff --git a/packaging/linux/icons/256x256/application-vnd.olive-project.png b/packaging/linux/icons/256x256/application-vnd.olive-project.png
new file mode 100644
index 000000000..939d5da7b
Binary files /dev/null and b/packaging/linux/icons/256x256/application-vnd.olive-project.png differ
diff --git a/packaging/linux/icons/32x32/application-vnd.olive-project.png b/packaging/linux/icons/32x32/application-vnd.olive-project.png
new file mode 100644
index 000000000..b9f736a27
Binary files /dev/null and b/packaging/linux/icons/32x32/application-vnd.olive-project.png differ
diff --git a/packaging/linux/icons/48x48/application-vnd.olive-project.png b/packaging/linux/icons/48x48/application-vnd.olive-project.png
new file mode 100644
index 000000000..780b7929b
Binary files /dev/null and b/packaging/linux/icons/48x48/application-vnd.olive-project.png differ
diff --git a/packaging/linux/icons/512x512/application-vnd.olive-project.png b/packaging/linux/icons/512x512/application-vnd.olive-project.png
new file mode 100644
index 000000000..bd9457cf6
Binary files /dev/null and b/packaging/linux/icons/512x512/application-vnd.olive-project.png differ
diff --git a/packaging/linux/icons/64x64/application-vnd.olive-project.png b/packaging/linux/icons/64x64/application-vnd.olive-project.png
new file mode 100644
index 000000000..276e3d009
Binary files /dev/null and b/packaging/linux/icons/64x64/application-vnd.olive-project.png differ
diff --git a/packaging/linux/org.olivevideoeditor.Olive.xml b/packaging/linux/org.olivevideoeditor.Olive.xml
index 418f4a795..df8e8e517 100644
--- a/packaging/linux/org.olivevideoeditor.Olive.xml
+++ b/packaging/linux/org.olivevideoeditor.Olive.xml
@@ -3,6 +3,5 @@
Olive project
-
diff --git a/packaging/windows/nsis/olive.nsi b/packaging/windows/nsis/olive.nsi
index 90e51d8d2..ba367c69b 100644
--- a/packaging/windows/nsis/olive.nsi
+++ b/packaging/windows/nsis/olive.nsi
@@ -54,6 +54,15 @@ Section "Create Start Menu shortcut"
CreateShortCut "$SMPROGRAMS\${APP_NAME}\Uninstall ${APP_NAME}.lnk" "$INSTDIR\uninstall.exe"
SectionEnd
+Section "Associate *.ove files with Olive"
+ WriteRegStr HKCR ".ove" "" "OliveEditor.OVEFile"
+ WriteRegStr HKCR ".ove" "Content Type" "application/vnd.olive-project"
+ WriteRegStr HKCR "OliveEditor.OVEFile" "" "Olive project file"
+ WriteRegStr HKCR "OliveEditor.OVEFile\DefaultIcon" "" "$INSTDIR\olive-editor.exe,1"
+ WriteRegStr HKCR "OliveEditor.OVEFile\shell\open\command" "" "$\"$INSTDIR\olive-editor.exe$\" $\"%1$\""
+ System::Call 'shell32.dll::SHChangeNotify(i, i, i, i) v (0x08000000, 0, 0, 0)'
+SectionEnd
+
UninstPage uninstConfirm
UninstPage instfiles
@@ -63,7 +72,12 @@ Section "uninstall"
Delete "$DESKTOP\${APP_NAME}.lnk"
rmdir /r "$SMPROGRAMS\${APP_NAME}"
-
+
+ DeleteRegKey HKCR ".ove"
+ DeleteRegKey HKCR "OliveEditor.OVEFile"
+ DeleteRegKey HKCR "OliveEditor.OVEFile\DefaultIcon" ""
+ DeleteRegKey HKCR "OliveEditor.OVEFile\shell\open\command" ""
+ System::Call 'shell32.dll::SHChangeNotify(i, i, i, i) v (0x08000000, 0, 0, 0)'
SectionEnd
Function LaunchOlive
diff --git a/packaging/windows/olive_ove.ico b/packaging/windows/olive_ove.ico
new file mode 100644
index 000000000..36d10a304
Binary files /dev/null and b/packaging/windows/olive_ove.ico differ
diff --git a/packaging/windows/resources.rc b/packaging/windows/resources.rc
index dcc2fd815..16f1262dc 100644
--- a/packaging/windows/resources.rc
+++ b/packaging/windows/resources.rc
@@ -1,4 +1,5 @@
IDI_ICON1 ICON DISCARDABLE "olive.ico"
+IDI_ICON2 ICON DISCARDABLE "olive_ove.ico"
#include
#include "version.h"